cancel
Showing results for 
Search instead for 
Did you mean: 

Algebraic loop is causing strange result

Creator
Creator

Hi!
When I am testing some algebraic loops
I found some strange thing


here is that example

 

02.png

 

 

 

first, modeling using above information

then, result is normal

 

03.png   

  


but, adding some simple algebraic loops like this
(my original algorithm is more complicated,
but simplify for this example)

 

 

01.png

 

then, sine signal is crushed

 

 

04.png

 

Why this thing is happening?
Why that algebraic loops influence other component??

2 REPLIES

Re: Algebraic loop is causing strange result

Siemens Genius Siemens Genius
Siemens Genius

Hi @Kuro

 

Using the option "minimal discontinuity handling" in the run parameters is always a bit dangerous.

Using this option LMS Imagine.Lab Amesim will try to ignore discontinuities which have no direct influence on the state variables.

 

Then the second thing is when you put an algebraic loop, the LMS Imagine.Lab Amesim solver will be completely different as when you have no implicit state variables in the system.

In the first case you even have no state variables in the system, so in this case the solver will take a time step no bigger than 0.1 s. It allows to not miss discontinuities which should be normally missed (because you use the option minimal discontinuity handling).

In the second case you have an implicit state variables and the discontinuity occuring has no influence on the only state variable, so the solver misses some of them.

 

Generally speaking you should always try to avoid "minimal discontinuty handling" in the run parameters, because you cannot really know at which point discontinuities will be ignored (or you really need to be sure of what you are doing).

 

If you have discontinuity issues it is better to understand why and act locally where these issues occur.

You will find more information on it in the following link.

 

Kind regards

Re: Algebraic loop is causing strange result

Siemens Experimenter Siemens Experimenter
Siemens Experimenter

Hi,

 

As already said using Minimal Disc. Handling might lead to bad event detection and thus innacurate results.

In your case the system is so simple that the solver will take big steps, and this coupled to minimal disc. handling will trigger events on times that are not corresponding to the times these events appeared.

 

Of course you can simply get more accurate results by limiting the step size and then recover original results you got without alg. loop (cf attached file when limiting time step to 0.01s).

compar_step_limit.png

 

Concerning your original question, introducing an algebraic loop lead to the use of different solving method and thus different time stepping schemes : the time stepping used in the latest case is not the same that one would use in the case where no algebraic loop occurs. That explains why in the 2nd case, results are more sensitive to the run parameters (like disc. handling) than in 1st case. It doesn't mean that 2nd time stepping scheme is leading to less accurate results, but it might be more sensitive to other run parameters.

 

Anyway, as already answered, using min. disc hanling is generally not a good idea if you want to get accurate results.

 

 

Regards