LLNL / Tribol

Modular interface physics library featuring state-of-the-art contact physics methods.
MIT License
25 stars 2 forks source link

Removed instance where contact case AUTO is set to NO CASE. #88

Closed srwopschall closed 3 months ago

srwopschall commented 3 months ago

There was a coupling scheme validity check that if the registered contact case is AUTO, but the mesh ids are different, than the contact case was overwritten as NO_CASE.

This is not necessarily a bug, but we have a use case that does things a little differently. The most general case of auto contact is that I have one mesh (id = 1) that I register with Tribol, and I register a coupling scheme with mesh id=1 to be in contact with mesh id=1. That is the usual setting in which someone thinks about auto contact.

We have a case, however, where the host code loops over contact surfaces that are specified. In this case, surface 1 may be specified to be in contact with surface 2. Then, the host code may construct two meshes with unique ids, one for surface 1 and one for surface 2. If, however, both surfaces have the SAME boundary attribute, then the two meshes that are constructed are in fact the same collection of faces with that SINGLE boundary attribute. This is the case where the check that this PR removes was not doing the right thing.

In principle, nothing should happen in Tribol if in fact a host code specifies two different mesh ids that actually have two unique sets of faces, and specifies that the contact case is AUTO. The coupling scheme will still process faces in one mesh against faces on the other mesh.