Where is the algebraic loop? How to get rid of it?

2 views (last 30 days)
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)

Answers (0)

Categories

Find more on Modeling in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!