How to Couple PSIM and ElectroFlo for Accurate Thermal Simulations
In this tutorial, we'll go through the iterative process of coupling the steady state losses from a PSIM thermal simulation and placing them into a thermal FEA simulation with ElectroFlo in SimLab.
This tutorial assumes familiarity with the SimLab interface and performing thermal simulations with ElectroFlo.
Helpful resources to get started are the following:
SimLab Introduction eLearning: https://learn.altair.com/course/view.php?id=473
SimLab Learning Center: https://web.altair.com/altair-for-simlab-learning-center-trls
As an example, a Synchronous Buck converter has been built in PSIM and a simple model of a board with two components, a fan and a heatsink was modeled in SimLab:
All files used for this tutorial can be found in the attachments section of this article.
The Workflow
In a PSIM thermal simulation we don’t have a model of the cooling solution (or the rest of the system) and in SimLab we don’t have a model of the losses as a function of temperature. This is why we need to iterate between both simulations exchanging thermal losses and case temperatures till we converge on a final value.
Requirements
- The part in PSIM and its corresponding body in SimLab must have the same name.
For instance, in the attached example for Q1 and Q2:
- PSIM simulation must have Thermal Models for the switches. Each switch must have a fixed parametrized case temperature in Kelvin. Conversion to Celsius should be done in the value of the source used to set the temperature. The naming convention for this variable is the following:
{Part Name} _case_temperature_K, Ej. Q1: Q1_case_temperature_K
- PSIM simulation must reach steady state.
First Iteration:
PSIM | Converter Thermal Simulation
This workflow starts with PSIM, in the attached example we have a Synchronous Buck (synchronousBuck.schpack) converter. In the first iteration, the case temperature variable is fixed to a starting value. It can be ambient temperature or an estimated value.
After running the first thermal simulation a .csv file will be created in the directory of the PSIM schematic:
This .csv file contains the 2R model for the components and the steady state losses:
This file will be used by SimLab to create 2R Models (Smart Objects) for the components.
SimLab | System/Board Thermal and Flow Simulation
The attached SimLab Database (tutorialModel.slb) is ready to test the coupling between PSIM and ElectroFlo. For a different model, the following needs to be setup by the user:
- Pre-processing the model
- Adding boundary conditions
- Assigning materials
- Creating smart objects (not including 2R models for Switches)
Tutorials and models for SimLab Electronics can be found here: https://web.altair.com/altair-for-simlab-learning-center-trls
After creating and setting up the Electronics Thermal solution in SimLab (Boundary Conditions, Cooling Solutions, Materials, …etc.), the remaining step is to import the losses and thermal models for the switches from PSIM.
If everything was selected correctly, each component body should have a 2R component associated to it:
The process of setting up the losses, Rcj, Rjb and the orientation of these thermal resistors should’ve been done automatically.
FYI: About the 2R models
The assumed orientation of the thermal resistors is the following:
If this is not the required orientation, please make sure to change it by modifying the Smart Objects and flip the faces or changing the .csv file before importing the 2R models.
Now the next step is to run the simulation [Right Click on Results and click Update].
The first results should look like the following:
After running the simulation, a PSIM parameter file is created on the results folder of the solution [Richt Click on Results > Open Results Folder]:
The contents of this parameter file are the new case temperatures for the PSIM simulation:
This file needs to be opened with PSIM to update the case temperatures.
Next Iterations:
The exchange of files between SimLab and PSIM should continue till we notice there’s no significant change both in the Losses and the Case Temperatures. The following extra steps should be considered:
Update the 2R Smart Objects with the new losses obtained from a new CSV file:
Or to re-import the 2R models for the components, all 2R models need to be deleted and the csv. File with 2R components needs to be imported again.
To reduce the simulation time, we can reuse the results from a past iteration. To do this, right click on Results and click on Restart and Update. In the Results folder (Same one where we find the parameter file), we find the .rst file which we need to select when prompted.