jaxmat.materials.plastic_surfaces module#
- safe_zero(method)[source]#
Decorator for yield surfaces to avoid NaNs for zero stress in both fwd and bwd AD.
- class AbstractPlasticSurface[source]#
Bases:
ModuleAbstract plastic surface class.
- normal(sig, *args)[source]#
Normal to the yield surface. Computed automatically using forward AD on
__call__().- Parameters:
sig (
SymmetricTensor2) – Stress tensor.args – Additional thermodynamic forces entering the yield surface definition.
- class vonMises[source]#
Bases:
AbstractPlasticSurfacevon Mises yield surface
\[\sqrt{\dfrac{3}{2}\bs:\bs}\]where \(\bs = \dev(\bsig)\)
- class DruckerPrager[source]#
Bases:
AbstractPlasticSurfaceDrucker-Prager yield surface
\[\alpha I_1 + \sqrt{J_2}\]where \(I_1=\tr(\bsig)\) is the first stress invariant, \(J_2=\dfrac{1}{2}\bs:\bs\) is the second deviatoric invariant and \(\alpha\) a material constant describing the slope of the conic yield surface (friction effects).
- Parameters:
alpha (float) – Pressure sensitivity parameter
-
alpha:
float#
- class Hosford[source]#
Bases:
AbstractPlasticSurfaceHosford yield surface
\[\left(\dfrac{1}{2}(\lvert\sigma_\text{I}-\sigma_\text{II}\rvert^a + \lvert\sigma_\text{II}-\sigma_\text{III}\rvert^a + \lvert\sigma_\text{I}-\sigma_\text{III}\rvert^a)\right)^{1/a}\]with \(\sigma_\text{I}\) being the stress principal values.
- Parameters:
a (float) – Hosford shape parameter
-
a:
float= 2.0#
- class Tresca[source]#
Bases:
AbstractPlasticSurfaceTresca yield surface
\[\max_{\text{I},\text{J}}|\sigma_\text{I}-\sigma_\text{J}|\]with \(\sigma_\text{I}\) being the stress principal values.