warp.fem.SymmetricTensorMapper#
- class warp.fem.SymmetricTensorMapper(dtype, mapping=Mapping.VOIGT)[source]#
Orthonormal isomorphism from R^{n (n+1)} to nxn symmetric tensors, using usual L2 norm for vectors and half Frobenius norm, (tau : tau)/2 for tensors.
Methods
__init__(dtype[, mapping])Attributes
dof_to_valuevalue_to_dofvalue_dtypedof_dtypeDOF_SIZE- class Mapping(*values)[source]#
- VOIGT = 0#
Voigt ordering of vector coefficients: first the three diagonal terms, then off-diagonal coefficients
- DB16 = 1#
Ordering that also separates normal from tangential coefficients: first trace, then other diagonal terms, then off-diagonal coefficients. See [Daviet and Bertails-Descoubes 2016]
- dof_to_value_2d = <Function SymmetricTensorMapper__dof_to_value_2d(dof: vec3f)>#
- Parameters:
dof (vec3f)
- value_to_dof_2d = <Function SymmetricTensorMapper__value_to_dof_2d(val: mat22(f))>#
- Parameters:
val (mat22f)
- dof_to_value_2d_voigt = <Function SymmetricTensorMapper__dof_to_value_2d_voigt(dof: vec3f)>#
- Parameters:
dof (vec3f)
- value_to_dof_2d_voigt = <Function SymmetricTensorMapper__value_to_dof_2d_voigt(val: mat22(f))>#
- Parameters:
val (mat22f)
- dof_to_value_3d = <Function SymmetricTensorMapper__dof_to_value_3d(dof: vector(length=6, dtype=float32))>#
- Parameters:
dof (vec_t)
- value_to_dof_3d = <Function SymmetricTensorMapper__value_to_dof_3d(val: mat33(f))>#
- Parameters:
val (mat33f)
- dof_to_value_3d_voigt = <Function SymmetricTensorMapper__dof_to_value_3d_voigt(dof: vector(length=6, dtype=float32))>#
- Parameters:
dof (vec_t)