gs.materials.MPM.ElastoPlastic#

class genesis.engine.materials.MPM.elasto_plastic.ElastoPlastic(*, 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 = 'pbs', 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 = True, von_mises_yield_stress: float = 10000.0)[source]#

Bases: Base

The elasto-plastic 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.

  • yield_lower (float, optional) – Lower bound for the yield clamp (ignored if using von Mises). Default is 2.5e-2.

  • yield_higher (float, optional) – Upper bound for the yield clamp (ignored if using von Mises). Default is 4.5e-3.

  • use_von_mises (bool, optional) – Whether to use von Mises yield criterion. Default is True.

  • von_mises_yield_stress (float, optional) – Yield stress for von Mises criterion. Default is 10000.

yield_lower: float#
yield_higher: float#
use_von_mises: bool#
von_mises_yield_stress: 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].