Partial shading system has a derivate state error

1 view (last 30 days)
Hi Ms, I started to test a partial shading model (an example belonging to Matworks https://es.mathworks.com/help/physmod/sps/examples/partial-shading-of-a-pv-module.html), but when I included to the model the Buck converter it crashed out and give me back an error message related to the follows:
An error occurred while running the simulation and the simulation was terminated
Caused by:
Derivative of state '1' in block 'power_PVArray_PartialShading2/PV cells 65-96/Diode Rsh/BAL/Transfer Fcn' at time 0.0 is not finite. The simulation will be stopped. There may be a singularity in the solution. If not, try reducing the step size (either by reducing the fixed step size or by tightening the error tolerances)
By recommendations of a support technician, I had testing some insights about how to roundabout or avoid this issue produced in my experimentation with a MATLAB example, these were the steps recommended to me in order to overcome the problem:
"... you can try the steps listed below.
1-Open the model and do all the initialization procedures. 2-Change the solver type to fixed step and run the model(Simulation will fail). 3-Again change the solver type to variable-step and run the model."
Unfortunately, afterwards I had noticed that works ONLY when I keep the POWERGUI to "Fixed", whether you change it to "continous" I will have the same error and the simulation won't run.
Another thing that for me is quite strange it is the behavior of the system when I added to it a Power Converter (buck) as it in the model, I can observe it is with a fixed "duty cycle", and just adding this to the model appears all the issues in there. Because if you take it off yo will be able to observe the I and V measured by the scope 1, but if you include it again you won't have any signals. Could anyone of you explain me whats the problem it is?

Accepted Answer

Sabin
Sabin on 22 Dec 2022
This error happens when very large or infinite values are fed to integrator blocks, e.g., due to a division by zero (1/0 = inf). Solvers have problems integrating such values. Also, models that are unstable or on the edge can quickly accumulate. To debug this, might be useful to use Port Value Displays and Step Through a Simulation to understand what is happening. Solver Profiler can also give good indications about what is going on in terms of zero crossings, resets, stiffness, etc..

More Answers (0)

Categories

Find more on Variable Initialization in Help Center and File Exchange

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!