Isotropic Elasticity 1D¶
Bases: Material
Isotropic elastic material in 1D.
Parameters:
-
E(Tensor | float) –Young's modulus. Shape:
()for a scalar or(N,)for a batch of materials. -
rho(Tensor | float, default:1.0) –Mass density. Default is
1.0.
Notes
- Small-strain assumption.
- No internal state variables (
n_state = 0). - The stiffness "tensor" is simply \(C_{0000} = E\).
1D stiffness tensor
The 1D stiffness "tensor" is simply \(C_{0000} = E\).
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:
-
IsotropicElasticity1D(IsotropicElasticity1D) –A new material instance with vectorized properties.
step(H_inc, F, stress, state, de0, cl, iter)
¶
Performs an incremental step for the 1D elastic material.
The stress is updated as $$ \sigma_{n+1} = \sigma_n + E \, (\Delta\varepsilon - \Delta\varepsilon^0) $$ with algorithmic tangent \(\frac{\partial \Delta\sigma} {\partial \Delta H} = E\).
Parameters:
-
H_inc(Tensor) –Incremental displacement gradient. Shape:
(..., 1, 1). -
F(Tensor) –Current deformation gradient. Shape:
(..., 1, 1). -
stress(Tensor) –Current stress tensor. Shape:
(..., 1, 1). -
state(Tensor) –Internal state variables (unused). Shape:
(..., 0). -
de0(Tensor) –External strain increment (e.g., thermal). Shape:
(..., 1, 1). -
cl(Tensor) –Characteristic lengths. Shape:
(..., 1). -
iter(int) –Current iteration number.
Returns:
-
stress_new(Tensor) –Updated stress tensor. Shape:
(..., 1, 1). -
state_new(Tensor) –Updated internal state (unchanged). Shape:
(..., 0). -
ddsdde(Tensor) –Algorithmic tangent stiffness tensor. Shape:
(..., 1, 1, 1, 1).