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)