[deepconv/arare/sample]

微分の計算(1)

概要

1 階微分演算ルーチン diff.f90 の動作をテストする.

テストの際の注意点を以下にあげる.

テスト結果として元の関数, 微分演算を行った後の関数, 解析的に微分して得られる関数, 誤差(微分演算を行った関数の解析的に微分して得られる関数に対する差)の図を描く. 図は計算領域内のみのものと計算領域外を含むものの2種類を描く.

テスト内容とその結果

プログラムソース arare (微分・平均演算テスト用) 2004-10-07 版

fs_dx_fs のテスト (1)

行った操作 fs_dx_fs( VelX )
元の関数の分布 VelX = sin(2πx/Lx)
境界条件 x: 周期境界, z:周期境界
格子点数 x: 20, z: 20

結果(計算領域外含む)

出力ファイル diff-dim-fs_dx_fs-sin-n20.nc
元の関数 解析的に微分した関数
微分演算を施した関数 誤差

fs_dx_fs のテスト (2)

行った操作 fs_dx_fs( VelX )
元の関数の分布 VelX = sin(2πx/Lx)
境界条件 x: 周期境界, z:周期境界
格子点数 x: 50, z: 50

結果(計算領域外含む)

出力ファイル diff-dim-fs_dx_fs-sin-n50.nc
元の関数 解析的に微分した関数
微分演算を施した関数 誤差

fs_dx_fs のテスト (3)

行った操作 fs_dx_fs( VelX )
元の関数の分布 VelX = sin(2πx/Lx)
境界条件 x: 周期境界, z:周期境界
格子点数 x: 100, z: 100

結果(計算領域外含む)

出力ファイル diff-dim-fs_dx_fs-sin-n100.nc
元の関数 解析的に微分した関数
微分演算を施した関数 誤差

sf_dx_sf のテスト (1)

行った操作 sf_dx_sf( VelZ )
元の関数の分布 VelZ = sin(2πx/Lx)
境界条件 x: 周期境界, z:周期境界
格子点数 x: 20, z: 20

結果(計算領域外含む)

出力ファイル diff-dim-sf_dx_sf-sin-n20.nc
元の関数 解析的に微分した関数
微分演算を施した関数 誤差

sf_dx_sf のテスト (2)

行った操作 sf_dx_sf( VelZ )
元の関数の分布 VelZ = sin(2πx/Lx)
境界条件 x: 周期境界, z:周期境界
格子点数 x: 50, z: 50

結果(計算領域外含む)

出力ファイル diff-dim-sf_dx_sf-sin-n50.nc
元の関数 解析的に微分した関数
微分演算を施した関数 誤差

sf_dx_sf のテスト (3)

行った操作 sf_dx_sf( VelZ )
元の関数の分布 VelZ = sin(2πx/Lx)
境界条件 x: 周期境界, z:周期境界
格子点数 x: 100, z: 100

結果(計算領域外含む)

出力ファイル diff-dim-sf_dx_sf-sin-n100.nc
元の関数 解析的に微分した関数
微分演算を施した関数 誤差

ss_dx_ss のテスト (1)

行った操作 ss_dx_ss( Exner )
元の関数の分布 Exner = sin(2πx/Lx)
境界条件 x: 周期境界, z:周期境界
格子点数 x: 20, z: 20

結果(計算領域外含む)

出力ファイル diff-dim-ss_dx_ss-sin-n20.nc
元の関数 解析的に微分した関数
微分演算を施した関数 誤差

ss_dx_ss のテスト (2)

行った操作 ss_dx_ss( Exner )
元の関数の分布 Exner = sin(2πx/Lx)
境界条件 x: 周期境界, z:周期境界
格子点数 x: 50, z: 50

結果(計算領域外含む)

出力ファイル diff-dim-ss_dx_ss-sin-n50.nc
元の関数 解析的に微分した関数
微分演算を施した関数 誤差

ss_dx_ss のテスト (3)

行った操作 ss_dx_ss( Exner )
元の関数の分布 Exner = sin(2πx/Lx)
境界条件 x: 周期境界, z:周期境界
格子点数 x: 100, z: 100

結果(計算領域外含む)

出力ファイル diff-dim-ss_dx_ss-sin-n100.nc
元の関数 解析的に微分した関数
微分演算を施した関数 誤差

Last Update: 2004/10/08 (北守 太一)