This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Simulate Thermal Effects Using Simscape Electrical Thermal Blocks


This example requires a simulation log variable in your MATLAB® workspace. The model in this example is configured to log Simscape™ data for the whole model for the entire simulation time.

To learn how to determine if a model is configured to log simulation data, see Examine the Simulation Data Logging Configuration of a Model.

Thermal Variants

Thermal modeling provides data that helps you to estimate cooling requirements for your system. The nonideal blocks in the Simscape Electrical™ Semiconductors & Converters library has thermal variants that allow you to determine device temperatures by simulating heat generation. For example, the IGBT (Ideal, Switching) block, which models a three-terminal semiconductor device, has thermal variants that can simulate the heat generated by switching events and conduction losses. Selecting a thermal variant for a block adds a thermal port to the block and enables the associated thermal-modeling parameters.

Thermal Blocks

In the Simscape Electrical Passive library, the Thermal sublibrary contains blocks that allow you to model heat transfer using thermal variants:

  • Cauer Thermal Model Element — A thermal component that, in a series connection, models heat transfer as a function of the thermal characteristics of the individual physical components and materials, for example, a chip, solder, and base that make up a semiconductor.

  • Foster Thermal Model — A thermal component that models heat transfer as a function of the thermal characteristics of a semiconductor.

  • Thermal Resistor — A thermal interface resistance component that models conductive heat transfer through a layer of material. Use the Thermal Resistor block to parameterize heat transfer using the thermal resistance value of the material.

Thermal Ports

Thermal ports are physical conserving ports in the Simscape thermal domain. Thermal ports on Simscape Electrical semiconductors are associated with temperature and heat flow. The figure shows a thermal port on a thermal variant of the IGBT (Ideal, Switching) block.

Thermal ports are associated with temperature and heat flow which are the Across and Through variables of the Simscape thermal domain. To measure thermal variables, you can use one or both of these methods:

  1. Log simulation data using a Simscape logging node. View the data using the sscexplore function.

  2. Add a sensor from the Simscape > Foundation Library > Thermal > Thermal Sensors library to your model. To measure temperature, use a parallel-connected Ideal Temperature Sensor block. To measure heat flow, use a series-connected Ideal Heat Flow Sensor block.

There are several advantages to using data logging for desktop simulation. Data logging is less computationally costly than using a sensor block and it allows you to:

  • View post-simulation results easily using the Simscape Results Explorer.

  • Output data easily to the MATLAB Workspace for post-processing analysis.

However, if you use only data logging to measure a variable, you cannot output a feedback signal for that variable to a control system during simulation as you can when you use only a sensor to measure the variable. Also, because data logging is not supported for code generation, you cannot use Simscape data logging when you perform real-time simulation on target hardware.

Thermal-Modeling Parameters

Thermal-modeling parameters are device-specific characteristics that determine how much heat a block generates during simulation. When you select a thermal variant for a Diode, no additional parameters are enabled because the default variant includes all parameters necessary to model conduction loss. When you select a thermal variant for a three-terminal semiconductor block, additional thermal-modeling parameters are enabled because the default variant does not include parameters necessary to model switching losses.

Three-terminal semiconductors allow you to parameterize thermal losses based on Voltage and current or on Voltage, current, and temperature. If you parameterize thermal characteristics based only on voltage and current, use scalar values to specify these parameters:

  • Output current

  • Switch-on loss

  • Switch-off loss

  • On-state voltage

If you parameterize thermal losses based on Voltage, current, and temperature, use vectors to specify the temperature, output current, switching losses, and on-state voltage.


Even though simulating thermal losses generates information about the thermal state of a block, thermal dynamics do not affect the electrical behavior of Simscape Electrical blocks during simulation.

Model Thermal Losses for a Rectifier

Model Heat Transfer for a Single Rectifier Diode

To model and measure heat transfer as a function of the thermal characteristics of a semiconductor, connect a Foster model-based thermal network and a temperature sensor to the thermal port on Diode1.

  1. Open the model, at the MATLAB command prompt, enter


    The model contains a three-phase rectifier that includes six Diode blocks.

  2. Select a thermal variant for the Diode1 block, right-click the block and, from the context menu, select Simscape > Block choices. Select Show thermal port.

  3. Add a Simscape Electrical block that represents heat flow between the diode and the environment. In the model window, the text on the right, contains links that open the Simulink® Library browser. Click Simscape > Electrical > Pasive > Thermal and add a Foster Thermal Model block to the model.

  4. Modify these Foster Thermal Model block parameters:

    1. Thermal resistance data — specify [ 0.00311 0.008493 0.00252 0.00288 ] K/W.

    2. Thermal time constant data — specify [ 0.0068 0.0642 0.3209 2.0212 ] s.

  5. Represent the ambient temperature as constant using an ideal temperature source.

    1. From the Simulink Library browser, open the Simscape > Foundation Library > Thermal > Thermal Sources library and add an Ideal Temperature Source block.

    2. From the Simscape > Foundation Library > Thermal > Thermal Elements library, add a Thermal Reference block.

    3. From the Simscape > Foundation Library > Physical Signals > Sources library, add a PS Constant block. For the Constant parameter, specify a value of 300.

  6. Measure and display the temperature of Diode1:

    1. From the Simulink Library browser, open the Simscape > Foundation Library > Thermal > Thermal Sensors library, add an Ideal Temperature Sensor block.

    2. Make a copy of one of the PS-Simulink Converter blocks in the model window. For the Output signal unit parameter, select K.

    3. From the Simulink Library browser, open the Simulink > Sinks library and add a Scope block.

  7. Arrange and connect the blocks as shown in the figure.

  8. Label the signal from the PS-Simulink Converter block to the Scope block, double-click the line between the blocks and at the prompt, enter Temp (K).

  9. Simulate the model.

  10. To see the temperature data, open the Scope block.

    The temperature of Diode1 fluctuates over a temperature range of 0.3 K as it increases from the initial value of 300 K to a settling point of 300.6–300.9 K toward the end of the simulation.

Model Heat Transfer for All Rectifier Diodes

To see the total heat generated by all the semiconductors in the rectifier, use data logging and the Simscape Results Explorer.

  1. To enable the thermal ports on all the rectifier diodes, select thermal variants for the Diode2, Diode3, Diode4, Diode5, and Diode6 blocks.

  2. To measure heat transfer for each diode, create a Foster thermal model subsystem:

    1. Make a copy of this group of blocks:

      • Foster Thermal Model

      • Ideal Temperature Source

      • PS Constant

      • Thermal Reference

    2. Arrange and connect the copied blocks as shown in the figure.

    3. Create a subsystem from the copied blocks and rename the subsystem as Foster_D2. For information see, Create a Subsystem (Simulink).

    4. Open the Foster_D2 subsystem. For the Conn1 block, for the Port location on the parent subsystem parameter, select Right.

    5. Make four copies of the Foster_D2 subsystem. Attach one subsystem to each of the remaining Diode blocks and rename the subsystems as Foster_D3 through Foster_D6 to match the Diode3 through Diode6 block names.

  3. Simulate the model.

  4. View the results using the Simscape Results Explorer:

    1. In the model window, in the text under Three-Phase Rectifier, click Explore simulation results.

    2. To display the temperature data for Diode1, in the Simscape Results Explorer window, expand the Diode1 > H node and click T.

    3. To display the DC voltage in a separate plot, expand the Voltage_Sensor node and CTRL+click V.

    4. To display the temperature data for all the diodes, expand the Diode2 > H node and CTRL+click T. Repeat the process for Diode3 through Diode6.

    5. To overlay the temperature data in single plot, in the Simscape Results Explorer window, above the tree-node window, click the options button. In the Options dialog box, for Plot signals, select Overlay. To accept the change, click OK. Click and drag the legend down to see the temperature data clearly.

    The temperature profile for each diode lags, in succession, behind the temperature profile of Diode1. For each diode, the temperature also rises and settles along the same values as the temperature profile for Diode1. The data indicate that, because of the lagging behavior of the individual diode temperatures, the temperature of the rectifier rises and settles along the same temperature profile as the diodes, but with less fluctuation.


[1] Schütze, T. AN2008-03: Thermal equivalent circuit models. Application Note. V1.0. Germany: Infineon Technologies AG, 2008.

See Also

| | | | | | |

Related Topics