Thermomechanical Models
Coupled thermal-mechanical constitutive models with temperature-dependent properties and thermal expansion.
-
void umat_elasticity_iso_T(const arma::vec&, const arma::vec&, arma::vec&, double&, arma::mat&, arma::mat&, arma::mat&, arma::mat&, const arma::mat&, const int&, const arma::vec&, const int&, arma::vec&, const double&, const double&, const double&, const double&, double&, double&, double&, double&, double&, double&, double&, const int&, const int&, const bool&, double&)
The elastic UMAT requires 2 constants:
props[0] : Young modulus
props[1] : Poisson ratio
props[2] : CTE
No statev is required for thermoelastic constitutive law
-
void umat_elasticity_ortho_T(const arma::vec&, const arma::vec&, arma::vec&, double&, arma::mat&, arma::mat&, arma::mat&, arma::mat&, const arma::mat&, const int&, const arma::vec&, const int&, arma::vec&, const double&, const double&, const double&, const double&, double&, double&, double&, double&, double&, double&, double&, const int&, const int&, const bool&, double&)
The elastic UMAT requires 2 constants:
props[0] : Young modulus
props[1] : Poisson ratio
props[2] : CTE
No statev is required for thermoelastic constitutive law
-
void umat_elasticity_trans_iso_T(const arma::vec&, const arma::vec&, arma::vec&, double&, arma::mat&, arma::mat&, arma::mat&, arma::mat&, const arma::mat&, const int&, const arma::vec&, const int&, arma::vec&, const double&, const double&, const double&, const double&, double&, double&, double&, double&, double&, double&, double&, const int&, const int&, const bool&, double&)
The elastic UMAT requires 2 constants:
props[0] : Young modulus
props[1] : Poisson ratio
props[2] : CTE
No statev is required for thermoelastic constitutive law
-
void umat_plasticity_iso_CCP_T(const arma::vec&, const arma::vec&, arma::vec&, double&, arma::mat&, arma::mat&, arma::mat&, arma::mat&, const arma::mat&, const int&, const arma::vec&, const int&, arma::vec&, const double&, const double&, const double&, const double&, double&, double&, double&, double&, double&, double&, double&, const int&, const int&, const bool&, double&)
The elastic-plastic UMAT with isotropic hardening requires 8 constants for a full thermomechanical coupling:
props[0] : density
props[1] : specific heat capacity
props[2] : Young modulus
props[3] : Poisson ratio
props[4] : CTE
props[5] : J2 equivalent yield stress limit : sigmaY
props[6] : hardening parameter k
props[7] : exponent m
The elastic-plastic UMAT with isotropic hardening requires 8 statev:
statev[0] : T_init : Initial temperature
statev[1] : Accumulative plastic parameter: p
statev[2] : Plastic strain 11: EP(0,0)
statev[3] : Plastic strain 22: EP(1,1)
statev[4] : Plastic strain 33: EP(2,2)
statev[5] : Plastic strain 12: EP(0,1) (*2)
statev[6] : Plastic strain 13: EP(0,2) (*2)
statev[7] : Plastic strain 23: EP(1,2) (*2)
-
void umat_plasticity_kin_iso_CCP_T(const arma::vec&, const arma::vec&, arma::vec&, double&, arma::mat&, arma::mat&, arma::mat&, arma::mat&, const arma::mat&, const int&, const arma::vec&, const int&, arma::vec&, const double&, const double&, const double&, const double&, double&, double&, double&, double&, double&, double&, double&, const int&, const int&, const bool&, double&)
The thermomechanical elastic-plastic UMAT with kinematic + isotropic hardening requires 9 constants:
props[0] : density
props[1] : specific heat capacity
props[2] : Young modulus
props[3] : Poisson ratio
props[4] : CTE
props[5] : J2 equivalent yield stress limit : sigmaY
props[6] : hardening parameter k
props[7] : exponent m
props[8] : linear kinematical hardening h
The elastic-plastic UMAT with kinematic + isotropic hardening requires 14 statev:
statev[0] : T_init : Initial temperature
statev[1] : Accumulative plastic parameter: p
statev[2] : Plastic strain 11: EP(0,0)
statev[3] : Plastic strain 22: EP(1,1)
statev[4] : Plastic strain 33: EP(2,2)
statev[5] : Plastic strain 12: EP(0,1) (*2)
statev[6] : Plastic strain 13: EP(0,2) (*2)
statev[7] : Plastic strain 23: EP(1,2) (*2)
statev[8] : Backstress 11: X(0,0)
statev[9] : Backstress 11: X(1,1)
statev[10] : Backstress 11: X(2,2)
statev[11] : Backstress 11: X(0,1)
statev[12] : Backstress 11: X(0,2)
statev[13] : Backstress 11: X(1,2)
-
void umat_sma_unified_T_T(const std::string &umat_name, const arma::vec &Etot, const arma::vec &DEtot, arma::vec &sigma, double &r, arma::mat &dSdE, arma::mat &dSdT, arma::mat &drdE, arma::mat &drdT, const arma::mat &DR, const int &nprops, const arma::vec &props, const int &nstatev, arma::vec &statev, const double &T, const double &DT, const double &Time, const double &DTime, double &Wm, double &Wm_r, double &Wm_ir, double &Wm_d, double &Wt, double &Wt_r, double &Wt_ir, const int &ndi, const int &nshr, const bool &start, double &tnew_dt)
Unified thermomechanical SMA model with coupled phase transformation and heat equation.
This function implements the fully coupled thermomechanical version of the unified phenomenological SMA model. Compared to the mechanical-only version (umat_sma_unified_T), this adds thermal coupling through the heat equation, requiring density and specific heat capacity as additional material parameters, and producing thermal tangent operators as output.
Elastic Symmetry and Criteria Selection:
The elastic behavior and transformation criteria are determined by the umat_name parameter:
umat_name
Elasticity
Criteria
Number of props
SMADI
Isotropic
Drucker
31
SMADC
Cubic
Drucker
33
SMAAI
Isotropic
Anisotropic Drucker (DFA)
38
SMAAC
Cubic
Anisotropic Drucker (DFA)
40
Material Parameters (props):
SMADI (Isotropic elasticity, Drucker criteria) — 31 props:
Index
Symbol
Description
Units
0
\( \rho \)
Density
kg/m^3
1
\( c_{pA} \)
Specific heat capacity of Austenite
J/(kg.K)
2
\( c_{pM} \)
Specific heat capacity of Martensite
J/(kg.K)
3
flagT
Temperature extrapolation (0=linear, 1=smooth)
-
4
\( E_A \)
Young’s modulus of Austenite
MPa
5
\( E_M \)
Young’s modulus of Martensite
MPa
6
\( \nu_A \)
Poisson’s ratio of Austenite
-
7
\( \nu_M \)
Poisson’s ratio of Martensite
-
8
\( \alpha_A \)
CTE of Austenite
1/K
9
\( \alpha_M \)
CTE of Martensite
1/K
10
\( H_{min} \)
Minimal transformation strain magnitude
-
11
\( H_{max} \)
Maximal transformation strain magnitude
-
12
\( k_1 \)
Exponential evolution parameter for \( H^{cur} \)
-
13
\( \sigma_{crit} \)
Critical stress for \( H^{cur} \) evolution
MPa
14
\( C_A \)
Clausius-Clapeyron slope (M \( \rightarrow \) A)
MPa/K
15
\( C_M \)
Clausius-Clapeyron slope (A \( \rightarrow \) M)
MPa/K
16
\( M_{s0} \)
Martensite start temperature at zero stress
K
17
\( M_{f0} \)
Martensite finish temperature at zero stress
K
18
\( A_{s0} \)
Austenite start temperature at zero stress
K
19
\( A_{f0} \)
Austenite finish temperature at zero stress
K
20
\( n_1 \)
Martensite start smooth exponent
-
21
\( n_2 \)
Martensite finish smooth exponent
-
22
\( n_3 \)
Austenite start smooth exponent
-
23
\( n_4 \)
Austenite finish smooth exponent
-
24
\( \sigma_{caliber} \)
Calibration stress for \( C_A \) / \( C_M \)
MPa
25
\( b \)
Tension-compression asymmetry parameter (Prager)
-
26
\( n \)
Tension-compression asymmetry exponent (Prager)
-
27
\( c_\lambda \)
Penalty function exponent start point
-
28
\( p_{0\lambda} \)
Penalty function limit value
-
29
\( n_\lambda \)
Penalty function power law exponent
-
30
\( \alpha_\lambda \)
Penalty function power law parameter
-
SMADC (Cubic elasticity, Drucker criteria) — 33 props:
Index
Symbol
Description
Units
0
\( \rho \)
Density
kg/m^3
1
\( c_{pA} \)
Specific heat capacity of Austenite
J/(kg.K)
2
\( c_{pM} \)
Specific heat capacity of Martensite
J/(kg.K)
3
flagT
Temperature extrapolation (0=linear, 1=smooth)
-
4
\( E_A \)
Young’s modulus of Austenite ([100] direction)
MPa
5
\( E_M \)
Young’s modulus of Martensite ([100] direction)
MPa
6
\( \nu_A \)
Poisson’s ratio of Austenite
-
7
\( \nu_M \)
Poisson’s ratio of Martensite
-
8
\( G_A \)
Shear modulus of Austenite
MPa
9
\( G_M \)
Shear modulus of Martensite
MPa
10–32
Same as SMADI props[8–30] (common SMA parameters)
SMAAI (Isotropic elasticity, anisotropic Drucker criteria) — 38 props:
Same as SMADI (props[0–30]) followed by 7 DFA parameters:
Index
Symbol
Description
31
\( F_{dfa} \)
F parameter of DFA criteria
32
\( G_{dfa} \)
G parameter of DFA criteria
33
\( H_{dfa} \)
H parameter of DFA criteria
34
\( L_{dfa} \)
L parameter of DFA criteria
35
\( M_{dfa} \)
M parameter of DFA criteria
36
\( N_{dfa} \)
N parameter of DFA criteria
37
\( K_{dfa} \)
K parameter of DFA criteria
SMAAC (Cubic elasticity, anisotropic Drucker criteria) — 40 props:
Same as SMADC (props[0–32]) followed by 7 DFA parameters (props[33–39]).
State Variables (statev) — 17 variables:
Index
Symbol
Description
Units
0
\( T_{init} \)
Initial/reference temperature
K
1
\( \xi \)
Martensitic volume fraction
-
2
\( \varepsilon^{tr}_{11} \)
Transformation strain component 11
-
3
\( \varepsilon^{tr}_{22} \)
Transformation strain component 22
-
4
\( \varepsilon^{tr}_{33} \)
Transformation strain component 33
-
5
\( \gamma^{tr}_{12} \)
Transformation strain component 12 (engineering)
-
6
\( \gamma^{tr}_{13} \)
Transformation strain component 13 (engineering)
-
7
\( \gamma^{tr}_{23} \)
Transformation strain component 23 (engineering)
-
8
\( \xi_F \)
Forward martensitic volume fraction
-
9
\( \xi_R \)
Reverse martensitic volume fraction
-
10
\( \rho \Delta s_0 \)
Entropy difference between phases (M - A)
MPa/K
11
\( \rho \Delta E_0 \)
Internal energy difference between phases (M - A)
MPa
12
\( D \)
Stress dependence parameter for transformation limits
-
13
\( a_1 \)
Forward hardening parameter
MPa
14
\( a_2 \)
Reverse hardening parameter
MPa
15
\( a_3 \)
Equilibrium hardening parameter
MPa
16
\( Y_{0t} \)
Initial transformation critical value
MPa
References:
Chatziathanasiou, D. (2016). Ph.D. Thesis — Phenomenological constitutive modeling of shape memory alloys.
Chemisky, Y., Chatziathanasiou, D., Kumar, P., & Lagoudas, D. C. (2014). “A constitutive model for cyclic actuation of high-temperature shape memory alloys.” Mechanics of Materials, 68, 120-136.
See also
umat_sma_unified_T() for the mechanical-only version (no thermal coupling)
See also
L_iso() for isotropic stiffness tensor (SMADI, SMAAI)
See also
L_cubic() for cubic stiffness tensor (SMADC, SMAAC)
Note
Elastic convention: isotropic uses “Enu”, cubic uses “EnuG” for L_iso / L_cubic
Note
The flagT parameter controls temperature extrapolation: 0 for linear, 1 for smooth
Note
Legacy aliases SMAUT and SMANI map to SMADI and SMAAI respectively
- Parameters:
umat_name – Model variant (SMADI, SMADC, SMAAI, SMAAC)
Etot – Total strain tensor at beginning of increment (Voigt notation: 6x1)
DEtot – Strain increment tensor (Voigt notation: 6x1)
sigma – Cauchy stress tensor (Voigt notation: 6x1) [output]
r – Heat source rate [output]
dSdE – Mechanical tangent modulus \( \partial \sigma / \partial \varepsilon \) (6x6) [output]
dSdT – Thermal stress tangent \( \partial \sigma / \partial T \) (6x1) [output]
drdE – Thermal-mechanical tangent \( \partial r / \partial \varepsilon \) (1x6) [output]
drdT – Thermal tangent \( \partial r / \partial T \) (scalar) [output]
DR – Rotation increment matrix (3x3) for objective integration
nprops – Number of material properties
props – Material properties vector (layout depends on umat_name)
nstatev – Number of state variables (17)
statev – State variables vector [input/output]
T – Temperature at beginning of increment
DT – Temperature increment
Time – Time at beginning of increment
DTime – Time increment
Wm – Total mechanical work [output]
Wm_r – Recoverable (elastic) mechanical work [output]
Wm_ir – Irrecoverable mechanical work stored in transformation [output]
Wm_d – Dissipated mechanical work (hysteresis) [output]
Wt – Total thermal work [output]
Wt_r – Recoverable thermal work [output]
Wt_ir – Irrecoverable thermal work [output]
ndi – Number of direct stress components (typically 3)
nshr – Number of shear stress components (typically 3)
start – Flag indicating first increment (true) or continuation (false)
tnew_dt – Suggested new time step ratio for adaptive time stepping [output]