How can I correct collisions and preserve mesh during dynamic simulation?

This is contact mechanics, and you would need to enforce the contact through your variational formulation, with either a Nitsche method or a penalty approach.

Legacy dolfin

@kamensky has also worked on contact mechanics: https://github.com/david-kamensky/tIGAr/blob/master/demos/kl-shell-svk/reef-knot.py
and
@bleyerj has quite alot of work on contact at: Hertzian contact with a rigid indenter using a penalty approach — Numerical tours of continuum mechanics using FEniCS master documentation

DOLFINx

@evzen did his thesis on the subject with DOLFINx: GitHub - evzenkorec/thesis_contact: thesis on high performance solvers for contact mechanics
Some contact mechanics has been implemented by me, Sarah Roggendorf and @chris at: GitHub - Wells-Group/asimov-contact: Contact models for ASiMoV

1 Like