具有不连续右侧的 ODE 数值解的最先进方法是什么?我最感兴趣的是分段平滑的右侧函数,例如符号。
我正在尝试解决以下类型的方程:
具有不连续右侧的 ODE 数值解的最先进方法是什么?我最感兴趣的是分段平滑的右侧函数,例如符号。
我正在尝试解决以下类型的方程:
请参阅David Stewart关于此主题的新书(2011 年),Dynamics with Inequalities: Impacts and Hard Constraints。库仑摩擦问题在分析章节中多次提及。
第 8 章专门讨论非光滑 ODE 和 DAE 的数值方法。它主要提倡完全隐式的 Runge-Kutta 方法,并对非光滑进行特殊处理。请注意第 8.4.4 节指出,如果您不能准确定位非平滑点,所有方法都会降低到一阶精度,因此隐式欧拉(对非平滑进行修改)在实践。此外,无限维不等式问题的解决方案通常不是分段平滑的,因此该理论仅提供收敛性,但在实践中,通常是观测到的。
正如 Mike Dunlavey 在评论中已经指出的那样,这通常使用所谓的过零函数来完成,即函数从交叉到 (反之亦然)当 RHS 具有不连续性时。
例如,如果您有一个带有块的移动质量,则质量与块之间的距离可以用作过零函数。
许多 ODE 求解器(例如 SUNDIALS CVODE)会自动检查是否有任何过零函数在最后一个时间步中改变了符号。如果是这种情况,则使用根查找方法来确定根的确切位置。然后可以在该特定位置重新启动求解器。这可以由求解器本身自动完成,也可以由调用代码手动完成。