gs.materials.MPM.Sand#

class genesis.engine.materials.MPM.sand.Sand(*, 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, idx: int | None = None, friction_angle: float = 45.0, alpha: float = 0.0)[source]#

Bases: Base

The sand material class for MPM.

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’.

  • friction_angle (float, optional) – Friction angle in degrees, used to compute internal pressure-dependent plasticity. Default is 45.

sampler: str#
friction_angle: float#
alpha: float#
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].