ODE 求解器中的雅可比矩阵截止

计算科学 矩阵 龙格库塔 雅可比
2021-11-28 10:10:37

我正在研究 Villadsen & Michelsen (1978) 的书中第 3 种半隐式 Runge Kutta 方法 (siRK3) 的实现,通过多项式近似求解微分方程模型,Prentice-Hall。

该代码需要一个分析评估的雅可比矩阵在计算新函数值时,矩阵通过覆盖雅可比矩阵 (array ) 使用的存储来组装:J=F/yyn+1(t+h)IhaJdf

    do i = 1, n
      do j = 1, n
        df(i,j) = -h * a * df(i,j)
        if (abs(df(i,j)) < DF_TOL) df(i,j) = 0.0_dp
      end do
      df(i,i) = df(i,i) + 1.0_dp
    end do

在原始代码中,DF_TOL = 1.0d-12. 然后执行矩阵的 LU 分解,df并通过反向代入计算新的函数值。

截断雅可比矩阵值的目的是什么,为什么选择这个特定的截止值?是否需要这种类型的截断?

0个回答
没有发现任何回复~