More about the Simulink algebraic loop solvers?

2 views (last 30 days)
Dear all
The solvers that Simulink uses to break algebraic loops seem to be really efficient.
But I need to disable the automatic algebraic loop solver and to do it by myself (by adding a memory or a low pass filter etc.) because I want to keep track of what's happening inside my implementation. The problem is that without the Simulink solver my results are really noisy (numerical damped noise oscillating at the simulation frequency, like a ringing artifact) and I cannot tolerate the error induced by this noise.
So I want to know more about the solvers that Matlab uses (the idea behind them if Mathworks cannot reveal the code), I didn't find that much about them on the net...
Any other suggestions about how to solve algebraic loops would also be really helpful, thank you very much!
Jawhar

Accepted Answer

Jeevan Joishi
Jeevan Joishi on 7 Apr 2016
More information could be found on this link. What it says that it tries to run for some/few iterations to see if the loop can converge. If it does then good enough, but if it does not then it throws an error. It is then left to the user to add some delay/memory blocks to kind of break the loop.
Alternatively, you could set the diagnostics to error out when an algebraic loop is detected instead of giving a warning and attempting to continue forward. This will point you to the location where the loop is detected and you may then introduce some blocks manually.
Although, this link does mentions about LineSearch and TrustRegion as types of AlgebraicLoopSolver, I believe you will have to raise a query with the Technical Support to understand it better.
  1 Comment
Jawhar Chebbi
Jawhar Chebbi on 7 Apr 2016
Thank you Jeevan for your answer.
You are right I asked the technical support yesterday and they gave some hints. I will try to understand what is done inside the solvers so that I can maybe build something similar...

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!