Where is the algebraic loop? How to get rid of it?
2 views (last 30 days)
Show older comments
I want to simulate a simple feedback amplifier in Simulink:
where the "Open Loop Amplifier" looks as follows:
Most of the time I get "Simulink cannot solve the algebraic loop containing '...' at time 4.1951420214177304E-9 using the TrustRegion-based algorithm due to one of the following reasons: the model is ill-defined i.e., the system equations do not have a solution; or the nonlinear equation solver failed to converge due to numerical issues.
for fixed step as well as variable step.
I built exactly the same model in a Spice simulator where it works flawlessly without any issues. For that reason I do not see what's the problem. There are dyanmic elements in the loop such that there should be no "algebraic loop".
But in any case ... How do I get (reliably) rid of this error in this setup?
It is important to note that sometimes I may be able to avoid this by inserting some high frequency filters or adjusting simulation parameters but not reproducible and not reliably.
For example, inserting 1/(1+10e-12 s) directly after "Vin" in the open loop amplifier block gets rid of the error but then I run into "Derivative of state '1' in block '...' at time 3.9498179964744583E-9 is not finite." errors.
No matter where I place these, I either get algebraic loop of derivative not zero errors.
(No, 10e-12 is not too small - it is only a factor of 10 smaller than the smallest dynamic)
2 Comments
Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!