Derived is infinite or NaN in hot simulation

When using PLECS 4.7.4 software to perform thermal simulation on the inverter, I found that the temperature of the device would continuously rise to infinity. However, I removed the relevant settings for thermal simulation and only performed electrical simulation, and the circuit was running normally. I would like to know how to handle this issue so that my thermal simulation can run normally.

You have correctly diagnosed the problem in that you have thermal runaway in your circuit. There are several factors that can contribute to this. Ensuring the electrical model is reasonable is a good first step. Without a model it is difficult to debug. Furthermore it could be a simulation error (e.g. incorrect entry of thermal impedance, your upper and lower H-Bridges are not on a common heatsinks) or a design issue (you are not using an appropriately rated device or require a bigger heatsink).

I can provide the following general guidance:

  • Are your devices rated appropriately for your circuit based on the switch stress?
  • Are the device thermal impedances reasonable given the datasheet?
  • Is the “Thermal Chain” component in your model appropriate or is the thermal resistance too high?
  • Where is the thermal model from? Did you develop it yourself or are you using a vendor supplied model? Do the conduction and switching loss values make sense given the data sheet specifications?
  • Could there be a unit scaling issue (e.g. switching loss unit is Joules instead of mJ or uJ)?
  • Is the thermal structure correct (i.e. upper and lower bridges are not on a common heatsink)?
  • Is there an electrical transient at startup that could over-stress the devices beyond their safe operating area?

See this forum post as well for guidance.

Hi Bryan,

My topogy has an electrical transient at start up, and the current is big so the temperature is very high.And it shows i=NaN. What should I do? Thank you very much for your help.

The thermal model responds to the electrical conditions in your circuit. This should be modeled as these currents would likely destroy your physical devices as well.

Three approaches to resolve the error come to mind:

  1. You can add a start-up sequence / circuit. For example to have a current limiting resistor during the initial startup that you switch out of the circuit once reasonable initial conditions are reached.
  2. I believe by setting appropriate initial values for the capacitors and inductors in your circuit you should be able to minimize the start-up transient. A simple way to do this is to temporarily disable the thermal circuit, run the simulation, and note the values for the capacitor voltages and inductor currents. A more robust approach would be to analytically calculate the initial conditions.
  3. Steady-state analysis in PLECS iteratively finds the correct steady-state conditions and will bypass all initial transients. I’m including this for the sake of completeness, as I suspect it will have some issues in your model. Specifically, a) if the initial conditions of your circuit are far off it may be the case that your steady-state analysis will not converge and b) I also note that your controls seem to be implemented in a C-Script, and so proper managing of C-Script states is also required.
1 Like

Thank you very much for your help.