- 简介线性共轭梯度法广泛应用于物理模拟中,特别是用于解决从牛顿法导出的大规模线性系统。非线性共轭梯度法将共轭梯度法推广到非线性优化中,被广泛用于解决实际的大规模无约束优化问题。然而,由于需要多次向量点积,它在物理模拟中很少被讨论。幸运的是,随着GPU并行加速技术的发展,这不再是一个瓶颈。在本文中,我们提出了一种基于Jacobi预处理的非线性共轭梯度法,用于使用内点方法进行弹性变形。我们的方法简单直接,可以在GPU上并行化,并且具有快速收敛和对大时间步长的稳健性。内点方法中障碍函数的使用需要每次迭代进行连续碰撞检测以获得无穿透步长,这在计算上是昂贵的,并且在GPU上并行化是具有挑战性的。为了解决这个问题,我们引入了一种线性搜索策略,可以在单次遍历中推导出适当的步长,从而消除了需要额外碰撞检测的需求。此外,我们简化并加速了超弹性和障碍函数的Jacobi预处理和Hessian-向量乘积的计算。我们的方法可以在实时速度下准确模拟包含超过100,000个四面体的物体在复杂的自碰撞情况下的行为。
- 图表
- 解决问题本文旨在提出一种Jacobi预处理的非线性共轭梯度法,用于使用内点方法的弹性变形,以解决大规模非约束优化问题。
- 关键思路本文提出的方法是通过GPU并行加速技术解决多向量点积要求的非线性共轭梯度法,以及使用内点方法中的障碍函数来确保每次迭代的无穿透步长,同时引入了一种单次遍历的线搜索策略,以消除额外的碰撞检测需求。
- 其它亮点本文提出的方法能够在实时速度下准确地模拟由超过10万个四面体组成的对象在复杂的自碰撞场景中的弹性变形。此外,本文还简化和加速了Jacobi预处理和超弹性和障碍函数的Hessian-向量乘积的计算。
- 在最近的相关研究中,也有一些关于使用非线性共轭梯度法和内点方法进行物理模拟的研究,例如“Nonlinear Conjugate Gradient Methods for Interactive Cloth Simulation”和“Fast Constrained Dynamics Simulation Using Graphics Hardware”。
沙发等你来抢
去评论
评论
沙发等你来抢