Barrier Potential
As discussed in Distance Barrier for Nonpenetration, the principle of IPC for solid-to-obstacle contact is to use a barrier function to ensure that the signed distance between any nodal degrees of freedom (DOFs) and obstacles remains positive throughout the simulation. To handle self-contact, potentially for codimensional objects, this idea is extended to ensure that the unsigned distance between any boundary points and the boundary remains nonzero throughout the simulation.
Let's consider two colliding regions, and , on the boundary. For any point , we must ensure that the closest distance between and any point on remains nonzero. This can be achieved by using a barrier function to enforce this minimum distance, where the negative gradient of the function provides the contact force. This can be written as
where is the barrier function:
serving as the contact potential energy density. Here, the barrier function approaches infinity as the distance approaches zero, providing an arbitrarily large repulsive force to prevent interpenetration. When the distance is above the threshold and no contact is occurring, no contact forces are exerted. By using the barrier function, the non-smooth contact constraints are approximated by a constitutive model in which the force is conservative, enabling consistent resolution through an optimization-based time integrator.
Remark 18.3.1 (Barrier Density). Compared to Equation (7.2.3), the barrier energy density function here is additionally multiplied by to maintain consistent units after surface integration. Recall from Remark 7.2.1 that the barrier potential can be thought of as an extra thin layer of (-thick) virtual material right outside the boundary of the solids, and is analogous to Young's modulus.
Remark 18.3.2 (Min Operator). When multiple points have the same minimal distance to , the distance barrier of to all these points should be summed up. The
min
operator is non-smooth, which can still complicate optimization-based time integration. In the next chapter, we will demonstrate how this is approximated as described in Distance Barrier for Nonpenetration.
The case of two colliding regions results in a boundary integral:
where is defined in Equation (18.3.1), and:
However, we have ignored the self-contact of and in this example. Thus, generalizing to arbitrary self-contact for the whole domain, we can keep the single boundary integral term for contact as in Equation (18.2.1) and define the traction more generally as:
where is an infinitesimal circle around with the radius sufficiently small to avoid unnecessary contact forces between a point and its geodesic neighbors.
Remark 18.3.3 (Barrier Force Limits). In Equation (18.3.4), self-contact is ignored for points inside . This is the trade-off for smoothly approximating contact forces, which are discontinuous in a macroscopic view. Similarly, introduces another source of error. However, when and , our model converges to the discontinuous definition. Note that we also need , or there could still be some distance between and that causes the barrier to diverge in the limit.
Finally, we can define the contact potential over the whole boundary as:
Here, the coefficient is used because the barrier energy density of each pair of contacting points will be counted twice in the integral due to symmetry. When computing barrier forces, both occurrences need to be differentiated. Therefore, using the coefficient allows us to match the force definition in Equation (18.3.4). We'll elaborate on this in the next chapter under the discrete weak form.
The contact potential is not required in the weak form but will be useful for optimization-based time integration.