原本的XPBD(Macklin 2016)
Primal Residual XPBD(PXPBD)
from Chen 2023
Primal Extended Position Based Dynamics for Hyperelasticity
Chen2023主张
左边的红色二阶项可以舍掉,但右边的g(也就是Primal residual) 应该恢复。因为左端那个是Quasi Newton的常见做法。而舍弃右边需要保证lambda很小才成立。舍掉会导致XPBD残差下降停滞,仿真不稳定。
做法
(8)的左端即g
原本的(15)的左端第一项的0应该变为g
根据schur complement (https://en.wikipedia.org/wiki/Schur_complement)
于是16变为
17变为
其中g
但是我们推导的与primal XPBD这篇论文中给出的不一样。他说因为直接加上g会导致计算缓慢blah blah,所以只在更新dx的时候使用这个公式: