3.3.2 ODRKGR/ODRKGS/ODRK4R/ODRK4S

1.
機能

ODRKG (ODRKGR, ODRKGS) または, ODRK4 (ODRK4R, ODRK4S) により 2ステップの積分を行ない, 精度のチェックをして適当なDTを求める. ODRKGSODRK4Sは与えられたDTで2ステップの積分をした後, 次のステップのためのDTを求めてリターンするが, ODRKGRODRK4Rは要求精度が満たされないときDTを 小さくして再計算を行う.

2.
呼び出し方法
CALL ODRKGR(N,FCN,T,DT,EPSL,X,WORK)
CALL ODRKGS(N,FCN,T,DT,EPSL,X,WORK)
CALL ODRK4R(N,FCN,T,DT,EPSL,X,WORK)
CALL ODRK4S(N,FCN,T,DT,EPSL,X,WORK)

3.
パラメーターの説明
N (I) 被積分変数(方程式)の数. (i)
FCN 手続き名 DXを計算するサブルーチン名.
T (R) 独立変数tの値. 2ステップ分の積分幅を加えて 出力される. (i/o)
DT (R) 積分ステップ幅. 適当な値に変更されて出力される. (i/o)
EPSL (R) 要求精度. (i)
X R(N) 被積分変数のt=T における値を入力し, t=T+2×DT における値 を出力する.
WORK R(N,M) 作業変数. M=7 ( ODRK4R), M=5 ( ODRK4S, ODRKGR), M=3 ( ODRKGS).

4.
備考
(a)
ODRKGS, ODRK4SODRKGR, ODRK4R に比べて, 作業領域が小さくてすむが, 要求精度が満たされたくても, 再計算をしないので, 記憶領域が許す限り, ODRKGR, ODRK4R を推奨する.

なお ODRKGS, ODRK4S では, DT を決める際に, 小さめの安全率を 使っているので, 方程式の性質が時間的に緩やかに変わる場合には 有効である.

(b)
FCN は サブルーチンの形でユーザーが用意する. その形式は以下のとおり.
SUBROUTINE FCN(N,T,X,DX)