Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Constraint.Lagrangian] Add augmented lagrangians #5003

Open
wants to merge 8 commits into
base: master
Choose a base branch
from

Conversation

bakpaul
Copy link
Contributor

@bakpaul bakpaul commented Sep 17, 2024

This PR adds a first implementation of the augmented lagrangian collision (see A Surface-to-Surface Finite Element Algorithm for Large Deformation Frictional Contact).

To do so, because it is very close to the classical Unilateral constraint, I've tried to factorize code by adding a virtualization layer for both the constraints and the associated contact responses (see added class BaseContactLagrangianConstraint and BaseUnilateralContactResponse). It rely on a contact param template which is the only thing that differs in term of data and of course the type of ConstraintResolution used.

An example scene is introduced in the Demo folder, simply copying the falling beam example and replacing the response by the augmented lagrangian one.

There are still one todo for the future, even if this PR is already working on its own : adding the per-contact-point penalty modulation. This should be done by going back to the collision element using the DetectionOutput.elem attribute. This allows to go back to the topology. The only unknown is how to compute the element volume when the colliding topology is mapped to the simulated one.

[ci-depends-on https://github.com/SofaDefrost/ModelOrderReduction/pull/142]


By submitting this pull request, I acknowledge that
I have read, understand, and agree SOFA Developer Certificate of Origin (DCO).


Reviewers will merge this pull-request only if

  • it builds with SUCCESS for all platforms on the CI.
  • it does not generate new warnings.
  • it does not generate new unit test failures.
  • it does not generate new scene test failures.
  • it does not break API compatibility.
  • it is more than 1 week old (or has fast-merge label).

@bakpaul bakpaul added pr: status to review To notify reviewers to review this pull-request pr: new feature Implement a new feature pr: highlighted in next release Highlight this contribution in the notes of the upcoming release labels Sep 17, 2024
@bakpaul
Copy link
Contributor Author

bakpaul commented Sep 17, 2024

[ci-build][with-all-tests]

@bakpaul
Copy link
Contributor Author

bakpaul commented Sep 18, 2024

[ci-build][with-all-tests]

@sofabot
Copy link
Collaborator

sofabot commented Sep 18, 2024

[ci-depends-on] detected during build #5.

To unlock the merge button, you must

@bakpaul
Copy link
Contributor Author

bakpaul commented Sep 18, 2024

[ci-build][with-all-tests][force-full-build]

@sofabot
Copy link
Collaborator

sofabot commented Sep 18, 2024

[ci-depends-on] detected during build #6.

To unlock the merge button, you must

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
pr: highlighted in next release Highlight this contribution in the notes of the upcoming release pr: new feature Implement a new feature pr: status to review To notify reviewers to review this pull-request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants