sim.contact_jacobian.SapContactJacobian#

class sim.contact_jacobian.SapContactJacobian(model: SapModel, *, max_rigid_contact: int = 100, fallback_mu: float | None = None, fallback_stiffness: float = 10000000000.0, fallback_tau_d: float = 0.1, contact_weight_mode: str = 'diag_delassus', contact_point_mode: str = 'contact_midpoint', capture_local_snapshots: bool = True, use_f64_boundary_pose: bool = True, free_motion_solve_precision: str = 'fp64', sap_contact_weight_precision: str = 'fp64')[source]#

Bases: object

Standalone Warp implementation of SAP-style contact preparation.

Runtime input is SAP-native contact storage. Internal quantities are SAP-style: body-origin spatial velocity Jacobians and FREE velocity order [w, v_body_origin].

__init__(model: SapModel, *, max_rigid_contact: int = 100, fallback_mu: float | None = None, fallback_stiffness: float = 10000000000.0, fallback_tau_d: float = 0.1, contact_weight_mode: str = 'diag_delassus', contact_point_mode: str = 'contact_midpoint', capture_local_snapshots: bool = True, use_f64_boundary_pose: bool = True, free_motion_solve_precision: str = 'fp64', sap_contact_weight_precision: str = 'fp64')[source]#

Methods

__init__(model, *[, max_rigid_contact, ...])

compute(state_in, contacts, *, control[, dt])

Build contact Jacobians, material parameters, gap values, and per-environment dynamics blocks for the SAP contact solve.

set_fallback_tau_d(fallback_tau_d)

Set the fallback contact dissipation time scale used when contact material data does not provide tau.