Algebric loop error in simulink model of PV string having 3 modules

2 次查看(过去 30 天)
Error:An error occurred while running the simulation and the simulation was terminated
Caused by:
Simulink cannot solve the algebraic loop containing 'SSJ_3PV_PI/PV Module 3/Diode Rsh/Product5' at time 0.07233 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.
To rule out solver convergence as the cause of this error, follow either of the suggested actions. If the error persists in spite of the following changes, then the model is likely ill-defined and requires modification.
Suggested Actions:
Reduce the Fixed-step size of the solver.
How to go around this error. I am running the simulation in discrete domain with 1e-5 sample time, fixed step size 5e-6 solver. All other sample time 0.0001s and MPPT output sample time is kept 0.00001 because it is fed back to the function input. SO it is kept 10 times smaller so that it can update in each step. otherwise if the sample times are same, the algorithm gets stuck.

回答(2 个)

Yoshi Minagawa
Yoshi Minagawa 2025-4-22
Hi Abhishek,
It’s likely that the error is being caused by the presence of an algebraic loop in your model. When an algebraic loop exists, Simulink tries to solve it through iterative calculations. This not only slows down processing, but if the solution does not converge, the simulation will stop with an error.
Since your model is discrete, I recommend identifying the algebraic loop and inserting a one-sample delay in the feedback loop using a Unit Delay or Delay block.

Harsh
Harsh 2025-5-7
I understand that you are encountering an algebraic loop error when executing your Simulink model.
I agree with the points Yoshi has raised and recommend reviewing the following MATLAB Answers post to better understand how to resolve algebraic loops:
If your model includes co-simulation components such as C MEX S-functions or Co-Simulation FMU blocks, you can use Numerical Compensation as a workaround. You can learn more about this approach here:
Please note that to use Numerical Compensation, your model must meet the prerequisites outlined in the first section of the linked documentation.
I hope this helps, thanks!

类别

Help CenterFile Exchange 中查找有关 Discontinuities 的更多信息

产品


版本

R2023b

Community Treasure Hunt

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

Start Hunting!

Translated by