Skip to content

Solver design

Suspension Explorer represents each suspension as constrained geometry, then differentiates the solved mechanism locally. This allows the same core solver to support different suspension layouts, derived-point targets, and applicable response derivatives without requiring a separate closed-form motion solution for every topology.

text
topology + sweep targets

derived geometry + constraint Jacobian

nonlinear state solve

local tangent fields

metrics + motion ratios + steering response

Constraint-based solving

Each topology declares its fixed and free points, geometric constraints, derived points, and driveable coordinates. At each sweep step, the nonlinear solver finds the free-point positions that satisfy both the permanent mechanism constraints and the requested targets.

The primary suspension sweep supplies the optimizer with a complete Jacobian assembled from:

  • Analytical gradients for geometric constraints.
  • Analytical gradients for point, actuator-position, element-length, and topology-owned target coordinates.
  • Automatically differentiated chain-rule terms wherever a constraint or target depends on derived geometry.

This keeps the solver architecture shared across all supported models. New locating layouts and mechanisms can use the same constraint, target, and derivative machinery instead of requiring their own bump, roll, and steering solvers.

Derived geometry as a dependency graph

Derived points are declared together with their dependencies. The core validates this directed acyclic graph, rejects circular definitions, and evaluates points in topological order so that every dependency is available before it is used.

The graph is also differentiable. Forward-mode automatic differentiation propagates a derived point’s Jacobian back to the free points on which it depends. The solver then uses the chain rule to include that relationship in its constraint and target rows. A derived point such as the wheel center can therefore be used as a sweep target without becoming an independent solver variable.

Not every computed output is a meaningful driver. Coupled constructions such as the wheel contact center are deliberately output-only and are rejected as sweep targets.

Local response derivatives

After each state has been accepted, Suspension Explorer calculates local tangents to the mechanism’s solution manifold. It first finds the motion directions permitted by the permanent constraint Jacobian, then applies the active target gradients to determine the response to each drive coordinate.

Each tangent represents unit motion of one target while every other target and explicit hold in the same basis has zero rate. Forward-mode automatic differentiation then carries that tangent through derived geometry and metric calculations.

Applicable motion ratios and response derivatives include camber gain, bump steer, damper motion ratio, and mechanism response to wheel-center or rack motion. They are evaluated at the current solved state rather than estimated from neighboring sweep frames or from a chosen perturbation step.

Coordinated targets define the question

Multiple sweep targets are paired by step and solved together. Those targets also define the boundary conditions for the reported local derivatives.

For example, the response to left wheel-center motion in an axle sweep is calculated while the other active targets have zero instantaneous rate. Changing which coordinate is held can change the derivative at the same physical position because it asks a different kinematic question.

The virtual steering axis uses a separate, topology-owned local response. It applies unit rack motion while holding the topology’s declared suspension-travel coordinates at their current values. The resulting point rates define an instantaneous screw axis, keeping the steering result independent of the targets used to reach that state and avoiding a perturb-and-resolve calculation.

Visible numerical diagnostics

A converged optimizer result is accepted only when its residuals also satisfy the feasibility tolerance. Structured diagnostics then report issues such as:

  • Possible solution-branch jumps between sweep steps.
  • Rank-deficient or inconsistent derivative bases.
  • Weak target coupling and poor tangent conditioning.
  • Invalid steering-response axes.
  • Topology-specific chirality or transmission-margin problems.

When a derivative is not uniquely or reliably defined, it is reported as unavailable with a diagnostic rather than silently replaced by an arbitrary value.

Finite-difference boundary

The primary suspension sweep and reported response derivatives do not use finite differences. Their Jacobians and local tangents combine analytical gradients, implicit differentiation, and forward-mode automatic differentiation. The state itself is still found numerically; Suspension Explorer is not a symbolic closed-form solver.

The separate setup-stage camber-shim assembly is currently an exception: its local nonlinear setup solve uses a numerical Jacobian. That setup calculation is not part of the primary sweep or a reported response derivative.

Pushrod/pullrod and toe setup shims are not an exception. They change the target length of an existing distance constraint, so the primary solver handles them through its ordinary analytical path.

Applying a link-length shim does mean the authored hardpoints no longer satisfy their own constraints, because the shimmed link no longer matches the distance between the points as drawn. The static-pose result therefore reports a solved assembled state rather than the authored positions whenever such a shim is active, holding the installed mechanism coordinates so that only the setup change moves the mechanism.