conductor_read

コンダクターファイルを読み込みます。

 

 

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