Why does my model containing SimDriveline blocks produce algebraic loop warnings in SimDriveline 1.0.1 (R14SP1)?

1 view (last 30 days)
I have a model which simulates a powertrain system using SimDriveline. Although there does not seem to be any algebraic loop in the model from standard Simulink blocks, the SimDriveline blocks themselves seem to introduce an algebraic loop.
Why does this occur? Can I eliminate this algebraic loop from my model?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 28 Dec 2012
This enhancement has been incorporated in Release 2008a (R2008a). For previous product releases, read below for any possible workarounds:
The algebraic loop is a result of the mode iteration needed to solve for the clutch states of the driveline clutches. In a driveline system, a change in a single clutch state has the potential to lock or unlock other clutches in the system. The process could repeat.
To resolve the clutch states, SimDriveline performs a mode iteration in order to reach the steady-state clutch configuration. In order to do this, the simulation time must be halted while this self-consistent clutch state is found through an algebraic loop. Because simulation time is halted, this mode iteration is not available in generated code versions of models subject to strict real-time requirements. Without mode iteration, the solution to the clutch state is found instead by searching over multiple time steps.
This requirement has the potential to produce in generated code results different from Simulink simulations. You can get a closer match between simulations and generated code by specifying a fixed-step solver in Simulink and disabling mode iteration. Note that you should disable this mode loop only if each clutch is controlled by external signals.
You can disable the algebraic loop by selecting the "Disable mode iteration for clutch locking" option in the Driveline Environment block.
For more information regarding this, you can reference an example in the "Running the Model Without Clutch Mode Iteration" section of the documentation. Access this section by copy/pasting the following command at the MATLAB Command Prompt:
<http://www.mathworks.com/help/releases/R14/toolbox/physmod/drive/a1068663651.html>

More Answers (0)

Categories

Find more on Simscape Driveline in Help Center and File Exchange

Products


Release

R14SP1

Community Treasure Hunt

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

Start Hunting!