Simscape/Simulink algebraic loop causing trouble?
2 views (last 30 days)
Show older comments
Hi all,
I have created a 2 degree of freedom model of an engine driving a propeller with a 'flexible crankshaft' modelled in simscape. The input toqrue from the engine is a funciton of its angular displacement
(numerically interpolated and loaded from an external .mat file) and to complete the torque balance, the resistive torque at the propeller is a function of the propeller's anglar velocity to the power of 1.7 times a constant L. See below:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/243735/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/243610/image.png)
Naturally, due to the dependence of the above torque functions to
and
, this implies that I have designed my model with feedback. However in the case of the propeller something appears to be going wrong, as the angular velocity feedback does not seem to get incorporated correctly into simscape, and as proof of that, when i measure the relative angular displacement of the engine and propeller, the result is zero! (see below the propeller Simscape diagram):
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/243736/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/243735/image.png)
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/243613/image.png)
What I have tried so far:
- I have tried modelling the resistive torque for the propeller torque as a nonlinear damping term in the place of the linear damping term that I currently have, and used the a lookup table option, however the simulation is painfully slow (about half an hour).
- I have tried including the circled part in Simscape without going to simulink (after having read this https://uk.mathworks.com/help/physmod/simscape/ug/limitations.html , however the simulation was also extremely slow.
- EDIT: I have tried changing the solver from the solver configuration block by ticking the 'use local solver' box, and running backward Euler. After the warning for an algebraic loop was given to me I introduced the 1/(s+1) transfer function on the highlighted loops to see if the loops were broken. Indeed no warning was given for the loop, but the relative displacement between my 2 degrees of freedom was zero again....
So I am lead to believe that there must be a problem with an algebraic loop that I either don't comprehend how to treat, or I am not modeling my system correctly in simscape to correspond to the physical system. The funny thing is that I have managed to solve the system as a system of ODEs using matrices, so there definitely is a solution to it, and simscape should not struggle for it. So any ideas on the above?
Thanks for your help in advance,
KMT.
P.S.
You can find attached the model and its respective .mat file in case you need it.
0 Comments
Answers (0)
See Also
Categories
Find more on Get Started with Simscape in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!