9.5 Guidelines for Contact Problems¶
FEBio offers many contact interfaces which allow the user to model complex boundary interactions. However, this capability comes at a price and the use of contact interfaces may create several problems in the solution process. It is hoped that the guidelines presented in this section may prevent many of the most common problems with contact.
Most of the contact algorithms implemented in FEBio offer two contact enforcement methods: a penalty method and an augmented Lagrangian method. Since the strategies for these two methods are slightly different, we will look at them separately. These algorithms are discussed in much more detail in the FEBio Theory Manual.
The penalty method¶
The penalty method enforces contact by “penalizing” (in an energy sense) any deviation from the contact constraint. In other words, when the two contacting surfaces penetrate, a force is generated proportional to the distance of penetration, which has the effect that the surfaces will now repel each other. The strength of this repelling force is controlled by the user through the penalty factor.
The obvious downside of this method is that some penetration is necessary to generate the contact force. The larger the penalty factor, the smaller this penetration needs to be and thus the better the contact constraint is enforced. However, choosing the penalty factor too large may cause the problem to become unstable since the contact force (and corresponding stiffness) will dominate the other forces in the model. Choosing a good penalty factor can thus be often difficult and may require several attempts before getting it “right”. To help with choosing a penalty factor, FEBio offers the _auto_penalty _option for many of its contact interfaces which will estimate a good penalty factor based on element size and initial material stiffness. However, even then it may still take a few tries before getting the penalty factor good enough.
Augmented Lagrangian Method¶
In theory, in the presence of constraints, the corresponding Lagrange multipliers must be calculated which, in the case of contact, correspond to the contact forces that enforce the contact constraint exactly. Unfortunately, the exact evaluation of these Lagrange multipliers is numerically very challenging and therefore in FEBio it was decided to evaluate these Lagrange multipliers using an iterative method, named the Augmented Lagrangian method. Using this method, FEBio will solve a time step several times (these iterations are termed augmentations), where each time the approximate Lagrange multipliers are updated (or augmented).
The obvious drawback of this method is that now each time step has to be solved several times. However, the advantage of avoiding the numerical problems of obtaining the exact Lagrange multipliers and the fact that in most contact problems very little extra work is needed to solve these augmentations, makes this method very attractive. In addition, it often gives better enforcement of the contact constraint compared to the penalty method.
So why not just use the augmented Lagrangian method? Well, often the penalty method will give good results and since the penalty method is much faster, it is often the preferred choice of many analysts.
In many cases, users are only interested in the final time step. For these users it may be of interest that it is possible to use the augmented Lagrange method only in the final time step. This can be done by defining a loadcurve for the tolerance contact parameter, which sets the convergence tolerance for the augmentations. (Note that you still need to set the enforcement method, i.e. the laugon parameter, to AUGLAG (=1)). Then, define the corresponding loadcurve as zero everywhere except for the final time step. FEBio will now only use the augmented Lagrangian method in the final time step (and the penalty method all other steps).
Initial Separation¶
FEBio often struggles with problems that have an initial separation. This is especially so when the problem is force-driven, meaning that the deformation of the model is driven by a force (opposed to displacement-driven problems). In general, when the contact interface is necessary to define a well-constrained problem it is best to avoid initial separation if possible. Another way around this issue is to first use a displacement to bring the surfaces in contact and then replace the displacement with a force.