コンダクターファイルを読み込みます。
function conductor_read( cndct_file,
fd_order, delta_t, numof_step,
iabcxm1, iabcxp1, iabcym1, iabcyp1, iabczp1,
alpxm1, alpxp1, alpym1, alpyp1, alpzp1,
iabcxm2, iabcxp2, iabcym2, iabcyp2, iabczp2,
alpxm2, alpxp2, alpym2, alpyp2, alpzp2,
dump3d_chflag, dump3d_time_start, dump3d_time_end, dump3d_time_step,
dump3d_x_start1, dump3d_x_end1, dump3d_x_step1,
dump3d_y_start1, dump3d_y_end1, dump3d_y_step1,
dump3d_z_start1, dump3d_z_end1, dump3d_z_step1,
dump3d_x_start2, dump3d_x_end2, dump3d_x_step2,
dump3d_y_start2, dump3d_y_end2, dump3d_y_step2,
dump3d_z_start2, dump3d_z_end2, dump3d_z_step2,
dump2d_time_start, dump2d_time_end, dump2d_time_step,
dump2d_x_chflag, dump2d_x_pos,
dump2d_x_y_start, dump2d_x_y_end, dump2d_x_y_step,
dump2d_x_z_region_start, dump2d_x_z_start,
dump2d_x_z_region_end, dump2d_x_z_end,
dump2d_x_z_step,
dump2d_y_chflag, dump2d_y_pos,
dump2d_y_x_start, dump2d_y_x_end, dump2d_y_x_step,
dump2d_y_z_region_start, dump2d_y_z_start,
dump2d_y_z_region_end, dump2d_y_z_end,
dump2d_y_z_step,
dump2d_z_chflag, dump2d_z_pos_region, dump2d_z_pos,
dump2d_z_x_start, dump2d_z_x_end, dump2d_z_x_step,
dump2d_z_y_start, dump2d_z_y_end, dump2d_z_y_step
) result(status)
パラメータ
character(len=*), intent(in) :: cndct_file
コンダクターファイルのファイル名を指定します。
integer, intent(out) :: fd_order
差分の次数(2か4)が代入されます
real*4, intent(out) :: delta_t
時間差分間隔が秒単位で代入されます。
integer, intent(out) :: numof_step
計算ステップ数が代入されます。
integer, intent(out) :: iabcxm1(:)
第1領域のX方向左側の吸収境界条件の厚さが代入されます。
integer, intent(out) :: iabcxp1(:)
第1領域のX方向右側の吸収境界条件の厚さが代入されます。
integer, intent(out) :: iabcym1(:)
第1領域のY方向左側の吸収境界条件の厚さが代入されます。
integer, intent(out) :: iabcyp1(:)
第1領域のY方向右側の吸収境界条件の厚さが代入されます。
integer, intent(out) :: iabczp1
第1領域のZ方向下側の吸収境界条件の厚さが代入されます。
real*4, intent(out) :: alpxm1(:)
第1領域のX方向左側の吸収境界条件の係数が代入されます。
real*4, intent(out) :: alpxp1(:)
第1領域のX方向右側の吸収境界条件の係数が代入されます。
real*4, intent(out) :: alpym1(:)
第1領域のY方向左側の吸収境界条件の係数が代入されます。
real*4, intent(out) :: alpyp1(:)
第1領域のY方向右側の吸収境界条件の係数が代入されます。
real*4, intent(out) :: alpzp1
第1領域のZ方向下側の吸収境界条件の係数が代入されます。
integer, intent(out) :: iabcxm2(:)
第2領域のX方向左側の吸収境界条件の厚さが代入されます。
integer, intent(out) :: iabcxp2(:)
第2領域のX方向右側の吸収境界条件の厚さが代入されます。
integer, intent(out) :: iabcym2(:)
第2領域のY方向左側の吸収境界条件の厚さが代入されます。
integer, intent(out) :: iabcyp2(:)
第2領域のY方向右側の吸収境界条件の厚さが代入されます。
integer, intent(out) :: iabczp2
第2領域のZ方向下側の吸収境界条件の厚さが代入されます。
real*4, intent(out) :: alpxm2(:)
第2領域のX方向左側の吸収境界条件の係数が代入されます。
real*4, intent(out) :: alpxp2(:)
第2領域のX方向右側の吸収境界条件の係数が代入されます。
real*4, intent(out) :: alpym2(:)
第2領域のY方向左側の吸収境界条件の係数が代入されます。
real*4, intent(out) :: alpyp2(:)
第2領域のY方向右側の吸収境界条件の係数が代入されます。
real*4, intent(out) :: alpzp2
第2領域のZ方向下側の吸収境界条件の係数が代入されます。
integer, intent(out) :: dump3d_chflag
3次元ダンプのチャンネル別出力フラグが代入されます。
integer, intent(out) :: dump3d_time_start, dump3d_time_end,. dump3d_time_step
3次元ダンプの時間ハイパースラブ情報が代入されます。
integer, intent(out) :: dump3d_x_start1, dump3d_x_end1, dump3d_x_step1
3次元ダンプ出力の第1領域のX方向ハイパースラブ情報が代入されます。
integer, intent(out) :: dump3d_y_start1, dump3d_y_end1, dump3d_y_step1
3次元ダンプ出力の第1領域のY方向ハイパースラブ情報が代入されます。
integer, intent(out) :: dump3d_z_start1, dump3d_z_end1, dump3d_z_step1
3次元ダンプ出力の第1領域のZ方向ハイパースラブ情報が代入されます。
integer, intent(out) :: dump3d_x_start2, dump3d_x_end2, dump3d_x_step2
3次元ダンプ出力の第2領域のX方向ハイパースラブ情報が代入されます。
integer, intent(out) :: dump3d_y_start2, dump3d_y_end2, dump3d_y_step2
3次元ダンプ出力の第2領域のY方向ハイパースラブ情報が代入されます。
integer, intent(out) :: dump3d_z_start2, dump3d_z_end2, dump3d_z_step2
3次元ダンプ出力の第2領域のZ方向ハイパースラブ情報が代入されます。
integer, intent(out) :: dump2d_time_start, dump2d_time_end, dump2d_time_step
2次元ダンプの時間ハイパースラブ情報が代入されます。
integer, intent(out) :: dump2d_x_chflag
X軸に垂直な断面の2次元ダンプのチャンネル別出力フラグが代入されます。
integer, intent(out) :: dump2d_x_pos(:)
X軸に垂直な断面の2次元ダンプの格子座標位置配列が代入されます。
integer, intent(out) :: dump2d_x_y_start(:), dump2d_x_y_end(:), dump2d_x_y_step(:)
X軸に垂直な断面の2次元ダンプのY方向ハイパースラブ情報が代入されます。
integer, intent(out) :: dump2d_x_z_region_start(:)
X軸に垂直な断面の2次元ダンプのZ方向ハイパースラブ情報が代入されます。
integer, intent(out) :: dump2d_x_z_start(:)
integer, intent(out) :: dump2d_x_z_region_end(:)
integer, intent(out) :: dump2d_x_z_end(:)
integer, intent(out) :: dump2d_x_z_step(:)
integer, intent(out) :: dump2d_y_chflag
Y軸に垂直な断面の2次元ダンプのチャンネル別出力フラグが代入されます。
integer, intent(out) :: dump2d_y_pos(:)
integer, intent(out) :: dump2d_y_x_start(:)
integer, intent(out) :: dump2d_y_x_end(:)
integer, intent(out) :: dump2d_y_x_step(:)
integer, intent(out) :: dump2d_y_z_region_start(:)
integer, intent(out) :: dump2d_y_z_start(:)
integer, intent(out) :: dump2d_y_z_region_end(:)
integer, intent(out) :: dump2d_y_z_end(:)
integer, intent(out) :: dump2d_y_z_step(:)
integer, intent(out) :: dump2d_z_chflag
Z軸に垂直な断面の2次元ダンプのチャンネル別出力フラグが代入されます。
integer, intent(out) :: dump2d_z_pos_region(:)
Z軸に垂直な断面の2次元ダンプの領域番号配列が代入されます。
integer, intent(out) :: dump2d_z_pos(:)
Z軸に垂直な断面の2次元ダンプの格子座標位置配列が代入されます。
integer, intent(out) :: dump2d_z_x_start(:), dump2d_z_x_end(:), dump2d_z_x_step(:)
Z軸に垂直な断面の2次元ダンプのX方向ハイパースラブ情報が代入されます。
integer, intent(out) :: dump2d_z_y_start(:), dump2d_z_y_end(:), dump2d_z_y_step(:)
Z軸に垂直な断面の2次元ダンプのY方向ハイパースラブ情報が代入されます。
戻り値
関数が成功すると0が返ります。関数が失敗すると、エラーが返ります。返されるエラー値は次の通りです。
値 |
説明 |
-1 |
ファイル作成に失敗しました。 |
-2 |
グループオブジェクトの作成に失敗しました。 |
-3 |
データセットオブジェクトの作成に失敗しました。 |
-4 |
データスペースオブジェクトの作成に失敗しました。 |
-5 |
データタイプの異常です。 |
-6 |
アトリビュートオブジェクトの作成に失敗しました。 |
-7 |
プロパティーオブジェクトの作成に失敗しました。 |
-8 |
データセットの書き込みに失敗しました。 |
-9 |
アトリビュートの書き込みに失敗しました。 |
-14 |
領域指定のエラー |
解説
文章
参照
some