Solver configuration error concerning an algebraic loop in double fed induction machine control model.
4 次查看(过去 30 天)
显示 更早的评论
Good evening.
I am modelling a double fed induction machine in simulink, using simscape for physical components such as stator and rotor sources as well as the DFIG, and simulink for the control block. However when I run the program it gives the following error I show below concerning de Solver Confguration. Any ideas on how to solve it?
Error:'dfig_control_rotor/Solver Configuration' or the model referenced by it contains a block that updates persistent or state variables while computing outputs and is not supported in an algebraic loop. It is in an algebraic loop with the following blocks.
Error:'dfig_control_rotor/Solver Configuration' or the model referenced by it contains a block that updates persistent or state variables while computing outputs and is not supported in an algebraic loop. It is in an algebraic loop with the following blocks.
And many more but I guess the main problem is here.
Thanks in advance.
0 个评论
回答(1 个)
Himanshu
2024-7-11
Hi,
I see that you are trying to model a double fed induction machine (DFIM) in Simulink using Simscape for the physical components and Simulink for the control block. You are encountering an error related to the Solver Configuration, which is likely due to the presence of algebraic loops.
An algebraic loop occurs when there is a circular dependency of signals in your model, meaning that the output of a block depends on its input in a way that forms a loop. This can cause issues with the solver, especially if blocks update persistent or state variables while computing outputs.
To resolve this issue, you need to identify and break the algebraic loop in your model. Use the "getAlgebraicLoops" Simulink function to identify algebraic loops in your model. This can be done by using the following command in MATLAB:
Simulink.BlockDiagram.getAlgebraicLoops(mdl);
Once you have identified the loop, you can break it by introducing a delay by Inserting a Unit Delay Block in the loop to break the direct dependency.
Ensure that your solver settings are appropriate for handling the dynamics of your model. Sometimes, using a different solver or adjusting solver parameters can help.
Please refer to the below documentations to learn how to identify and remove algebraic loops in a complex system:
I hope this helps.
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Magnetic Elements 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!