jaxmat.materials.elasticity module#
- class AbstractLinearElastic[source]#
Bases:
ModuleSmall-strain elastic model.
- abstract property C#
- property S#
4th-rank isotropic compliance tensor
\[\mathbb{S}=\mathbb{C}^{-1}\]
- strain_energy(eps)[source]#
Strain energy density
\[\psi(\beps)=\dfrac{1}{2}\beps:\mathbb{C}:\beps\]- Parameters:
eps (SymmetricTensor2) – Strain tensor
- class LinearElastic[source]#
Bases:
AbstractLinearElasticA generic linear elastic model with custom stiffness tensor.
-
stiffness:
SymmetricTensor4# 4th-rank generic stiffness tensor
- property C: SymmetricTensor4#
Return the stiffness tensor.
-
stiffness:
- class LinearElasticIsotropic[source]#
Bases:
AbstractLinearElasticAn isotropic linear elastic model.
-
E:
float# Young modulus \(E\)
-
nu:
float# Poisson ratio \(\nu\)
- property C#
4th-rank isotropic stiffness tensor
\[\mathbb{C}=3\kappa\mathbb{J}+2\mu\mathbb{K}\]where \(\mathbb{J}\) and \(\mathbb{K}\) are the hydrostatic and deviatoric projectors.
- property kappa#
Bulk modulus
\[\kappa = \dfrac{E}{3(1-2\nu)} = \lambda +\frac{2}{3}\mu\]
- property mu#
Shear modulus
\[\mu = \dfrac{E}{2(1+\nu)}\]
- property lmbda#
Lamé modulus
\[\lambda = \dfrac{E\nu}{(1+\nu)(1-2\nu)}\]
-
E:
- class LinearElasticTransverseIsotropic[source]#
Bases:
AbstractLinearElasticA transversely isotropic linear elastic model.
-
axis:
Array#
-
EL:
float# Longitudinal Young modulus \(E_{L}\)
-
ET:
float# Transverse Young modulus \(E_{T}\)
-
nuL:
float# Longitudinal Poisson ratio \(\nu_{L}\)
-
nuT:
float# Transverse Poisson ratio \(\nu_{T}\)
-
muL:
float# Longitudinal shear modulus \(\mu_{L}\)
- property C#
4th-rank transversely isotropic stiffness tensor
-
axis:
- class LinearElasticOrthotropic[source]#
Bases:
AbstractLinearElasticAn orthotropic linear elastic model.
-
EL:
float# Longitudinal Young modulus \(E_{L}\)
-
ET:
float# Transverse Young modulus \(E_{T}\)
-
EN:
float# Normal Young modulus \(E_{N}\)
-
nuLT:
float# Longitudinal-transverse Poisson ratio \(\nu_{LT}\)
-
nuLN:
float# Longitudinal-normal Poisson ratio \(\nu_{LN}\)
-
nuTN:
float# Transverse-normal Poisson ratio \(\nu_{TN}\)
-
muLT:
float# Longitudinal-transverse shear modulus \(\mu_{LT}\)
-
muLN:
float# Longitudinal-normal shear modulus \(\mu_{LN}\)
-
muTN:
float# Transverse-normal shear modulus \(\mu_{TN}\)
- property C#
Build stiffness matrix for orthotropic material.
Convention: \(L=x, T=y, N=z\) in Voigt notation \([xx, yy, zz, xy, xz, yz]\)
-
EL:
- class ElasticBehavior[source]#
Bases:
SmallStrainBehaviorA small strain linear elastic behavior.
-
elasticity:
Module# The corresponding linear elastic model.
- constitutive_update(eps, state, dt)[source]#
Perform the constitutive update for a given small strain increment for a small-strain behavior.
This abstract method defines the interface for advancing the material state over a time increment based on the provided strain tensor. Implementations should return the updated stress tensor and internal variables, along with any auxiliary information required for consistent tangent computation or subsequent analysis.
- Parameters:
eps (array_like) – Small strain tensor at the current integration point.
state (PyTree) – PyTree containing the current state variables (stress, strain and internal) of the material.
dt (float) – Time increment over which the update is performed.
- Returns:
stress (array_like) – Updated Cauchy stress tensor.
new_state (PyTree) – Updated state variables after the constitutive update.
Notes
This method should be implemented by subclasses defining specific constitutive behaviors (elastic, plastic, viscoplastic, etc.).
-
elasticity: