2005/01/19 までのプログラムソースでは, 乱流粘性項の一部を, 例えば
fs_dz_ss( ss_Km_n * ss_dz_fs( fs_VelX_n ) )
というように書いていた. これは速度 u の z 微分をスカラー格子点で
評価し, さらにその微分を元の速度 u の格子点で評価することを行っていた.
格子点配置からいって精度が落ちることは明らかである. そこで
fs_dz_ff( ff_avr_ss( ss_Km_n ) * ff_dz_fs( fs_VelX_n ) )
というように書き直した.
z 方向の下部境界を固定壁とし, x 方向に一定の風を吹かせる. 粘性の影響で下部境界に境界層ができると予想される. この計算では, 微分を変更することによってどのくらい計算精度が向上するかを示す.
| プログラムソース | arare2 beta 版 (2005/01/19) |
| 基本場の温度 | 温位一様(300 K) |
| 基本場の圧力 | 圧力一定 1000 hPa |
| 音速 | 350 m/s (地表面) |
| 基本場の風速 | x 方向に 5 m/s. z 方向に 0 m/s |
| 音波の減衰 | なし |
| 粘性 | 渦粘性係数は 100 で一定 |
| 重力 | 0 m/s^2 |
| 定圧比熱 | 28 J K^-1 mol^-1 |
| 分子量 | 29d-3 kg mol^-1 |
| 積分時間 | 1000 秒 |
| 計算領域 |
水平(x) : 10000 m 鉛直(z) : 10000 m |
| 境界条件 |
水平(x) : 周期境界条件 鉛直(z) : 固定境界条件(下部), 自由境界条件(上部) |
| 数値解法 |
水平(x) : 陽解法 鉛直(z) : 陰解法 |
| 格子点数 | 水平(x) : 100 鉛直(z) : 100 |
| 時間間隔 |
短いタイムステップ: 0.1 秒 長いタイムステップ: 1 秒 |
| 出力ファイル |
VelX(旧): arare_fs-R100_TL1_TS01_old.nc VelX(新): arare_fs-R100_TL1_TS01_new.nc |
|
|
| 旧差分での速度 u (t=1000) | 旧差分での速度 u (t=1000), z=0:1500 の拡大図 |
|
|
| 新差分での速度 u (t=1000) | 新差分での速度 u (t=1000), z=0:1500 の拡大図 |
|
|
| 新差分と旧差分での速度 u の比較 (t=1000) | 新差分と旧差分での速度 u の比較 (t=1000), z=0:1500 の拡大図 |