Algebraic Loops with FMU
5 views (last 30 days)
Show older comments
When connecting FMUs in co-simulation mode in a loop an algebraic loop errors occurs, which causes termination of simulation. Therefore, I assume Simulink identifies the FMU-blocks as direct feedthrough. In the FMI 3.0 specification it is stated, that there cannot be a direct feedthough in Co-Simulation, as the step-size has to be greater that 0. Why does Simulink handle FMUs in co-simulation mode as direct feedthrough (and not like integrator blocks instead)?
Unfortunately I could not find anything regarding how the C-API functions of the FMUs are called by the Simulink discrete fixed-step solver.
0 Comments
Answers (1)
Ashutosh Thakur
on 17 Jun 2024
Hi Julian,
In Simulink, FMU blocks are treated as standalone entities, so they do not contain all the information related to the states from the original model from which they were created. The use of feedback signals can result in an Algebraic Loop during simulation.
Introducing Unit Delay blocks in the Simulink model can resolve the Algebraic Loop. However, the introduction of Unit Delay blocks can affect the system's dynamics and potentially distort the results. You can refer to the following documentation link for assistance in resolving issues related to Algebraic Loops: https://www.mathworks.com/help/simulink/ug/algebraic-loops.html.
I hope this information helps you.
3 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!