Not enough input derivatives were provided for one or more Simulink-PS Converter blocks for the solver chosen.

32 views (last 30 days)
This is my simulink diagram and below is the signalbuilder picture.
This is the error i am getting:

Answers (1)

Pratyush Roy
Pratyush Roy on 5 Jan 2022
Hi Chitanya,
The error stems from how Simscape is solved. Simscape stores states (for multiples derivatives) for each relevant domain variable (current and voltage, torque and velocity, etc) at each Physical Signal line in the model. The solver uses constituent equations for each block to figure out how to calculate the variables states at each point for each time step.
However, when you convert to Simulink with the PS-Simulink converter, it turns this reduces the states into one signal. Thus once the Simulink-PS converter only has partial information of the original Physical Signal, and Simscape cannot solve the circuit.
There are a couple of solutions to solve this problem.
  1. You may filter the inputs in the Simulink-PS Converter block. You will need to look at the frequencies of these signals to determine what an appropriate time constant would be.
  • Even with input filtering, this may require choosing a different solver, since some require different numbers of required derivatives. Try the ones recommended by the solver. Those are typically good for Simscape solutions.
  • You can also try providing derivatives, but it can often lead to additional errors with solving.
  1. You could create the subsystem using Simscape components instead of Simulink components. There is a more limited blockset, but it has many essentials. You may also use option 3 to fill in the gaps
  2. You could create a custom Simscape block, where you programmatically define the relevant variables and equations required for the model.
There is another possible problem that can occur that seems less directly related to this error message even though it results in this same message. Sometimes, improper Simulink modeling techniques can lead to the solver failing on simulation, and blaming the signal at the Simulink-PS interface. For instance, if you are driving a DC motor without enough inverters, there may be too much current for the MOSFETS. This could lead to a massive rise in temperature (10^8 Kelvin), which will cause the solver trouble. In this case, adding inverters in parallel brought temperatures down to 900K and solved the issue.
Hope this helps!

Categories

Find more on Physical Units in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!