Archived OpenModelica forums. Posting is disabled.

Alternative forums include GitHub discussions or StackOverflow (make sure to read the Stack Overflow rules; you need to have well-formed questions)


Forgot password? | Forgot username? | Register

Problem with the DASSL Solver (Root-Finding)

Problem with the DASSL Solver (Root-Finding)

Hello,

I am simulating the so-called 6-step control of a 3 phase BLDC motor using OpenModelica (see image 1). The motor is connected in star and it is running in a PWM mode with the constant duty-cycle (0-1). The commutation frequency is set to 20KHz. When the duty cycle is 1 the simulations are running without any problem. See attached images. I have made similar model in TwinBuilder from Ansys using the available libraries. And the results are almost identical (see image 4).   


When running the same simulation with duty-cycle smaller than 1, e.g. 0.8 the DASSL solver freezes at 58%! See image 5. However, the exported FMU model works fine in FMpy! By shortening the simulation time to 0.025s the DASSL solver runs fine even for duty-cycles smaller than 1.

When turning-off the root-finding option the simulation runs to 100%. The results are identical to those with root-finding turned-on which run only up to 0.025s.
I have made some tests and it looks like that the problem are the fly-back diodes in the inverter. If I leave them out from the simulation the solver runs fine again for every duty-cycle and for long simulations.

Why does the DASSL root-finding option blocks the solver for longer simulations? Is there a way to run long switching intensive simulations with root-finding option turned on?

Sorry for uploading images in a singl PFD file. I tried to upload JPEG images but it didnt work.

Thanks for your help.
Mladen

images.pdf

Attachments:
There are 0 guests and 0 other users also viewing this topic
You are here: