Solid-Obstacle Contact

Recall that we used a conservative force model to approximate the contact traction , allowing it to be directly evaluated given the current configuration of the solids. This results in a contact potential:

where is the barrier energy density function, and is an infinitesimal region around where contact is ignored for theoretical soundness.

For normal contact between simulated solids and collision obstacles (ignoring self-contact for now), can be written in a much simpler form Here and are the boundaries of the simulated solids and obstacles respectively, is the point-obstacle distance, and the simplification from two terms to one single term is due to symmetry in the continuous setting. With triangle discretization, Similar to the derivation for Neumann boundaries, for any boundary node , with 2 incident triangles, let us look at one of the integral. Without loss of generality, we can assume ( corresponds to in triangle ), and that is the other node of on the boundary edge. Then, switching the integration variables to gives us Since and are both highly nonlinear functions, we could not obtain a closed-form expression for Equation (20.2.2). If we take the two end points and as quadrature points both with weights , we can approximate the integral as Then, the whole boundary integral can be approximated as assuming that and are the two neighbors of on the boundary. This is now exactly what has been implemented in Filter Line Search.

Remark 20.2.1 (Quadrature Choice for Line Segment). Selecting the two end points () as quadrature points for a line segment integral (Equation (20.2.3)) is not a common design choice. Typically, Gaussian quadrature would use . The advantage of choosing is that it results in fewer quadrature points globally, thus reducing computational costs, as neighboring edges share end points.

To see how connects to the boundary integral (Equation (20.1)) in the discrete weak form, let us take the derivative of the discretized contact potential (Equation (20.2.1)) with respect to : Then we also verified that here.