Stiffness and Damping in Constraint Solving

Stiffness

Material stiffness is controlled by a parameter , which controls how strongly a constraint is enforced. The most straightforward way to incorporate stiffness is to scale the calculated correction by : . However, this makes the effective stiffness dependent on the number of solver iterations, . If a constraint is projected times, the remaining error after the projections would be proportional to . A more robust formulation that decouples stiffness from the iteration count is: By scaling the correction by instead of , the remaining error after iterations becomes , which is independent of . This allows artists to tune the material stiffness without worrying about how many solver iterations are being used.

Damping

Although the PBD method is generally stable, simulations can exhibit excessive oscillations or kinetic energy gain, particularly with stiff constraints. The quality of dynamic simulations can generally be improved by the incorporation of an appropriate damping scheme. It can improve the stability by reducing temporal jittering of the point positions of an object. It also allows for larger time steps which increases the performance of a dynamic simulation.

A naive damping of all velocities can undesirably affect the global motion of an object, slowing down its overall translation and rotation. A more sophisticated approach is to damp only the relative motions of particles while preserving the total linear and angular momentum of the system.

Method 32.5.1 (Momentum-Conserving Damping).

  1. Compute Center of Mass and Velocity: ,

  2. Compute Angular Momentum and Inertia Tensor: Let .

  3. Compute Angular Velocity:

  4. Apply Damping: For each particle :

    a. Calculate the velocity deviation from rigid body motion:

    b. Apply damping to the deviation:

This method effectively isolates the non-rigid components of motion and damps only them. In the extreme case where , all relative motion is eliminated, and the object behaves as a perfect rigid body.

Extended Position Based Dynamics (XPBD)

While the stiffness formulation in Equation (32.5.1) decouples the effective stiffness from the solver iteration count, a fundamental limitation of standard PBD remains: the resulting material stiffness is still dependent on the simulation time step . An extension known as Extended Position Based Dynamics (XPBD) addresses this issue, enabling true parameter-independent stiffness.

XPBD is derived from a compliant constraint formulation and introduces the concept of compliance as the inverse of stiffness.

Definition 32.5.1 (Compliance). Compliance, , is the inverse of a material's stiffness , with . It describes a material's propensity to deform under load. In XPBD, a compliance of corresponds to an infinitely stiff, or hard, constraint.

The core idea of XPBD is to treat the Lagrange multiplier not as a temporary value recalculated in each iteration, but as a physical quantity representing the accumulated impulse that is incrementally updated. In each solver iteration, we calculate an impulse increment, , and add it to the total impulse for that constraint. The formula for this increment modifies Equation (32.4.3) as follows: Here, is the total accumulated Lagrange multiplier for the constraint from previous iterations within the current time step. The term is the time-step scaled compliance, defined as: This scaling ensures that the compliance parameter has physically consistent units within the dynamical system. After computing , the solver updates both the particle positions and the accumulated Lagrange multiplier for that constraint:

Remark 32.5.1 (Interpretation of XPBD). The term in the denominator of Equation (32.5.2) acts to limit the magnitude of the corrective impulse . As compliance increases (i.e., the material becomes softer), grows, thus reducing the impulse applied per iteration. In the case of zero compliance (), the terms vanish, and the formula for reduces to the standard PBD formulation in Equation (32.4.3).

The primary benefit of XPBD is not faster convergence, but convergence to a physically consistent state that correctly reflects the user-defined compliance , independent of the time step or iteration count. If the solver is terminated early, the system still exhibits the desired softness to some degree rather than an artificial, uncontrolled compliance. This makes material behavior more predictable and robust.