Semi-Implicit Discretization
However, challenges still remain on incorporating friction into the optimization time integration. A major problem is that friction is not a conservative force and there is no well-defined potential such that taking the opposite of its gradient produces the frictional force. In other words, implicit friction force is not integrable. Without a potential energy, backtracking line search could not be performed, and thus guarantees on the stability and convergence of the optimization will be broken.
In fact, whether a force has well-defined potential energy really depends on the temporal discretization. For example, with explicit time integration, any force is constant within a time step and it has a potential energy . Taking this inspiration, we could make friction force integrable with a smarter temporal discretization. Making friction force constant within a time step would certainly restrict the size of the time step to obtain high quality results. Therefore, we discretize part of the friction force explicitly and formulate an integrable semi-implicit friction force.
Following IPC, we fix the normal force magnitude (the ones only used in calculating friction) and the tangent operator during the nonlinear optimization to the value in the last time step : , and , which then makes the friction force integrable with a potential energy where , , and so that . Here is a constant multiple of the time step size for most linear (multi-)step time integration methods including implicit Euler and higher-order backward difference formulas, etc. Then, taking the gradient of Equation (9.2.1) w.r.t. we obtain which is a semi-implicit discretization of our mollified friction force with explicit terms and . The Hessian of can be calculated as
Remark 9.2.1. In the friction gradient and Hessian expression (Equation (9.2.3) and Equation (9.2.4)), there are in the denominators, which could be when there is no relative sliding motion at a contact point. To avoid division by during the computation, for friction gradient, we can derive which is well-defined everywhere, and so we obtain For friction Hessian, we can derive which is also well-defined everywhere, and since when , we know that
Remark 9.2.2. The friction formulation in this lecture is introduced slightly differently from the original IPC [Li et al. 2020] in 2 places:
- We directly use the relative sliding velocity rather than the relative sliding displacement in IPC as the input to the mollifier , and so our differs from that in the IPC on in the denominators. When time integration rules other than implicit Euler is applied (so ), calling the relative sliding displacement is inappropriate and may cause confusions.
- We did not introduce a tangent basis to express relative sliding velocity in the tangent space, because this is not necessary in computing the friction energy, gradient, and Hessian.