Skip to content

Return consistent tangent in Penalty and Lagrange constraints - #118

Open
gaaraujo wants to merge 1 commit into
peer-open-source:stablefrom
gaaraujo:fix/penalty-lagrange-tangent
Open

Return consistent tangent in Penalty and Lagrange constraints#118
gaaraujo wants to merge 1 commit into
peer-open-source:stablefrom
gaaraujo:fix/penalty-lagrange-tangent

Conversation

@gaaraujo

@gaaraujo gaaraujo commented Aug 9, 2026

Copy link
Copy Markdown
Contributor

Issue

getTangent in the Penalty and Lagrange FE elements bypassed the integrator. As a result:

  1. Constraint terms could be incorrectly included in matrices intended to contain only mass contributions, such as through the eigenvalue assembly path formMgetTangentaddM, or in certain explicit integrators that assemble only mass on the left-hand side.
  2. The assembled tangent could be inconsistent with the residual.

This PR routes the Penalty and Lagrange constraint FE tangents through the integrator and also implements previously missing methods, including getK_Force and getTangForce.

Route getTangent/getResidual through formEleTangent/formEleResidual so
constraint contributions respect integrator factors (e.g. mass-only
eigen assembly and Newmark c1). Adapted from OpenSees #1781 using
override/final instead of bare virtual.
@gaaraujo
gaaraujo force-pushed the fix/penalty-lagrange-tangent branch from 1d1b25c to d717736 Compare August 9, 2026 23:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant