Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

Difference between geomgap_dst_p1 and coupling opperators

Andrew Prudil Nuclear Materials

Please login with a confirmed email address before reporting spam

Hello All,

I have been trouble shooting a model which involves contact. I noticed a difference in behavior between the built in contact algorithm and an old manually implemented penalty method (using coupling operators). The built in method appears to be less robust and I'm not sure why (or if it is my imagination).

Description of manual method:
I used the manual method a number of years ago before comsol offered a penalty method using the built in contact function (in the past only the Lagrangian method was available which is less robust). Basically I defined two coupling operators which mapped from one surface to the other (much like the source and destination operators in the built in method). Because of my relatively simple geometry I could easily calculate the penetration distance on the destination boundary as: (source(x)-x). and apply a force to each surface based on the penetration to push them apart.

The built in contact method is very similar. It seems to use the "geomgap_dst_p1" (where p1 refers to the contact pair number) to calculate the distance between the surfaces. I can't find any information on how this calculation is performed expect the contact pair option search method 'direct' or 'fast'. I did some test, and I can't seem to get any non-zero derivatives of geomgap_dst_p1 (even though I think they are physically meaningful). i.e.,
d(geomgap_dst_p1,u) = 0
d(geomgap_dst_p1,TIME) = 0
d(geomgap_dst_p1,x) = 0
d(geomgap_dst_p1,X) = 0

This makes me wonder if the it can properly populate the jacobian. Maybe there is a difference between the runtime evaluation of these vs the post-processing evaluation of them? Maybe the geomap method doesn't allow for the derivative? (if it is just doing a geometric coordinate search this could make sense). Does anyone know what is under the hood and if there are any limitations to the geomgap_dst_p1 variable?

Am I wrong here? Wouldn't you want the option of including the contact terms in the jacobian to improve robustness rather than relying on iteration alone?

I'd like to try to use the built in contact using the geomgap_dst_p1 option for a couple of reasons: 1) presumably it is faster than coupling operators (this has not been confirmed, but I'm suspecting that it could be). 2) It automatically handles the mapping between the surfaces which is useful for more complex geometries. 3) My current method of calculating the distance between surfaces is currently 1D. 4) It makes it easier to make use of the built in features such as thermal contact and build higher dimensional models (currently using 2D axisymmetric).

Does anyone have any ideas? Thoughts? Explanations?

0 Replies Last Post 04.02.2016, 11:01 GMT-5
COMSOL Moderator

Hello Andrew Prudil

Your Discussion has gone 30 days without a reply. If you still need help with COMSOL and have an on-subscription license, please visit our Support Center for help.

If you do not hold an on-subscription license, you may find an answer in another Discussion or in the Knowledge Base.