我想解决上面给出的方程。我需要首先通过线法对其进行离散化,然后使用龙格-库塔法演化生成的 ODE。我的问题是,如何将这个特殊方程简化为两个不同的 ODE?
对给定方程的线法和龙格-库塔法的实现
计算科学
pde
有限差分
龙格库塔
线法
2021-12-27 04:30:36
2个回答
您可以将方程转换为以下两个 PDE 系统
现在有两个因变量和。
空间维度上的离散化(即线法(MOL))很简单;中心差异将起作用。得到的方程组是微分代数方程组 (DAE) 而不是 ODE。有许多可用的方法来解决 DAE,但通常不使用显式方法,如经典的 Runge-Kutta。
一个广泛使用的 DAE 求解器是来自 Sundials 套件的IDA 。另一个广受好评的 DAE 求解器是隐式 Runge-Kutta 求解器 RADAU5。如果您决定编写自己的解决方案,最基本的隐式 ODE 求解器(反向 Euler)也可能会求解此 DAE 系统,但当然需要相对较小的时间步才能获得准确的求解。
最后,如果您可以使用 Matlab 或 Octave,则可以使用 1D PDE 求解器来求解这两个方程,并让您避免编写自己的 MOL 解决方案的困难。
例如,如果您使用以下方案,您应该能够建立一个方程组来求解时间导数:
其中是某个时间在第空间离散位置处的解,并且该方程适用于所有离散位置。编写完最终方程后,您应该能够将应该是三对角方程组的东西放在一起,这样您就可以获得时间导数的值。
其它你可能感兴趣的问题