jaxdem.materials.elastic_mats#

Elastic material variants.

Classes

CundallStrackParameters(density, k_n, k_t, ...)

Direct coefficients for the Cundall--Strack force law.

Elastic(density, young, poisson)

Elastic material specified by density, Young's modulus, and Poisson's ratio.

ElasticFriction(density, young, poisson, mu, e)

Elastic material with contact friction and restitution.

class jaxdem.materials.elastic_mats.Elastic(density: float, young: float, poisson: float)#

Bases: Material

Elastic material specified by density, Young’s modulus, and Poisson’s ratio.

Example

>>> import jaxdem as jdem
>>> elastic_steel = jdem.Material.create("elastic", density=7850.0, young=2.0e11, poisson=0.3)
young: float#
poisson: float#
class jaxdem.materials.elastic_mats.ElasticFriction(density: float, young: float, poisson: float, mu: float, e: float, mu_r: float = 0.0)#

Bases: Material

Elastic material with contact friction and restitution.

Example

>>> import jaxdem as jdem
>>> frictional_rubber = jdem.Material.create("elasticfrict", density=1100.0, young=1.0e7, poisson=0.49, mu=0.5, e=1.0)
>>> geared_sphere = jdem.Material.create("elasticfrict", density=1100.0, young=1.0e7, poisson=0.49, mu=0.5, e=1.0, mu_r=0.3)
young: float#
poisson: float#
mu: float#
e: float#
mu_r: float#

Rolling friction coefficient. It creates a resistive torque \(-\mu_r R_{\text{eff}} F_n \hat{\omega}_{\text{rel}}\) that opposes the relative angular velocity at the contact.

class jaxdem.materials.elastic_mats.CundallStrackParameters(density: float, k_n: float, k_t: float, b_n: float, b_t: float, mu: float, mu_r: float = 0.0)#

Bases: Material

Direct coefficients for the Cundall–Strack force law.

Pair stiffnesses and damping coefficients are harmonic means of the corresponding particle values. Sliding friction is mixed by the callable configured on CundallStrackForce.

k_n: float#
k_t: float#
b_n: float#
b_t: float#
mu: float#
mu_r: float#