We propose a conservative algorithm to test the geometrical validity of simplicial (triangles, tetrahedra), tensor product (quadrilaterals, hexahedra), and mixed (prisms) elements of arbitrary polynomial order as they deform over a piecewise-linear trajectory. Our algorithm uses a combination of adaptive B\'ezier refinement and bisection search to determine if, when, and where the Jacobian determinant of an element's polynomial geometric map becomes negative in the transition from one configuration to another. Unlike previous approaches, our method preserves its properties also when implemented using floating point arithmetic: This feature comes at a small additional runtime cost compared to existing inexact methods, making it a drop-in replacement for current validity tests, while providing superior robustness and generality. To prove the practical effectiveness of our algorithm, we demonstrate its use in a high-order Incremental Potential Contact (IPC) elastodynamic simulator, and we experimentally show that it prevents invalid, simulation-breaking configurations that would otherwise occur using inexact methods, without the need for manual parameter tuning.
翻译:本文提出一种保守算法,用于测试任意多项式阶数的单纯形单元(三角形、四面体)、张量积单元(四边形、六面体)及混合单元(棱柱)在分段线性轨迹上变形时的几何有效性。该算法结合自适应贝塞尔细分与二分搜索,以确定单元多项式几何映射的雅可比行列式在构型转换过程中是否、何时及何处变为负值。与现有方法不同,本方法在采用浮点运算实现时仍能保持其特性:相较于现有非精确方法,此特性仅带来微小的额外运行时开销,使其能够直接替代当前的有效性测试方案,同时提供更优的鲁棒性与普适性。为验证算法的实际效能,我们在高阶增量势接触弹性动力学模拟器中演示其应用,并通过实验证明:该方法无需手动参数调整即可有效避免使用非精确方法时可能出现的无效且导致模拟中断的构型。