MATLAB Answers

How to choose solver for a system that is stiff, partly continuous, partly discrete and has both Simulink and Simscape components?

1 view (last 30 days)
Mattias Granström
Mattias Granström on 17 Mar 2021
Answered: Juan Sagarduy on 22 Mar 2021
I have been tasked with creating a simulation model for a current controller connected to a three-phase inverter and a PMSM. The current controller is implemented with standard Simulink blocks. It should be discrete and operate at a frequency of 8 kHz. Thus a fixed step size of 1.25e-4 s is suitable for that part of the model. However, the model of the inverter and the PMSM should be continuous and modeled with Simscape components. Six N-Channel IGBT components should be used for the inverter and it is necessary to capture the dynamics of the transistors. Therefore, a small step size is necessary (maybe around 1e-8 s). Trying to simulate this, no matter the solver, typically results in either an error in the nonlinear solver (failed to converge) or the simulation running extremely slowly. I realize the slow simulation time might be a necessity to capture the fast dynamics, but i still wonder what the best way would be to configure the solver for this case? Would it help to separate the controller and the physical system into separate models and use the Model block in a third model to call them?

Answers (1)

Juan Sagarduy
Juan Sagarduy on 22 Mar 2021
Hello Mattias
I think that a fixed step solver for Simscape (Local Solver) would help increasing performance.
Try 1us or 100ns with accelerator mode on. Then, you need to see if fidelity is sufficient.
Best Regards Juan

Community Treasure Hunt

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

Start Hunting!