1 階微分演算ルーチン diff.f90 の動作をテストする.
テストはそれぞれの微分演算関数に対し, 下記に示すように初期分布および格子点数を変えて行う.
テストの際の注意点を以下にあげる.
テスト結果として元の関数, 微分演算を行った後の関数, 解析的に微分して得られる関数, 誤差(微分演算を行った関数の解析的に微分して得られる関数に対する差)の図を描く. 図は計算領域内のみのものと計算領域外を含むものの2種類を描く.
arare (微分・平均演算テスト用) 2004-10-07 版
このプログラムソースは杉山さん作成の微分・平均演算用に特化したソースプログラム (http://www.gfd-dennou.org/arch/deepconv/arare/sample/2004-10-05_sugiyama)が大元である.
テストした関数のリストを以下の表に列挙する(それぞれの関数のテスト結果のページにリンクされている). なお, 背景がピンク色に表示されている関数は 2004/10/22 の非静力学モデルゼミでチェックした関数である.
ss_dx_ss |
ss_dz_ss |
ss_dx_fs |
ss_dz_fs |
ss_dx_sf |
ss_dz_sf |
fs_dx_ss | 出力ファイルと出力変数の対が間違っている 出力する際に平均をとる必要なし |
fs_dz_ss | 出力ファイルと出力変数の対が間違っている 出力する際に平均をとる必要なし |
fs_dx_fs | |
fs_dz_fs | |
fs_dx_sf | |
fs_dz_sf |
sf_dx_ss | ・sin 関数の方で解析解が間違っている. ・出力ファイルと出力変数の対が間違っている 出力する際に平均をとる必要なし |
sf_dz_ss | 出力ファイルと出力変数の対が間違っている 出力する際に平均をとる必要なし |
sf_dx_fs | コーディングが間違っている X 方向が右にずれている(左端がゼロになるべき) |
sf_dz_fs | |
sf_dx_sf | |
sf_dz_sf |