Orthotropic Elasticity Plane Stress¶
Bases: OrthotropicElasticity3D
Orthotropic elastic material for plane stress problems.
Parameters:
-
E_1(Tensor | float) –Young's modulus in direction 1.
-
E_2(Tensor | float) –Young's modulus in direction 2.
-
nu_12(Tensor | float) –Poisson's ratio \(\nu_{12}\).
-
G_12(Tensor | float) –In-plane shear modulus \(G_{12}\).
-
G_13(Tensor | float, default:0.0) –Transverse shear modulus \(G_{13}\). Default is
0.0. -
G_23(Tensor | float, default:0.0) –Transverse shear modulus \(G_{23}\). Default is
0.0. -
rho(Tensor | float, default:1.0) –Mass density. Default is
1.0.
Notes
- Small-strain assumption with plane stress condition.
- No internal state variables (
n_state = 0). - Supports rotation of the material coordinate system via
rotate().
Plane stress orthotropic stiffness
The in-plane stiffness components are $$ C_{1111} = \frac{E_1}{1 - \nu_{12} \nu_{21}}, \quad C_{2222} = \frac{E_2}{1 - \nu_{12} \nu_{21}}, \quad C_{1122} = \frac{\nu_{12} E_2}{1 - \nu_{12} \nu_{21}} $$ with \(\nu_{21} = \nu_{12} E_2 / E_1\) and \(C_{1212} = G_{12}\).
vectorize(n_elem)
¶
Returns a vectorized copy of the material for n_elem elements.
Parameters:
-
n_elem(int) –Number of elements to vectorize the material for.
Returns:
-
OrthotropicElasticityPlaneStress(OrthotropicElasticityPlaneStress) –A new material instance with vectorized properties.
rotate(R)
¶
Rotates the material coordinate system with a rotation matrix \(\mathbf{R}\).
Parameters:
-
R(Tensor) –Rotation matrix. Shape:
(..., 2, 2).
Returns:
-
OrthotropicElasticityPlaneStress(OrthotropicElasticityPlaneStress) –The material itself with rotated properties.
step(H_inc, F, stress, state, de0, cl, iter)
¶
Performs an incremental step in the orthotropic elasticity model.
The stress is updated as $$ \pmb{\sigma}_{n+1} = \pmb{\sigma}_n + \mathbb{C} : (\Delta \pmb{\varepsilon} - \Delta \pmb{\varepsilon}^0) $$
Parameters:
-
H_inc(Tensor) –Incremental displacement gradient. Shape:
(..., 3, 3). -
F(Tensor) –Current deformation gradient. Shape:
(..., 3, 3). -
stress(Tensor) –Current Cauchy stress tensor. Shape:
(..., 3, 3). -
state(Tensor) –Internal state variables (unused). Shape:
(..., 0). -
de0(Tensor) –External small strain increment (e.g., thermal). Shape:
(..., 3, 3). -
cl(Tensor) –Characteristic lengths. Shape:
(..., 1). -
iter(int) –Current iteration number.
Returns:
-
stress_new(Tensor) –Updated Cauchy stress tensor. Shape:
(..., 3, 3). -
state_new(Tensor) –Updated internal state (unchanged). Shape:
(..., 0). -
ddsdde(Tensor) –Algorithmic tangent stiffness tensor. Shape:
(..., 3, 3, 3, 3).