-
Notifications
You must be signed in to change notification settings - Fork 312
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
base: master
Are you sure you want to change the base?
[Constraint.Lagrangian] Add augmented lagrangians #5003
Conversation
[ci-build][with-all-tests] |
[ci-build][with-all-tests] |
[ci-depends-on] detected during build #5. To unlock the merge button, you must
|
[ci-build][with-all-tests][force-full-build] |
[ci-depends-on] detected during build #6. To unlock the merge button, you must
|
…eed to fix it then add virutalization in Contact response
e665d6f
to
1fd7dfc
Compare
[ci-depends-on] detected during build #7. To unlock the merge button, you must
|
[ci-depends-on] detected during build #8. To unlock the merge button, you must
|
[ci-build][with-all-tests][force-full-build] |
[ci-depends-on] detected during build #9. To unlock the merge button, you must
|
[ci-build][with-all-tests][force-full-build] |
[ci-depends-on] detected during build #10. To unlock the merge button, you must
|
[ci-depends-on] detected during build #11. To unlock the merge button, you must
|
[ci-depends-on] detected during build #12. To unlock the merge button, you must
|
[ci-depends-on] detected during build #13. To unlock the merge button, you must
|
Ready to be reviewed ! |
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