Orthotropic Conductivity 3D¶
Bases: IsotropicConductivity3D
Orthotropic heat conductivity material in 3D.
Parameters:
-
kappa_1(Tensor | float) –Conductivity along local axis 1.
-
kappa_2(Tensor | float) –Conductivity along local axis 2.
-
kappa_3(Tensor | float) –Conductivity along local axis 3.
-
rho(Tensor | float, default:1.0) –Mass density. Default is
1.0.
Notes
- No internal state variables (
n_state = 0). - Supports batched/vectorized material parameters.
- Supports rotation of the material coordinate system via
rotate().
Orthotropic conductivity tensor
The principal conductivities are aligned with the material axes, so the
conductivity tensor is diagonal in the material frame
$$
\pmb{\kappa} =
\begin{bmatrix}
\kappa_1 & 0 & 0 \cr
0 & \kappa_2 & 0 \cr
0 & 0 & \kappa_3
\end{bmatrix}
= \sum_{i=1}^{3} \kappa_i \, \mathbf{e}_i \otimes \mathbf{e}_i
$$
with the material axes \(\mathbf{e}_i\). rotate() maps it into the global
frame as \(\kappa_{ij} \mapsto R_{ik} R_{jl} \kappa_{kl}\).
vectorize(n_elem)
¶
Returns the material batched over n_elem elements.
Parameters:
-
n_elem(int) –Number of elements to vectorize the material for.
Returns:
-
Material(T) –A material of the same type carrying one entry per element, or itself if it is vectorized already.
step(grad_inc, grad, flux, state, cl, iter)
¶
Performs an incremental step in the isotropic heat conduction model.
Fourier's law, \(\Delta \mathbf{q} = -\pmb{\kappa} \cdot \Delta \nabla T\), with a constant conductivity.
Parameters:
-
grad_inc(Tensor) –Incremental temperature gradient. Shape:
(..., 1, 3), where...represents batch dimensions. -
grad(Tensor) –Current temperature gradient. Unused. Shape:
(..., 1, 3), same asgrad_inc. -
flux(Tensor) –Current heat flux. Shape:
(..., 1, 3). -
state(Tensor) –Internal state variables (unused in heat conductivity). Shape: Arbitrary, remains unchanged.
-
cl(Tensor) –Characteristic lengths. Shape:
(...). -
iter(int) –Current iteration number.
Returns:
-
flux_new(Tensor) –Updated heat flux. Shape:
(..., 1, 3). -
state_new(Tensor) –Updated internal state (unchanged). Shape: same as
state. -
dqdg(Tensor) –Algorithmic tangent conductivity. Shape:
(..., 3, 3).
rotate(R)
¶
Returns a copy with its conductivity tensor rotated by R.