Source code for isaaclab.sim.spawners.materials.physics_materials_cfg
# Copyright (c) 2022-2025, The Isaac Lab Project Developers.# All rights reserved.## SPDX-License-Identifier: BSD-3-Clausefromcollections.abcimportCallablefromdataclassesimportMISSINGfromtypingimportLiteralfromisaaclab.utilsimportconfigclassfrom.importphysics_materials
[docs]@configclassclassPhysicsMaterialCfg:"""Configuration parameters for creating a physics material. Physics material are PhysX schemas that can be applied to a USD material prim to define the physical properties related to the material. For example, the friction coefficient, restitution coefficient, etc. For more information on physics material, please refer to the `PhysX documentation <https://nvidia-omniverse.github.io/PhysX/physx/5.4.1/_api_build/classPxBaseMaterial.html>`__. """func:Callable=MISSING"""Function to use for creating the material."""
[docs]@configclassclassRigidBodyMaterialCfg(PhysicsMaterialCfg):"""Physics material parameters for rigid bodies. See :meth:`spawn_rigid_body_material` for more information. Note: The default values are the `default values used by PhysX 5 <https://docs.omniverse.nvidia.com/extensions/latest/ext_physics/rigid-bodies.html#rigid-body-materials>`__. """func:Callable=physics_materials.spawn_rigid_body_materialstatic_friction:float=0.5"""The static friction coefficient. Defaults to 0.5."""dynamic_friction:float=0.5"""The dynamic friction coefficient. Defaults to 0.5."""restitution:float=0.0"""The restitution coefficient. Defaults to 0.0."""improve_patch_friction:bool=True"""Whether to enable patch friction. Defaults to True."""friction_combine_mode:Literal["average","min","multiply","max"]="average""""Determines the way friction will be combined during collisions. Defaults to `"average"`. .. attention:: When two physics materials with different combine modes collide, the combine mode with the higher priority will be used. The priority order is provided `here <https://nvidia-omniverse.github.io/PhysX/physx/5.4.1/_api_build/structPxCombineMode.html>`__. """restitution_combine_mode:Literal["average","min","multiply","max"]="average""""Determines the way restitution coefficient will be combined during collisions. Defaults to `"average"`. .. attention:: When two physics materials with different combine modes collide, the combine mode with the higher priority will be used. The priority order is provided `here <https://nvidia-omniverse.github.io/PhysX/physx/5.4.1/_api_build/structPxCombineMode.html>`__. """compliant_contact_stiffness:float=0.0"""Spring stiffness for a compliant contact model using implicit springs. Defaults to 0.0. A higher stiffness results in behavior closer to a rigid contact. The compliant contact model is only enabled if the stiffness is larger than 0. """compliant_contact_damping:float=0.0"""Damping coefficient for a compliant contact model using implicit springs. Defaults to 0.0. Irrelevant if compliant contacts are disabled when :obj:`compliant_contact_stiffness` is set to zero and rigid contacts are active. """
[docs]@configclassclassDeformableBodyMaterialCfg(PhysicsMaterialCfg):"""Physics material parameters for deformable bodies. See :meth:`spawn_deformable_body_material` for more information. Note: The default values are the `default values used by PhysX 5 <https://docs.omniverse.nvidia.com/extensions/latest/ext_physics/deformable-bodies.html#deformable-body-material>`__. """func:Callable=physics_materials.spawn_deformable_body_materialdensity:float|None=None"""The material density. Defaults to None, in which case the simulation decides the default density."""dynamic_friction:float=0.25"""The dynamic friction. Defaults to 0.25."""youngs_modulus:float=50000000.0"""The Young's modulus, which defines the body's stiffness. Defaults to 50000000.0. The Young's modulus is a measure of the material's ability to deform under stress. It is measured in Pascals (Pa). """poissons_ratio:float=0.45"""The Poisson's ratio which defines the body's volume preservation. Defaults to 0.45. The Poisson's ratio is a measure of the material's ability to expand in the lateral direction when compressed in the axial direction. It is a dimensionless number between 0 and 0.5. Using a value of 0.5 will make the material incompressible. """elasticity_damping:float=0.005"""The elasticity damping for the deformable material. Defaults to 0.005."""damping_scale:float=1.0"""The damping scale for the deformable material. Defaults to 1.0. A scale of 1 corresponds to default damping. A value of 0 will only apply damping to certain motions leading to special effects that look similar to water filled soft bodies. """