クリックすると動画に飛びます 見よ!流体力学ソルバーのParaiso実装を! cell2 <- proceedSingle 1 (dt/2) dR cell cell -- まず時間1次精度でdt/2だけ進めておいて、 cell3 <- proceedSingle 2 dt dR cell2 cell -- それを使ってもとの量をdtだけ進める。 ありのままの姿で書かかれた2次のルンゲ・クッタ法を! interpolate order i cell = do let shifti n = shift $ compose (\j -> if i==j then n else 0) -- i軸方向、nマスの平行移動を定義 a0 <- mapM (bind . shifti ( 2)) cell -- 2マス平行移動を全ての変数に適用、 a1 <- mapM (bind . shifti ( 1