RECOMPUTE_RESIDUAL の説明を追加する

概要

FrontISTR の !SOLVER に RECOMPUTE_RESIDUAL を追加する変更に対応する記述である。キーワードリファレンスにパラメータの説明を加え、機能リファレンスの反復法の節に、残差を b - Ax から計算しなおす理由と、その周期のトレードオフを書いた。

周期を短くしすぎると行列ベクトル積が増えるだけでなく、収束性そのものが悪化しうる点を明記した。BiCGSTAB法、収束判定値1.0e-8、2領域分割の条件で RECOMPUTE_RESIDUAL=1 を指定すると、残差がNaNとなり127反復で破綻する。同じ問題は未指定なら156反復で収束する。残差 の精度を上げようとして1を指定するのは自然な発想であるため、注意として残した。

FrontISTR側でPipeCGも同じパラメータで制御するようにしたため、対象解法の一覧にPipeCGと既定値50を加えた。周期を長くしすぎる側の実測もここで記録した。PipeCGは既定の50なら91反復で収束する問題が、再計算を行わないと86反復で不定値の判定にかかって発散する。

機能リファレンスの英語版 06_solver.en.md は本文が TBD のみのスタブであるため変更していない。

変更内容

コミット 要約
2dfc4635 solver: document RECOMPUTE_RESIDUAL キーワードリファレンス和英にパラメータを追加し、機能リファレンスに再計算の理由と周期のトレードオフを追記
986bb5c5 solver: list PipeCG among the methods RECOMPUTE_RESIDUAL applies to 対象解法にPipeCGと既定値50を追記
Edited by Kazuya Goto

Merge request reports

Loading
Loading