熱解析テスト exR・exQ の非線形収束判定値を 1e-3 に緩める

概要

heat/exR の R362 が、hybrid の CI でまれに非線形反復の上限(20回)に達して失敗する。その応急処置として、exR と exQ の !HEAT で EPS を 1e-3 にした。原因は #922 (closed) のとおりである。既定の EPS 1e-6 は線形ソルバの打ち切り誤差と同じくらい小さいので、OpenMP で実行ごとに変わる丸め誤差によって、||ΔT|| がそこから下がらずに停滞することがある。exQ の Q362 も同じで、2プロセス×2スレッドでは20回中11回停滞した(最大18回)。

CI と同じイメージとバイナリで exR の全12ケースを解いたときの、compare_res.pl の残差の最大は次のとおり。

EPS 非線形反復回数 残差の最大
1e-6(変更前) 12〜13(R362 は hybrid で13〜20) 7e-11
1e-3 9〜10 3.3e-8
1e-2 8 2.3e-7

EPS 1e-3 では、参照解との差がしきい値 1e-4 より3桁以上小さい。exR は全ケース9〜10回、exQ は全ケース7回で止まり、serial・mpi・openmp・hybrid のどの構成でも反復回数は変わらない。R362・R352・Q362 を2プロセス×2スレッドで20回ずつ解いても同じだった。exQ の残差の最大は 1.8e-9 である。参照解は更新していない。

非線形反復の収束判定そのものは変えていないので、#922 (closed) は閉じない。

変更内容

コミット 要約
75b24acf Loosen the nonlinear tolerance of the heat exR tests exR の12ケースで EPS を 1e-3 にする
45dd1a5d Loosen the nonlinear tolerance of the heat exQ tests exQ の12ケースで EPS を 1e-3 にする

Merge request reports

Loading
Loading