sim.contact_solve.SapContactSolve.solve#

SapContactSolve.solve(contact_result: SapContactJacobianResult, state: SapState, control: SapControl | None, dt: float, v_star: array, *, v0: array | None = None, v_guess: array | None = None, v_guess_active: array | None = None, max_iterations: int = 100, optimality_abs_tol: float = 1e-14, optimality_rel_tol: float = 1e-06, cost_abs_tol: float | None = None, cost_rel_tol: float | None = None, line_search_max_iterations: int = 40, armijo_c: float = 0.0001, rho: float = 0.8, line_search_relative_slop: float | None = None, line_search_variant: str = 'monotone_decay', collect_iteration_stats: bool = True, check_line_search_errors: bool = True, graph_conditional: bool = True) SapContactSolveResult[source]#

Solve the SAP velocity objective for the active contacts and write the next generalized velocity in SAP order.