sim.free_motion.SapFreeMotion.compute#
- SapFreeMotion.compute(state_in: SapState, control: SapControl | None, dt: float, *, assemble_dynamics_matrix: bool = False) SapFreeMotionResult[source]#
Compute SAP free motion from SAP-native state/control.
The returned buffers satisfy v_star = v0 + dt * vdot0 in SAP order. Set assemble_dynamics_matrix=True only for parity/debug code that needs the global dense A = M + R in SAP velocity order. Runtime contact/solver paths should use env-local matrix assembly instead.