zoomy_core.numerics.diffusion#
Structure of a system’s diffusion tensor A in div(A : grad Q), read off
diffusion_matrix only.
Tells the solver templates which discretisation (none, isotropic, diagonal, dense) the
NumericalSystemModel needs.
Module Contents#
Classes#
Classification of the diffusion tensor: |
Functions#
Classify |
API#
- class zoomy_core.numerics.diffusion.DiffusionStructure#
Classification of the diffusion tensor:
kind(none | isotropic | diagonal | dense), whether it is state dependent, and its coefficients.- kind: str#
None
- state_dependent: bool#
False
- coefficients: dict#
‘field(…)’
- axis_coefficients: dict#
‘field(…)’
- zoomy_core.numerics.diffusion.classify_diffusion(sm, slot: str = 'diffusion_matrix') zoomy_core.numerics.diffusion.DiffusionStructure#
Classify
sm.<slot>as none, isotropic (one scalar per row), diagonal (direction dependent) or dense (cross-row or cross-derivative entries).Returns
A
DiffusionStructure; coefficients are the tensor’s own entries, never looked up by parameter name.