This page provides a summary of our experience while debugging with contact formulations in FEBio, using model:
https://simtk.org/websvn/wsvn/openknee/_gen1/src/dbg/contact.feb
-- aerdemir 2010-03-23 21:08:39 Summary for 001.feb - 024.feb:
- After many trials (sections 001.feb - 021.feb), the definition of side surfaces in contact descriptions was found to cause problems in resolving contact constraints. This was particularly apparent with auto penalty or high penalty conditions, which seemed to amplify the problem. When penalty was small, e.g. 1 (without auto-penalty), convergence was possible but with visible penetration.
- Removal of side surfaces in contact descriptions facilitated convergence and allowed solutions to be obtained with higher penalty values with acceptable penetration (sections 022.feb - 024.feb).
- Decreasing computational tolerances allowed larger time steps and faster convergence (024.feb).
- Note that femoral cartilage mesh both in contact.feb@34 and contact.feb@36 have unmerged nodes that caused a local region of back surface in cartilage penetrate into bone.
All simulations are conducted at Glenn, an OSC computer using single node with 8 cores.
Contents
With contact.feb@34
001.feb
<contact name= "CART2CART" type="sliding_with_gaps"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>0</two_pass> <penalty>1</penalty> <auto_penalty>0</auto_penalty> Notes: ------- failed to converge at time : 0.500098 visible penetration
002.feb
<contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>0</two_pass> <penalty>1</penalty> <auto_penalty>0</auto_penalty> Notes: ------- failed to converge at time : 0.593982 visible penetration
003.feb
<contact name= "CART2CART" type="sliding2"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>0</two_pass> <penalty>1</penalty> <auto_penalty>0</auto_penalty> Notes: ------- failed to converge at time : 9.76563e-05 fine-tuning maybe necessary to ensure convergence for a small incrementation
004.feb
<contact name= "CART2CART" type="sliding_with_gaps"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>1</penalty> <auto_penalty>1</auto_penalty> Notes: ------- failed to converge at time : 0.246565 no visible penetration, ~1mm compression only, is convergence good enough?
005.feb
<contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>1</penalty> <auto_penalty>1</auto_penalty> Notes: ------- failed to converge at time : 0.250474 no visible penetration (visible penetration for the t=0.2 for 002.feb), ~1 mm compression only, is convergence good enough?
006.feb
<contact name= "CART2CART" type="sliding2"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>1</penalty> <auto_penalty>1</auto_penalty> Notes: ------- failed to converge at time : 9.76563e-05 fine-tuning maybe necessary to ensure convergence for a small incrementation
007.feb
<contact name= "CART2CART" type="sliding_with_gaps"> <laugon>1</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>1</penalty> <auto_penalty>1</auto_penalty> Notes: ------- failed to converge at time : 0.227974 no visible penetration, ~1mm compression only, is convergence good enough?
008.feb
<contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>1</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>1</penalty> <auto_penalty>1</auto_penalty> Notes: ------- failed to converge at time : 0.242585 no visible penetration, ~1mm compression only, is convergence good enough?
009.feb
<contact name= "CART2CART" type="sliding2"> <laugon>1</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>1</penalty> <auto_penalty>1</auto_penalty> Notes: ------- failed to converge at time : 9.76563e-05 fine-tuning maybe necessary to ensure convergence for a small incrementation
010.feb
<contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>1</penalty> <auto_penalty>0</auto_penalty> Notes: ------- failed to converge at time : 0.419247 visible penetration
011.feb
<contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>0</two_pass> <penalty>1</penalty> <auto_penalty>1</auto_penalty> Notes: ------- failed to converge at time : 0.360039 visible penetration
012.feb
<contact name= "CART2CART" type="sliding2"> <laugon>0</laugon> <tolerance>0.05</tolerance> <two_pass>1</two_pass> <penalty>11</penalty> <auto_penalty>1</auto_penalty> <symmetric_stiffness>0</symmetric_stiffness> Notes: ------- failed to converge at time : 9.76563e-05 contact settings are same as c034.feb (verification problem) not convergence tolerances though
013.feb
<dtol>0.1</dtol> <etol>0.01</etol> <rtol>0</rtol> <lstol>999</lstol> <contact name= "CART2CART" type="sliding2"> <laugon>0</laugon> <tolerance>0.05</tolerance> <two_pass>1</two_pass> <penalty>11</penalty> <auto_penalty>1</auto_penalty> <symmetric_stiffness>0</symmetric_stiffness> Notes: ------- failed to converge at time : 9.76563e-05 contact and convergence settings are same as c034.feb (verification problem), units and relative material properties issue?
014.feb
<dtol>0.1</dtol> <etol>0.01</etol> <rtol>0</rtol> <lstol>999</lstol> <contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>0</laugon> <tolerance>0.05</tolerance> <two_pass>1</two_pass> <penalty>11</penalty> <auto_penalty>1</auto_penalty> Notes: ------- failed to converge at time : 0.173776 barely touches.
015.feb
<dtol>0.1</dtol> <etol>0.01</etol> <rtol>0</rtol> <lstol>999</lstol> <contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>0</laugon> <tolerance>0.05</tolerance> <two_pass>1</two_pass> <penalty>1</penalty> <auto_penalty>1</auto_penalty> Notes: ------- failed to converge at time : 0.286513
016.feb
<dtol>0.1</dtol> <etol>0.01</etol> <rtol>0</rtol> <lstol>999</lstol> <contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>0</laugon> <tolerance>0.05</tolerance> <two_pass>1</two_pass> <penalty>0.01</penalty> <auto_penalty>1</auto_penalty> Notes: ------- converged at time : 1 goes through it, no good.
017.feb
<dtol>0.1</dtol> <etol>0.01</etol> <rtol>0</rtol> <lstol>999</lstol> <contact name= "CART2CART" type="sliding2"> <laugon>0</laugon> <tolerance>0.05</tolerance> <two_pass>1</two_pass> <penalty>0.001</penalty> <auto_penalty>1</auto_penalty> Notes: ------- converged at time : 1 goes through it, no good.
018.feb
<contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>10</penalty> <auto_penalty>0</auto_penalty> Notes: ------- failed to converge at time : 0.286513 similar penetration as 005
019.feb
<contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>1</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>1</penalty> <auto_penalty>0</auto_penalty> Notes: ------- failed to converge at time : 0.400004 visible penetration.
020.feb
<lstol>999</lstol> <contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>10</penalty> <auto_penalty>0</auto_penalty> Notes: ------- failed to converge at time : 0.286513 same as 018.
021.feb
<dtol>0.1</dtol> <contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>10</penalty> <auto_penalty>0</auto_penalty> Notes: ------- failed to converge at time : 0.411666 visible penetration
018d.feb
<contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>10</penalty> <auto_penalty>0</auto_penalty> Notes: ------- failed to converge at time : 0.286513 similar penetration as 005 In debug mode, it appears that defining side faces may cause contact definition discrepancies. Removal of side surfaces from contact interaction definitions are warranted.
With contact.feb@36
AFTER SIDE FACES AT CONTACT SURFACES WERE REMOVED AND SETTINGS REFLECTED 018.feb:
022.feb
Same as contact.feb@36
<contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>10</penalty> <auto_penalty>0</auto_penalty> Notes: ------- failed to converge at time : 0.400051 visible penetration but convergance rate improved.
023.feb
<contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>100</penalty> <auto_penalty>0</auto_penalty> Notes: ------- failed to converge at time : 0.399434 no visible penetration
024.feb
<dtol>0.1</dtol> <lstol>999</lstol> <contact name= "CART2CART" type="facet-to-facet sliding"> <laugon>0</laugon> <tolerance>0.1</tolerance> <two_pass>1</two_pass> <penalty>100</penalty> <auto_penalty>0</auto_penalty> Notes: ------- failed to converge at time : 0.555145 no visible penetration