gs.materials.MPM.Snow#

class genesis.engine.materials.MPM.snow.Snow(*, use_visual_raycasting: bool = False, E: float = 1000000.0, nu: float = 0.2, rho: float = 1000.0, lam: float | None = None, mu: float | None = None, sampler: str = 'random', update_F_S_Jp: Any = None, update_stress: Any = None, needs_svd: bool = True, idx: int | None = None, yield_lower: float = 0.025, yield_higher: float = 0.0045, use_von_mises: bool = False, von_mises_yield_stress: float = 10000.0)[source]#

Bases: ElastoPlastic

The snow material class for MPM.

Note

Snow is a special type of ElastoPlastic that gets harder when compressed. It does not support von Mises yield criterion.

Parameters:
  • E (float, optional) – Young’s modulus. Default is 1e6.

  • nu (float, optional) – Poisson ratio. Default is 0.2.

  • rho (float, optional) – Density (kg/m³). Default is 1000.

  • sampler (str, optional) – Particle sampler. Default is ‘random’.

  • yield_lower (float, optional) – Lower bound of yield condition. Default is 2.5e-2.

  • yield_higher (float, optional) – Upper bound of yield condition. Default is 4.5e-3.

sampler: str#
use_von_mises: bool#
model_post_init(context: Any) None[source]#

Override this method to perform additional initialization after __init__ and model_construct. This is useful if you want to do some validation that requires the entire model to be initialized.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid', 'strict': True, 'validate_default': True}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].