Motor Thermal Network: Winding & Hot-Spot Temperature
Calculate motor winding, frame and hot-spot temperatures from losses and duty cycle. Compare warm-up with the settled repeating cycle using a two-node thermal network.
Estimate motor winding temperature, frame temperature and winding hot-spot temperature from a thermal network and a repeating loss duty cycle. This calculator is for motor engineers comparing cooling arrangements, students learning lumped thermal models, and designers checking whether a short overload can accumulate heat over repeated operation.
The model has two heat-storing nodes. Winding losses heat the winding; heat then passes through a winding-to-frame thermal resistance. Core and frame losses enter the second node directly. A frame-to-ambient resistance carries their combined heat to a fixed ambient or coolant temperature. Both nodes have thermal capacitance, so their temperatures lag changes in losses. The frame node can represent the stator core and housing together when those parts track one another reasonably well.
Enter the resistances and capacitances for your motor and mounting arrangement. Use identified Cauer network parameters or physical heat capacities, rather than treating catalog thermal time constants as two independent resistance-capacitance products. The illustrative network defaults use the resistance and capacity values of the Modelica Standard Library 4.0.0 motor example. Its loss schedule is shifted to begin with the higher-loss segment, and its temperature feedback is disabled here: entered losses are treated as operating-temperature values.
Specify the load and rest durations and the winding and frame losses in each segment. Loss means heat generated inside the motor, not rated shaft power. Rest losses need not be zero: holding current, iron loss and friction can continue during a low-load interval. If starting from cold resistance and current, first estimate the hot resistance and update the winding losses until the assumed and calculated temperatures agree.
Choose periodic equilibrium to inspect the settled repeating cycle, or warm-up from ambient to inspect a numbered cycle after a cold start. The temperature chart shows the whole selected cycle. Press play to follow its progress on the thermal schematic. Peak values include possible interior extrema in each segment; they are not merely maxima of chart samples. Setting rest duration to zero gives continuous operation.
The hot-spot factor multiplies only the positive winding-to-frame temperature gradient. Its example value is an explicit modeling assumption; replace it using a measured hot spot or a detailed thermal analysis. A two-node model cannot discover local conductor, slot or end-winding gradients on its own. Compare the predicted peak with your motor-specific allowable temperature using the reported margin.
This calculation does not cover changing fan speed or cooling during rest, copper-loss feedback within a segment, separate rotor and magnet temperatures, insulation aging, fault protection or thermal certification. Check a calibrated model against measurements over the intended operating range before using its margin in a motor selection.
How it is calculated
Two-node Cauer network with temperature rises θ_w and θ_f above a fixed ambient:
For constant segment losses, θ_f,∞ = R_fa(P_w + P_f) and θ_w,∞ = θ_f,∞ + R_wf P_w. The transient is the sum of the two decaying eigenmodes of these energy-balance equations. Their exact propagator is used over every load and rest segment, with a periodic fixed point for the settled cycle. Cold-start cycle n follows by decaying the difference from that periodic state through n − 1 complete cycles. Peak searches include each segment endpoint and its possible interior stationary point.
T_hot = T_w + (k_hot − 1) max(T_w − T_f, 0) is a user-calibrated spatial correction, with no added heat capacity. The maximum of its two linear branches is searched exactly. Cycle-average temperatures apply to periodic equilibrium only; they follow from average losses and zero net stored energy over one period.
Chart sampling includes every segment endpoint and the analytic stationary times of the winding, frame and gradient-corrected hot-spot branch. Each segment also has uniform coverage and extra samples through its first eight fast and slow network time constants. Long rest intervals therefore retain the early thermal peaks in the plotted data.
Assumptions
Linear, constant positive thermal resistances and heat capacities; fixed ambient; piecewise constant, nonnegative heat inputs; the same cooling path during load and rest. Warm-up starts both nodes at ambient. Winding losses are supplied at their operating temperature: no automatic copper resistance correction is applied. Defaults R_wf = 0.1 K/W, R_fa = 0.04 K/W, C_w = 2500 J/K and C_f = 25000 J/K come from the Modelica Standard Library 4.0.0 motor example (conductances 10 and 25 W/K). The loss schedule is phase-shifted to start with load; the original example's temperature-dependent winding loss is not reproduced. Ambient 25 °C, hot-spot factor 1.2 and limit 155 °C are illustrative user settings, not catalog ratings. The exact solution and peak algorithm are derived here from the stated energy balances.
Where it applies
Use a calibrated two-node Cauer model only where winding and frame each have a meaningful bulk temperature. The hot-spot correction has no independent transient state and requires external calibration. Cooling changes at standstill, temperature-dependent losses, rotor or magnet heating and insulation aging need a larger or nonlinear model. The reported temperature margin checks the entered limit for the selected cycle only; it is not a protection setting or a motor approval. Startup results do not imply that later cycles meet the same margin. Do not halve a catalog frame resistance without checking the actual mounting. Portescap reference cases use rounded published hot losses; their tolerances reflect the source's rounded temperatures.
References
- Modelica Association, Modelica Standard Library 4.0.0, Thermal.HeatTransfer.Examples.Motor. Open-source second-order thermal network and loss schedule: https://github.com/modelica/ModelicaStandardLibrary/blob/v4.0.0/Modelica/Thermal/HeatTransfer/Examples/Motor.mo
- Portescap, Engineer’s Appendix, catalog edition V012024, pp. 225–227: continuous-temperature worked examples for 22DCP and 22DCT. https://www.altraliterature.com/portescap/en_flipbook/files/basic-html/page226.html and https://www.altraliterature.com/portescap/en_flipbook/files/basic-html/page227.html
- Boglietti et al., Evolution and Modern Approaches for Thermal Analysis of Electrical Machines, IEEE Transactions on Industrial Electronics 56(3), March 2009, pp. 871–882. DOI: https://doi.org/10.1109/TIE.2008.2011622. Background checked against the licensed 2009 article; its text, tables and figures are not reproduced.
Inputs
| Input | Symbol | Unit | Default |
|---|---|---|---|
| Ambient or coolant temperature Fixed boundary temperature throughout the duty cycle. | T_amb | °C | 25 |
| Winding-to-frame thermal resistance Identify from winding and frame temperatures at known winding losses. It is a Cauer resistance. | R_wf | K/W | 0.1 |
| Frame-to-ambient thermal resistance Use the actual mounting and cooling conditions. Held constant in both segments. | R_fa | K/W | 0.04 |
| Winding thermal capacitance Physical or identified heat capacity of the winding node; do not substitute a Foster capacitance. | C_w | J/K | 2500 |
| Frame and core thermal capacitance Frame node includes the core and other masses that follow its temperature. | C_f | J/K | 25000 |
| Winding losses during load Heat dissipated in all windings, not shaft output or electrical input power. Include the resistance increase at operating temperature. | P_w_on | W | 1000 |
| Core and frame losses during load Losses deposited directly into the frame/core node. | P_f_on | W | 500 |
| Winding losses during rest Rest may still have holding-current losses. Set zero for an unpowered winding. | P_w_off | W | 100 |
| Core and frame losses during rest Keep nonzero for a running motor at no load; set zero for a stopped unpowered motor. | P_f_off | W | 500 |
| Load duration Each displayed cycle starts with the load segment. | t_on | s | 240 |
| Rest duration Set zero for continuous operation. | t_off | s | 360 |
| Hot-spot gradient factor T_hot = T_w + (k_hot − 1) max(T_w − T_f, 0). Illustrative default, not a standard allowance: calibrate with test or FEM; 1 disables the correction. | k_hot | 1.2 | |
| User-selected hot-spot temperature limit Enter a motor-specific allowable hot-spot temperature. The default is an example comparison threshold, not an insulation rating assessment. | T_limit | °C | 155 |
| Initial thermal state Periodic equilibrium is the settled duty cycle. Warm-up starts both nodes at ambient, then displays the selected cycle. | start_mode | Periodic equilibrium | |
| Warm-up cycle to inspect The first cycle begins at ambient. All peak cards describe only the inspected cycle. | cycle_no | 3 | |
| Time within cycle â–¶ Play the thermal response. The scene shows the current winding and frame temperatures; peak cards always describe the whole selected cycle. | t_view | s | 240 |
Results
With the default inputs above, the calc gives:
| Result | Value |
|---|---|
| Peak estimated hot spot | 148.4 °C |
| Peak winding temperature | 134.3 °C |
| Peak frame / core temperature | 64.1 °C |
| Hot-spot margin to entered limit | 6.6 K |
| Periodic cycle-mean winding temperature | 109.4 °C |
| Load duty fraction | 0.4 |
| Fast network time constant | 221.5 s |
| Slow network time constant | 1,128.5 s |
Checked against sources
Each case below was calculated by this calc and agrees with the value from its source (within the tolerance where one is shown).
Portescap 22DCP: published hot-loss continuous case
Source: Portescap Product Catalog V012024, Engineer’s Appendix, printed p. 226: R_wf=6 K/W, mounted R_fa=11 K/W, ambient 22 °C, published hot loss 2.97 W and coil temperature 73 °C. Using the rounded published hot loss gives 72.49 °C; the 0.6 K tolerance covers this source rounding. This checks the steady thermal balance only; capacities do not affect the result. No copper-loss feedback is fitted to force a match. https://www.altraliterature.com/portescap/en_flipbook/files/basic-html/page226.html
Inputs: Rest duration = 0 s; Time within cycle ▶ = 0 s; Ambient or coolant temperature = 22 °C; Winding-to-frame thermal resistance = 6 K/W; Frame-to-ambient thermal resistance = 11 K/W; Core and frame losses during load = 0 W; Winding losses during rest = 0 W; Core and frame losses during rest = 0 W; Hot-spot gradient factor = 1; User-selected hot-spot temperature limit = 100 °C; Winding losses during load = 2.97 W; the others as above.
| Result | Source | This calc |
|---|---|---|
| Peak winding temperature | 73 ± 0.6 °C | 72.49 °C |
| Peak estimated hot spot | 73 ± 0.6 °C | 72.49 °C |
Portescap 22DCT: lower-loss continuous case
Source: Portescap Product Catalog V012024, Engineer’s Appendix, printed p. 227: R_wf=6 K/W, mounted R_fa=11 K/W, ambient 22 °C, published hot loss 0.49 W and coil temperature 30 °C. The fixed-loss balance gives 30.33 °C from the rounded source data; tolerance 0.4 K. Thermal capacities are irrelevant to this steady case. https://www.altraliterature.com/portescap/en_flipbook/files/basic-html/page227.html
Inputs: Rest duration = 0 s; Time within cycle ▶ = 0 s; Ambient or coolant temperature = 22 °C; Winding-to-frame thermal resistance = 6 K/W; Frame-to-ambient thermal resistance = 11 K/W; Core and frame losses during load = 0 W; Winding losses during rest = 0 W; Core and frame losses during rest = 0 W; Hot-spot gradient factor = 1; User-selected hot-spot temperature limit = 100 °C; Winding losses during load = 0.49 W; the others as above.
| Result | Source | This calc |
|---|---|---|
| Peak winding temperature | 30 ± 0.4 °C | 30.33 °C |
| Peak estimated hot spot | 30 ± 0.4 °C | 30.33 °C |
Independent DOP853: settled periodic cycle and heat soak
Source: Independent Python 3 / SciPy 1.15.3 solve_ivp DOP853 integration of the energy balances, rtol=2e-12, atol=1e-12. Repeated numerical integration finds the periodic state; dense-output optimization finds each maximum. Inputs adapt the Modelica Standard Library 4.0.0 Motor.mo network, use fixed operating-temperature losses, and phase-shift the schedule; this is not the unmodified Modelica benchmark. Script and output are in the task scratch folder; full settings and results are attached as s4. https://github.com/modelica/ModelicaStandardLibrary/blob/v4.0.0/Modelica/Thermal/HeatTransfer/Examples/Motor.mo
Inputs: the default inputs above.
| Result | Source | This calc |
|---|---|---|
| Peak winding temperature | 134.3 °C | 134.3 °C |
| Peak frame / core temperature | 64.085 °C | 64.085 °C |
| Peak estimated hot spot | 148.4 °C | 148.4 °C |
Independent DOP853: first cycle from ambient
Source: Independent direct energy-balance integration, Python 3 / SciPy 1.15.3 DOP853, same source-derived network as the periodic numerical case but both nodes start at ambient. Numerical solution uses no analytic propagator. Reproducible settings and results are attached as s4; thermal-crosscheck.py is in the task scratch folder.
Inputs: Initial thermal state = Warm-up from ambient; Warm-up cycle to inspect = 1; the others as above.
| Result | Source | This calc |
|---|---|---|
| Peak winding temperature | 89.104 °C | 89.104 °C |
| Peak frame / core temperature | 39.808 °C | 39.808 °C |
| Peak estimated hot spot | 100.5 °C | 100.5 °C |
| Winding rise at selected cycle finish | 32.37 K | 32.37 K |
| Frame rise at selected cycle finish | 14.808 K | 14.808 K |
Independent DOP853: winding and hot spot peak after the loss switch
Source: Independent numerical stress case, not catalog data: direct DOP853 energy-balance integration with frame-only heat input. Dense-output optimization finds the winding maximum at 114.34555 s and estimated hot-spot maximum at 123.78244 s, both after the 100 s switch. It tests interior extrema, inverted winding/frame gradients and the clipped hot-spot correction. Python 3 / SciPy 1.15.3; reproducible settings and results attached as s4.
Inputs: Winding-to-frame thermal resistance = 0.5 K/W; Frame-to-ambient thermal resistance = 0.2 K/W; Winding thermal capacitance = 50 J/K; Frame and core thermal capacitance = 500 J/K; Load duration = 100 s; Rest duration = 300 s; Winding losses during load = 0 W; Core and frame losses during load = 1,000 W; Winding losses during rest = 0 W; Core and frame losses during rest = 0 W; Hot-spot gradient factor = 1.5; Initial thermal state = Warm-up from ambient; Warm-up cycle to inspect = 1; Time within cycle â–¶ = 125 s; the others as above.
| Result | Source | This calc |
|---|---|---|
| Peak winding temperature | 128.5 °C | 128.5 °C |
| Peak frame / core temperature | 145.1 °C | 145.1 °C |
| Peak estimated hot spot | 130.8 °C | 130.8 °C |
Long-rest regression: chart includes independently verified delayed peaks
Source: Regression of the independently reviewed sampling defect: use the s4 DOP853 delayed-peak reference with the zero-loss rest extended from 300 s to 36000 s and the comparison limit set to 125 °C. The early temperature trajectory and its maxima are unchanged; after the peak the unpowered passive network cools. Expected winding, frame and estimated hot-spot peaks and the hot-spot time are the independent SciPy 1.15.3 dense-output integration results in s4, not values generated by the calculator. This checks the plotted samples rather than only the analytic result cards.
Inputs: Winding-to-frame thermal resistance = 0.5 K/W; Frame-to-ambient thermal resistance = 0.2 K/W; Winding thermal capacitance = 50 J/K; Frame and core thermal capacitance = 500 J/K; Load duration = 100 s; Rest duration = 36,000 s; Winding losses during load = 0 W; Core and frame losses during load = 1,000 W; Winding losses during rest = 0 W; Core and frame losses during rest = 0 W; Hot-spot gradient factor = 1.5; Initial thermal state = Warm-up from ambient; Warm-up cycle to inspect = 1; Time within cycle ▶ = 125 s; User-selected hot-spot temperature limit = 125 °C; the others as above.
| Result | Source | This calc |
|---|---|---|
| Largest hot-spot chart sample | 130.8 °C | 130.8 °C |
| Largest winding chart sample | 128.5 °C | 128.5 °C |
| Largest frame chart sample | 145.1 °C | 145.1 °C |
| Time of largest hot-spot chart sample | 123.8 s | 123.8 s |
Related Resources
Related articles
Related courses
Induction motor simulation using RMXPRT tool of ANSYS MAXWELL
IEC Electrical Schematics and Industrial Control Panels

Responses