This repository contains the comprehensive Python implementation for predicting thermal fatigue lifetime in Silicon Carbide (SiC) Power MOSFETs used in high-performance automotive traction inverters.
The work successfully combines:
- β‘ Software modeling (Python tool with MATLAB thesis model)
- π¬ Experimental characterization methods
- π Industry-standard compliance (ECPE AQG 324)
The automotive industry's transition to high-performance Electric Vehicles (EVs) demands:
- Smaller, lighter, more powerful components
- Silicon Carbide (SiC) technology for superior performance
- Long-term reliability under extreme operating conditions
Electric Motor Profile (Speed, Torque, Time)
β
[Electro-Thermal Model]
β
βββββββββββββββββββββββββββββββββββββββ
β Coupled Iterative Solution Loop: β
β β
β T_j(i-1) β P_loss(i) β ΞT β T_j(i) β
β β β β
β βββββββββββββββββββββββββββ β
β β
β Converges when thermal stability β
β is reached at each time step β
βββββββββββββββββββββββββββββββββββββββ
β
Junction Temperature (T_j)
β
[Rainflow Cycle Counting]
β
Thermal Stress Cycles
β
[Bayerer Model - CIPS08]
ΞT_j, T_j_max, t_on β N_f
β
Cumulative Damage (Miner's Rule)
β
β Lifetime Consumption: X.XX%
β Extrapolated Life: XXXX hours
β AQG 324: PASS/FAIL
The tool analyzes three standardized automotive scenarios with progressive intensity:
| Scenario | Speed Range | Torque Range | Thermal Stress | Use Case |
|---|---|---|---|---|
| Urban | 0-8000 RPM | 10-50 Nm | Low | City driving, stop-and-go |
| Highway | 5000-14000 RPM | 20-320 Nm | Medium | Highway cruise, overtaking |
| Performance | 0-15000 RPM | 20-450 Nm | High | Track driving, max acceleration |
Python >= 3.7
pip >= 20.0# Clone repository
git clone https://github.com/matteototaro/sic-thermal-lifetime.git
cd sic-thermal-lifetime
# Install dependencies
pip install -r requirements.txt
# Run the tool
python thermal_lifetime_prediction.pynumpy>=1.19.0
pandas>=1.0.0
matplotlib>=3.2.0
scipy>=1.5.0
tqdm>=4.50.0 # Optional, for progress bars
Simply run the script - it will automatically analyze all three scenarios:
python thermal_lifetime_prediction.pyThe script will:
- Load pre-generated mission profiles from CSV files (in
profiles/folder) - Perform coupled electro-thermal simulation
- Extract thermal cycles using rainflow counting
- Calculate cumulative damage and lifetime
- Generate comprehensive visualization
The tool generates:
================================================================================
LIFETIME CONSUMPTION: 0.012500%
================================================================================
Extrapolated: 8000 hours (0.9 years)
AQG 324: 0.13 / 1000 PC cycles
β PASS - Margin: 999.87 cycles (99.99%)
A publication-quality comparison plot (docs/example_output.png) showing:
- Row 1: Motor Speed profiles (all 3 scenarios side-by-side)
- Row 2: Motor Torque profiles (all 3 scenarios)
- Row 3: Junction Temperature evolution (all 3 scenarios)
- Row 4: Comparative summary table with all key metrics
results = run_lifetime_test_all_scenarios()
# Access individual scenario data
profile, T_j, P_loss, cycles, damage_df, total_damage = results['urban']
profile, T_j, P_loss, cycles, damage_df, total_damage = results['highway']
profile, T_j, P_loss, cycles, damage_df, total_damage = results['performance']The tool implements proper feedback between electrical and thermal domains through an iterative process at each time step:
T_j(i-1) β P_loss(i) β Thermal Network β T_j(i)
Power Loss Components:
- Switching losses:
E_on(T_j) Γ f_sw - Conduction losses:
I_rmsΒ² Γ R_DS_on(T_j) - Diode losses:
V_F Γ I_avg
All temperature-dependent parameters are updated at each iteration based on the previous junction temperature.
4-layer RC network using Explicit Euler integration:
C_th Γ dT/dt = Q_in - Q_out
T(t+Ξt) = T(t) + Ξt Γ dT/dt
Stability condition: Ξt < 2 Γ min(R_th Γ C_th)
Implements ASTM E1049-85 standard:
- Extracts fatigue-relevant thermal cycles
- Tracks temperature swing (ΞT), mean temperature, and dwell time
- Converts continuous temperature history into discrete damage events
Power Cycling Lifetime Model (Bayerer et al., 2008):
N_f = K Γ (ΞT_j)^Ξ²β Γ exp(Ξ²β/T_j_max) Γ t_on^Ξ²β
Where:
- Ξ²β = -3.483 (Coffin-Manson: thermal strain dependency)
- Ξ²β = 1917 K (Arrhenius: temperature activation energy)
- Ξ²β = -0.438 (Time-dependent creep/diffusion effects)
- ΞT_j: Junction temperature swing [K]
- T_j_max: Maximum junction temperature [K]
- t_on: Heating time / power-on duration [s]
- K: Technology-dependent constant calibrated from test data
Note: The original Bayerer (CIPS08) model includes a fourth parameter (Ξ²β) for current per bond wire. However, for a fixed module technology and specific application, this parameter becomes a constant absorbed into K. Therefore, this implementation uses the simplified three-parameter form commonly applied in automotive qualification standards.
Acceleration Factor (without K, comparing field to test conditions):
The acceleration factor relates field conditions to test conditions:
AF = (ΞT_field / ΞT_test)^Ξ²β Γ exp[Ξ²β Γ (1/T_max_field - 1/T_max_test)] Γ (t_on_field / t_on_test)^Ξ²β
N_f_field = N_f_test Γ AF
This allows prediction of lifetime under actual operating conditions based on standardized qualification test results.
Miner's Rule (Cumulative Damage):
D_total = Ξ£(n_i / N_f_i)
Failure predicted when D_total β₯ 1.0 (100% life consumed)
This work was initially developed on MATLAB in collaboration with Ferrari S.p.A. for my Master's Thesis.
Due to intellectual property (IP) considerations:
- β Full thesis documentation is publicly available
- β Python demonstration tool with generic parameters is provided
- β Production MATLAB model with Ferrari-specific data remains confidential
The Python tool uses publicly available Infineon datasheet parameters to demonstrate the complete methodology while respecting confidentiality requirements.
π Full Thesis PDF: Totaro_Matteo_MastersThesis.pdf
The thesis includes:
- Comprehensive literature review on SiC power modules
- Detailed mathematical derivation of lifetime models
- Experimental test setup and procedures
- Results validation and sensitivity analysis
- Future work and recommendations
If you use this work in your research, please cite:
@mastersthesis{totaro2022sic,
author = {Totaro, Matteo},
title = {Lifetime Modeling of SiC Power Modules in Automotive Traction Inverters},
school = {ALMA MATER STUDIORUM - UniversitΓ di Bologna},
year = {2022},
type = {Master's Thesis},
note = {In collaboration with Ferrari S.p.A.}
}- ECPE AQG 324 - Qualification of Automotive Electronic Components
- Infineon FS03MR12A6MA1B Datasheet - 1200V 310A SiC Power Module
- ASTM E1049-85 - Standard Practices for Cycle Counting in Fatigue Analysis
- Bayerer, R., Herrmann, T., Licht, T., Lutz, J., & Feller, M. (2008) - "Model for Power Cycling lifetime of IGBT Modules - various factors influencing lifetime", 5th International Conference on Integrated Power Electronics Systems (CIPS), Nuremberg, Germany, pp. 1-6
- Miner (1945) - Cumulative Damage in Fatigue, Journal of Applied Mechanics
- IEC 60749-34 - Power Cycling Test to Failure for Power Semiconductor Devices
- Held, M., et al. (1997) - "Fast power cycling test of IGBT modules in traction application", LESIT Project
Matteo Totaro
Email: tmatteos@gmail.com
Website: mtotaro.com
LinkedIn: linkedin.com/in/m-totaro
This project is licensed under the MIT License - see the LICENSE file for details.
