gs.materials.MPM.Elastic#

class genesis.engine.materials.MPM.elastic.Elastic(E=300000.0, nu=0.2, rho=1000.0, lam=None, mu=None, sampler=None, model='corotation')[source]#

Bases: Base

The elastic material class for MPM.

Note

Elastic objects is softened by multiplying the default E by 0.3. Reference for the default values of E and nu: 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.

  • model (str, optional) – Stress model (‘corotation’, ‘neohooken’). Default is ‘corotation’.

update_F_S_Jp(J, F_tmp, U, S, V, Jp)[source]#
update_stress_corotation(U, S, V, F_tmp, F_new, J, Jp, actu, m_dir)[source]#
update_stress_neohooken(U, S, V, F_tmp, F_new, J, Jp, actu, m_dir)[source]#
property model#

Stress model (‘corotation’, ‘neohooken’)