An active normal constraint is enforced exactly in the reduced linear system. The active set changes with penetration and multiplier sign.
01 Model and scope
For a proposed active set, the saddle-point system solves equilibrium and exact zero-gap constraints together. The outer active-set update adds predicted penetrations and removes constraints whose multiplier would imply tension; the result depends on the active set stabilizing.
Route assumptions and calculation checks
- Add a contact if its predicted gap is negative.
- Remove an active contact if its multiplier implies tensile pressure.
- Stop when the active set stabilizes; singular saddle systems or iteration limits fail explicitly.
Useful foundations and prerequisites
02 Essential equations and symbols
Definitions and conventions
- Kᵣ, fᵣ
- Stiffness and force after essential-constraint reduction.
- B_A
- Rows of active contact constraints.
- Reduced displacement unknown.
- Lagrange multipliers for active contacts.
03 Step by step derivation
Follow the assumptions, equations and discrete operations in order. The full explanation stays visible.
1 · Start from the unconstrained equilibrium
Assemble the structural stiffness and load vector, impose essential supports, then solve the current linear equilibrium problem. Evaluate the signed gap at every candidate contact point. Negative gaps identify pairs that would interpenetrate without contact forces.
2 · Add active gap equations
For the current active set A, enforce the selected gaps as equalities and introduce one multiplier per active constraint. The multiplier is the normal contact reaction; the off-diagonal blocks couple the displacement correction to the constraints and make the saddle-point matrix indefinite.
3 · Update contact status
After the constrained solve, test both sides of complementarity. Add a previously open candidate if its gap is negative; remove an active constraint if its multiplier corresponds to tensile pressure under the declared sign convention. Re-solve until the active set stops changing.
Multiplier signs depend on whether the implementation stores pressure or the algebraic Lagrange multiplier. Read the linked contact contract before interpreting raw signs.
4 · Verify the final KKT state
The accepted state must satisfy bulk equilibrium, active zero-gap constraints, nonnegative pressure, nonnegative inactive gaps, and a stable active set. Singular constraint blocks, unresolved switching, or iteration-limit termination must remain explicit failures rather than being reported as convergence.
04 Algorithm and implementation
Read the linked versioned source for the actual assembly and solver behavior. The derivation above explains the mathematics and is not a verbatim source excerpt.
05 Verification and limitations
IMPLEMENTED_BOUNDED · direct sparse static path
The no-friction plane fixture closes under compression and stays open under tension.
Each reference supports its own model, observable and analysis route. Read the original contract and limitations before transferring a conclusion.