gs.materials.MPM.ElastoPlastic#

class genesis.engine.materials.MPM.elasto_plastic.ElastoPlastic(E=1000000.0, nu=0.2, rho=1000.0, lam=None, mu=None, sampler=None, yield_lower=0.025, yield_higher=0.0045, use_von_mises=True, von_mises_yield_stress=10000.0)[source]#

Bases: Base

The elasto-plastic material class for MPM.

Note

Default yield ratio comes from the SNOW material in taichi’s MPM implementation: taichi-dev/taichi_elements

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^3). Default is 1000.

  • lam (float, optional) – The first Lame’s parameter. Default is None, computed by E and nu.

  • mu (float, optional) – The second Lame’s parameter. Default is None, computed by E and nu.

  • sampler (str, optional) – Particle sampler (‘pbs’, ‘regular’, ‘random’). Note that ‘pbs’ is only supported on Linux for now. Defaults to ‘pbs’ on supported platforms, ‘random’ otherwise.

  • 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-2.

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

update_F_S_Jp(J, F_tmp, U, S, V, Jp)[source]#
property yield_lower#

Lower bound for the yield clamp (ignored if using von Mises).

property yield_higher#

Upper bound for the yield clamp (ignored if using von Mises).

property use_von_mises#

Whether to use von Mises yield criterion.

property von_mises_yield_stress#

Yield stress for von Mises criterion.