数值积分方法:Explicit vs Semi-Implicit vs Newton-Euler 1、2 并在旋风物理引擎中使用

计算科学 计算物理学
2021-12-26 16:54:14

我试图理解显式欧拉和半隐式欧拉积分之间的区别,在显式欧拉中,当前位置计算为

xn+1=xn+vn

和半隐式欧拉方法,其计算方式为:

xn+1=xn+vn+1

是位置,v速度, 是时间,是下一次更新的时间。xvnn+1

特别是,任何人都可以确认,此代码中使用了两种方法中的哪一种

如果我理解,它是半隐式欧拉,对吗?因为速度是在被添加到位置之前更新的,对吧?

如果我的推理是错误的,请让我知道半隐式更新会是什么样子?或者为什么我错了?

另外,我在术语方面遇到了麻烦:我读过一个名为 Newton-Euler 1 的积分和另一个名为 Newton-Euler 2 的积分。其中 Newton-Euler 1 被描述为不太准确,并且仅使用一阶微分进行计算新位置,而 Newton-Euler 2 也增加了二阶微分。我看过牛顿欧拉方程的维基条目,但它没有将方程称为“1”或“2”。我读过的这本书附有上面链接中给出的代码。

Newton-Euler 1,2 如何(如果有的话)与显式和半隐式 Euler 方法相关?

1个回答

查看代码,除非引擎盖下有什么奇怪的东西,否则就是半隐式欧拉。

我不知道任何称为 Newton-Euler 的积分/微分技术。根据我的阅读,它是描述运动的公式,是拉格朗日公式的竞争对手。当应用于牛顿-欧拉运动描述时,这本书可能会讨论特定形式的一阶和二阶显式欧拉方法。