tidy3d.AnisotropicConductivity#
- class AnisotropicConductivity[source]#
Bases:
Tidy3dBaseModelAnisotropic (tensor) thermal conductivity of a solid medium.
- Parameters:
xx (PositiveFloat) – [units = W/(um*K)]. Principal thermal conductivity along the local x-axis, in units of W/(um*K).
yy (PositiveFloat) – [units = W/(um*K)]. Principal thermal conductivity along the local y-axis, in units of W/(um*K).
zz (PositiveFloat) – [units = W/(um*K)]. Principal thermal conductivity along the local z-axis, in units of W/(um*K).
rotation (Optional[
RotationAroundAxis] = None) – Optional rotation orienting the principal axes(xx, yy, zz)in the global frame. WhenNonethe principal axes coincide with the global axes (diagonal tensor).
Notes
Specified by the principal conductivities
xx,yy,zzalong local axes, plus an optionalrotationthat orients those axes in the global frame. The resulting conductivity tensor is symmetric positive-definite (SPD) by construction (positive principals rotated by an orthonormal matrix), and the heat flux isq = -K . grad(T).Only the SPD class is representable. Non-symmetric / nonreciprocal thermal transport (for example thermal Hall / Righi-Leduc effects under a magnetic field) and indefinite or active effective models are out of scope. Use
from_components()to build an instance from the six symmetric components[kxx, kyy, kzz, kxy, kxz, kyz]directly (they are diagonalized into the equivalent principal-axes-plus-rotation form).Example
>>> aniso = AnisotropicConductivity(xx=1.0, yy=2.0, zz=3.0) >>> aniso = AnisotropicConductivity.from_components(kxx=2.0, kyy=3.0, kzz=4.0, kxy=0.5)
Attributes
Methods
from_components(kxx, kyy, kzz[, kxy, kxz, kyz])Build from the six symmetric tensor components in the global frame.
Resolve to the six packed symmetric tensor components
[kxx, kyy, kzz, kxy, kxz, kyz]in the global frame.- xx#
- yy#
- zz#
- rotation#
- to_tensor()[source]#
Resolve to the six packed symmetric tensor components
[kxx, kyy, kzz, kxy, kxz, kyz]in the global frame.
- classmethod from_components(kxx, kyy, kzz, kxy=0.0, kxz=0.0, kyz=0.0)[source]#
Build from the six symmetric tensor components in the global frame.
The components define the symmetric matrix
[[kxx, kxy, kxz], [kxy, kyy, kyz], [kxz, kyz, kzz]], which must be positive-definite. It is diagonalized into principal conductivities (its eigenvalues) plus arotationorienting the principal axes, i.e. the equivalent principal-axes-plus-rotation form. This adds no new physics: only symmetric positive-definite tensors are supported.- Parameters:
kxx (float) –
xxcomponent of the conductivity tensor.kyy (float) –
yycomponent of the conductivity tensor.kzz (float) –
zzcomponent of the conductivity tensor.kxy (float = 0.0) – Off-diagonal
xy(=yx) component.kxz (float = 0.0) – Off-diagonal
xz(=zx) component.kyz (float = 0.0) – Off-diagonal
yz(=zy) component.
Example
>>> aniso = AnisotropicConductivity.from_components(kxx=2.0, kyy=3.0, kzz=4.0, kxy=0.5)