Runga-Kutta方法可以用来求解非线性微分方程吗?

计算科学 计算物理学 微分方程
2021-12-07 19:37:14

考虑极坐标r,θ中的二体中心力问题。

利用角动量守恒得到相应的二阶微分方程。这个等式是:

d2r/dt2=l2/(m2r3)GM/r2

r(t) 是粒子(质量为m)随时间t变化的径向位置。l是恒定的角动量。G是引力常数,M是较重物体的质量,假设静止在坐标系的原点,即(r,θ)=(0,0)

我想解决上面的非线性微分方程;它是非线性的,因为因变量r 在 RHS 上具有 -3 和 -2 次幂。

我可以使用 4 阶 Runge-Kutta 方法来求解这个方程吗?

额外说明:实际上我们有两个不同的二阶微分方程(耦合):一个用于r,另一个用于θ角动量守恒将它们解耦并简化为上面给出的一个方程。此外,如果我们尝试解析求解上述 1-Dim 方程,我们最终会得到t(r)形式的解,即时间是r的函数。所以我们必须将其转换为r(t)这种反演过程在实践中可能非常困难。请参阅 Goldstein 等关于经典力学的标准教科书(第 3 章)。

如果我们想以数字方式求解,这里的初始条件应该在但是,如果我们想解析求解,我们需要初始条件为质量的总能量和角动量。我在这里感到困惑:我是否需要在 t=0 时使用所有初始条件,即能量、角动量、rrdr/dtmr(t=0)dr/dtt=0

2个回答

Runga-Kutta 方案是时间导数数值离散化的多阶段配方。那就是他们告诉如何以的形式求解方程。为了达到宣传的准确性,右手边应该是的足够平滑函数,并且非线性会使像 RK4 这样的显式方法的稳定性问题复杂化,但除此之外,我认为没有理由 RK4 不能与足够小的时间步长一起使用。y˙=f((y,t)y

也就是说,正如您所描述的,这是哈密顿公式的问题,因此有更合适的辛方法,如 Stormer-Verlet 值得研究。

关于初始条件的问题,您应该能够计算给定的系统中的能量,因此指定所有三个将导致过度约束系统(即您只需要两个,但可以自由选择任何一对)。r(0)r˙(0)

是的。Runge-Kutta 技术,如 Dormand-Prince 4/5 方法 ( ode45) 是求解非线性微分方程的标准数值技术。当然还有更多可用的方法,但所有这些方法都设计用于不存在解析解的非线性方程。