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

Infinite simulation time

Infinite simulation time

Hi,

I am trying to create a model of a 3 phase AC EMF component similar to the Modelica.Electrical.Analog.Basic.EMF component.
The EMF3 component, as I have named it, seems to work until the component reaches steady state (emf31.w stabilizes).

The component reaches steady state when simulation time has passed 10s.
This means that when running simulate from OMEdit with stopTime = 10, then the simulation returns with a result.
But if you run the same simulation, only now with stopTime = 11s the OMEdit Simulation dialog newer returns, but instead hangs forever.
See https://docs.google.com/folder/d/0B-y_X … huX1U/edit for the files (for some reason I cannot attach files therefore this link instead).

Can someone explain why OMEdit does not return when stopTime = 11s?


/Klaus

Re: Infinite simulation time

Hi,

I ran the executable from command line
./EMF3Test.exe -lv LOG_SOLVER,LOG_EVENTS
and it seems the solver enters into some sort of loop with the event handling generated by zero crossings from these 2 equations:

Code:


  bearingfriction1.startForward = pre(bearingfriction1.mode) == 0 and (bearingfriction1.sa > bearingfriction1.tau0_max or pre(bearingfriction1.startForward) and bearingfriction1.sa > bearingfriction1.tau0) or pre(bearingfriction1.mode) == -1 and bearingfriction1.w_relfric > bearingfriction1.w_small or initial() and bearingfriction1.w_relfric > 0.0;
  bearingfriction1.startBackward = pre(bearingfriction1.mode) == 0 and (bearingfriction1.sa < (-bearingfriction1.tau0_max) or pre(bearingfriction1.startBackward) and bearingfriction1.sa < (-bearingfriction1.tau0)) or pre(bearingfriction1.mode) == 1 and bearingfriction1.w_relfric < (-bearingfriction1.w_small) or initial() and bearingfriction1.w_relfric < 0.0;

Why this happens only the back-end and simulation runtime developers can answer (hopefully soon).

Part of the problem might be in the tau_pos = [0,0.001;5,0.005]. I changed it to tau_pos = [0,0.001;5,1] and then it works fine, but I'm not a modeler so I don't know.

Cheers,
Adrian Pop/

Re: Infinite simulation time

Hi Adrian,

Thanks for your reply.
Unfortunately the fix of changing the friction is not applicable as the motor does not have a friction of 1nm (effect of changing  tau_pos = [0,0.001;5,0.005] to tau_pos = [0,0.001;5,1]).

I am looking forward to a response from the backend developers you refer to :-)

/Klaus

Re: Infinite simulation time

Ok. I sent an email to the back-end developers and they will hopefully answer.
Note that we're quite busy with other things so it might take a while.

Cheers,
Adrian Pop/

Re: Infinite simulation time

Hi again,

We now added a bug report for this here:
https://trac.openmodelica.org/OpenModelica/ticket/1866
Hopefully it will be fixed soon.

Cheers,
Adrian Pop/

Re: Infinite simulation time

is fixed in r13555

There are 0 guests and 0 other users also viewing this topic