在fipy中有一个默认的方程求解器,但不清楚是手册中提到的众多可能性中的哪一个。我想知道它遵循什么样的算法(以及什么包- Scipy,Pysparse)?时间步长的积分方案是什么,即它是Euler,RK 2,等等?
8xiog9wr1#
使用哪个求解器取决于您安装了什么、使用的平台以及是否并行运行。您可以确定正在与一起使用的求解程序包
import fipy as fp print(fp.solvers.solver)
您可以看到默认情况下使用的特定算法
print(fp.DefaultSolver)
对于对称(扩散)方程和
print(fp.DefaultAsymmetricSolver)
用于非对称(对流)方程。例如,在我的macOS笔记本电脑上,这两个打印
<class 'fipy.solvers.petsc.linearGMRESSolver.LinearGMRESSolver'>
对于时间积分,FiPy执行前向欧拉步骤,尽管our first example说明了如何获得后向欧拉和Crank-Nicolson积分。我正在开发一个名为Steppyngstounes的相关包,它提供了一些其他可以与FiPy一起使用的时间积分方案。
1条答案
按热度按时间8xiog9wr1#
使用哪个求解器取决于您安装了什么、使用的平台以及是否并行运行。
您可以确定正在与一起使用的求解程序包
您可以看到默认情况下使用的特定算法
对于对称(扩散)方程和
用于非对称(对流)方程。
例如,在我的macOS笔记本电脑上,这两个打印
对于时间积分,FiPy执行前向欧拉步骤,尽管our first example说明了如何获得后向欧拉和Crank-Nicolson积分。
我正在开发一个名为Steppyngstounes的相关包,它提供了一些其他可以与FiPy一起使用的时间积分方案。