Videos > Electric Motor System Simulation: Part 1 – Dynamic Thermal ROM Creation with Twin Builder
Nov 17, 2025

Electric Motor System Simulation: Part 1 – Dynamic Thermal ROM Creation with Twin Builder

Hello everyone, this is Batuhan from Ozen Engineering. In this video, I will show you how to create a dynamic thermal reduced order model (ROM) of your electric motor. The purpose of this video series is to create an electric motor system simulation model in Twin Builder using Ansys iSpec, Maxwell, and other software.

Introduction

In the first part, I will demonstrate how to transfer your CFD model into a reduced order model to use in an equivalent circuit. This allows you to change values and get results within seconds repeatedly. I have created a blog showing the model creation step-by-step. If you don't understand any steps in the video, you can refer to this blog for clarification.

Model Overview

This model is the same as the one I created earlier under the Ozen Engineering Knowledge Base. It simulates electric motor temperature using Ansys Motor-CAD and iSpec. I will use the same model in this blog by changing slide geometries and input values. To download the original files, scroll down to the blog, where I will share the link in the video's description. You can download the file from ispecmotorcade.zip.

Model Components

  • Housing
  • Windings
  • Magnets
  • Insulation between the stator and winding (epoxy or other insulation)

Assigning Monitors and Heat Sources

The results of interest in this model include:

  • Maximum housing temperature
  • Maximum magnet temperature
  • Maximum winding temperature

You can create and assign different monitors to transfer your model output into the system-level simulation. For example, if interested in shaft temperature, select any shaft face, right-click, assign monitor, face, and choose temperature (not temperature maximum).

Creating the Reduced Order Model

  1. Assign heat sources for each component. In my model, I have four losses for heat generation: Phase A, Phase B, Phase C, and stator losses. I neglected magnet losses to simplify and speed up the workflow.
  2. Go to the iSpec Model, select the toolkit, and choose LTI-EROM parametric setup under modeling. If your model uses cooling methods like a fan or water jacket, select LPV instead.
  3. Check all assigned heat sources and decide on output inclusion.
  4. Create a steady state design and link it with the transient step to run the motor with zero losses and get ambient temperatures.
  5. Set the input object power based on maximum power loss for each component. For example, if winding losses are 118 watts for three phases, input 100 watts.
  6. Set the number of tasks based on your license number and computational power.

Using the Reduced Order Model in Twin Builder

  1. Create a new TwinBuilder project.
  2. Choose thermal modification and thermal model identification from the toolkit setup.
  3. Locate the ROM file generated by the toolkit in iSpec.
  4. Adjust the number of inputs and outputs based on your iSpec setup.
  5. Generate the model block and use it in your system-level simulation.

Simulation Results

For power input:

  • Imagine each phase generates initially 35 watts, dropping to 20 watts.
  • Use a step function to simulate these power inputs.
  • Set analysis end time to 1000 seconds and step time to 1 second.
  • Analyze the results, observing temperature changes over time.

For current input:

  • Set current value to 3 RMS, dropping to 2 RMS.
  • Calculate power using the square of current and phase resistance (3.1 ohms).
  • Run the simulation to observe rapid results compared to CFD simulations.

Improving Simulation Accuracy

Include temperature-dependent resistance to enhance accuracy. I created a temperature feedback model using sub-circuits for phase resistance calculations. This accounts for resistance changes with temperature, improving the simulation's accuracy.

Conclusion

Thank you for listening. I will create a second part of this model for electric motor inverter and battery simulation temperature and electromagnetic results. Please contact us at Ozen Engineering for more information.

[This was auto-generated. There may be mispellings.]

Hello everyone, this is Batuhan from Ozen Engineering. In this video, I will show you how you can create the dynamic thermal reduced order model of your electric motor.

The purpose of this video series is to create an electric motor system simulation model in Twin Builder by using Ansys iSpec, Maxwell, and other software.

In the first part, I will show you how you can transfer your CFD model into the reduced order model to use in an equivalent circuit to change the values and get results within seconds again and again. I have created a blog by showing the model creation step by step.

If you don't understand any steps in the video, you can always refer to this blog and check the steps. Now let's go back to the model. This model is the same model that I actually created earlier under Ozen Engineering Knowledge Base.

It is how to simulate electric motor temperature using Ansys Motor-CAD and iSpec. I will be using the same model in this blog by changing slide geometries and input values.

To download the original files, you can scroll down to this blog, which I will also share this link under the video's description. And you can come down and download the file from ispecmotorcade.zip.

After downloading the file, or you can basically download the file that I provide for this blog, you will have two different models, which one of them is for the Maxwell model to create the EM losses, and the second one will be the iSpec model.

In order to create the reduced order model, unfortunately, we are not able to couple the EM losses into the CFD model. The reason that in reduced order model, we have to give some certain numbers to create a database for the electric model.

So this algorithm will create the reduced order model and whenever we change the power input or current input in our system, it will automatically generate the temperature results. Now first, let's check the iSpec model. As you see, this model is very simple.

We have a housing, we have windings, magnets, and the insulation between the stator and the winding to represent the epoxy or any other insulation. The results of interest in this model, I assigned maximum housing temperature, maximum magnet temperature, and maximum winding temperature.

You can always create and assign different monitors to transfer your model output into the system level simulation. In order to do that, for example, let's say you are also interested in shaft temperature.

You can come and choose any of the faces of the shaft and right click, assign monitor, face, and you have to choose temperature, not temperature maximum, otherwise the reduced order model toolkit will not understand the correlation.

After that, you should get rid of the electromagnetic losses coupling. And then you should assign the heat sources for each of the components. For example, in my model, I have four losses for heat generation. These are phase A, phase B, phase C, and lastly the stator losses.

I neglected magnet losses in my model to simplify and make the workflow faster, but you can always include more losses and components in your simulation. For example, rotor lamination can be one of them, magnet losses, or even shaft losses.

But now, after assigning all the losses, we have to come to iSpec Model on top ribbon, and go to toolkit, and under the modeling, we have to choose LTI-EROM parametric setup. You can also choose LPV, this is used when you have an inlet and outlet in your model.

For example, if you have a fan or if you have a water jacket that is used in an ice bag you should come and select LPV and you can also sweep the inlet velocity or mass flow. But since our model doesn't use any other cooling method we will simply go with LTI.

Once you click the LTI model, there will be a pop-up window that you will see. Here you can rename the parametric setup that you would like to do. The main idea here, the toolkit will create one steady state and one transient I-Spec model in order to create the database for the reduced order model.

Here we have to check all the heat sources that we already assigned to our electric motor. And for the output side, either you can include all of them or you can exclude the thermal model that is generated by the toolkit and just remain the monitors that you assigned before the step.

You should always remember that you need to create the steady state design and link with the transient step.

The reason that we are doing that, the model will run the motor with zero losses to get the ambient temperature for winding, magnet, and stator, and then it will run the transient on top of it. And the other critical parameter that we need to be careful at is the input object power.

Here, as you see from the top left side, we have four main losses. These are phases and stator losses. And we have only one bracket that we can fill in.

And in order to estimate the maximum and the most critical points of the electric motor, we need to create the database based on the maximum power loss for each of the components. That means, for example, this motor generates 100 watts for the winding losses.

We can also check this value from the Motor-CAD. We can run the model once and it will create the losses within seconds or you can also do the same thing in Maxwell since they are the same thing. This is faster, I use Motor-CAD. And as you see here we have 118 watts on the winding losses.

These are for three phases. That means for each phase we have roughly 40 watts. And the stator iron loss is 73 watts. That means we have to put here minimum 73 to include the maximum loss generated by the stator.

and winding losses will also be included because we are using way above than it is actual value. To give some margin, I will give the input object power as 100. And number of tasks should be based on your license number.

Either 2, 4, or if your computational time or your laptop or computer is not powerful enough, you can make it 1 and it will run the simulation one by one. And after doing that, you can create the setup and the toolkit will automatically generate one steady state model for your electric motor.

And as you see, we have one steady state model here and we have transient model. and the toolkit generated the parametric setup ROM, parametric sweep, by using 100 watts for each of the components and it will basically create the algorithm by collecting the results for each of these points.

After doing that, you can basically come here and analyze this parametric sweep. After this parametric simulation is complete, there will be a notification under the message manager that will show you the location of the ROM generated by the toolkit.

Since I already did this process, I don't want to spend my time and I will go to Simplorer or Twin Builder to show you how to use it. This is the model that I am using, but let's create a new one to show you.

Here you can come to Simplorer or if you want to use TwinBuilder, you can come and go to the options, general options and change the set targeted configuration to TwinBuilder.

And this will change your circuit level and system level as TwinBuilder and you will be able to include the other simulation from the other Ansys software to this system level circuit.

Let's change to TwinBuilder and as you will also realize that the small icon on the bottom side of your window change as TB from the AEDT. That means we are in the TwinBuilder now. Now let's create one new TwinBuilder project.

Here we have, we need to go to TwinBuilder and from the toolkit setup, we have to choose thermal modification, thermal model identification. And here, the RwB response and input file location. Click browse and find the folder that your ROM is generated by the toolkit in iSpec.

After finding that, you need to change the number of inputs here and the outputs based on how many inputs and outputs you use in your iSpec. To remind you that, you can always come back to the iSpec, go to toolkit again.

And here we use 4 thermal inputs and we excluded these ones and we have 3 outputs. That means you need to use 4 inputs and 3 outputs.

You can keep the rest of the settings as they are, but you might want to change the model name of your ROM from Thermal ROM to Electric Motor ROM or anything you would like to use in your system level. After generating it, you will have one block similar to shown in the StreamBuilder system.

This model has as you see 3 inputs and 5 outputs. First, how to use it? As you remember from the iSpec model, we are using the power losses for the input of this model. This is Ansys model.

That means either we need to use directly power inputs or we need to generate the power, calculate the power based on the current and the phase resistance we have in our system. First, let's go with the power input.

Let's imagine each of our phases generate initially 35 watts and then they drop to 20 watts. And let's do the same thing for rest of the phases here. I used step function to simulate these power inputs.

And after completing it, you can come to analysis and change this end time to 1000 seconds and step time 1 second. And once you click the analyze button, you will see that the temperatures will appear on your plot.

If you wonder how did I generate this plot, you can come on top of left button on the ribbon, draw, report and rectangular plot, and you can place the plot wherever you want on the circuit. And you can choose this thermal model outputs.

If you don't see this thermal outputs in your plot settings, go to TwinBuilder and choose output dialog, or in shortcut you can just go Ctrl Shift and O, and it will show one pop-up window.

Here you need to check all these output values under the thermal ROM or in your model, electric motor ROM or any other naming you did, and enable the settings. And then you will be able to see the outputs of your ROM model. Since I already generated, we can observe the results here.

As you see the black line shows the power input, it starts from 30 or 40 and drops to 20. And the results also show the same thing. Let's move the legend here to observe it.

As you see the system starts from 40 degrees and reaches 125 at 500 seconds and then since the input power is reduced the motor initially is cooling but then it is reaching again to reach the steady state condition. That's for the power input.

Now let's create the current input which is more realistic and we will be also using the same thing in our next part of this blog video series. Here let say we have current value of 3 RMS value and then it drops to 2. And we use the same thing for all of the phases.

And we take the square of this current and multiply with the phase resistance of our winding. Here, the phase resistance is 3. 1. You can also check this model, this is the default Motor-CAD model. Now, let's run the simulation.

And as you see, the simulation is complete within seconds rather than hours and weeks of CFD simulations. And here, as you see, the winding temperature rises to 135 degrees almost at peak and then it drops to 125 because our current dropped from 3.5 to 2 amps in RMS.

But here there is still one missing point that we can improve the simulation. As you know from the resistance equation based on the temperature, the resistance increases while temperature increases.

That means we can include this phenomena and increase the accuracy of your reduced order model in system level simulation. To do that, I created a temperature feedback model for my electric motor.

Here, still I use the same reduced order model, but I am using the output values as an input of the resistance calculation. I created sub-circuits here that you can also observe. For example, the first one, the phase A resistance calculation.

This is basically the block diagram of the equation to calculate the resistance based on the temperature. And I use the same thing for rest of the phases. And the input of this block is the output of the phase A of the ROM.

And as you see here from P1 is the output of the thermal ROM dot output1_phase A and same for phase B and phase C. Now we can run the model and compare the electric motor temperature results with resistance, temperature dependency, and default values. Now let's run the simulation.

Here the top plot shows, the green line shows the default resistance value without any temperature dependency, which is 3.41 or 16, I'm not exactly sure. for our electric motor.

For the constant phase resistance, the phase windings reach 115-120°C, whereas the temperature dependent values reach 170-175°C winding values. Remember these results always depend on the accuracy of your iSpec model.

It is always better to create your iSpec model as accurate as possible and spend more time, and then once you complete it, the results will be generated within seconds for your system level simulation.

Thank you for listening to me and I will also create a second part of this model for the electric motor inverter and battery simulation temperature and electromagnetic results. Please contact us at https://ozeninc.com/contact for more information.