全チャンネル一括して、波動場の1次元ダンプファイルの追記を行います。
function dump1d_all( vx0, vy0, vz0, txx0, tyy0, tzz0, txy0, txz0, tyz0,
vx1, vy1, vz1, txx1, tyy1, tzz1, txy1, txz1, tyz1, grid_i, grid_j, grid_k,
grid_region, dt, step, phydim, flag
) result(status)
パラメータ
real, intent(in), target :: vx0(:,:,:)
第1領域の速度場のX成分です。
real, intent(in), target :: vy0(:,:,:)
第1領域の速度場のY成分です。
real, intent(in), target :: vz0(:,:,:)
第1領域の粒子速度場のZ成分です。
real, intent(in), target :: txx0(:,:,:)
第1領域の応力場のXX成分です。
real, intent(in), target :: tyy0(:,:,:)
第1領域の応力場のYY成分です。
real, intent(in), target :: tzz0(:,:,:)
第1領域の応力場のZZ成分です。
real, intent(in), target :: txy0(:,:,:)
第1領域の応力場のXY成分です。
real, intent(in), target :: txz0(:,:,:)
第1領域の応力場のXZ成分です。
real, intent(in), target :: tyz0(:,:,:)
第1領域の応力場のYZ成分です。
real, intent(in), target :: vx1(:,:,:)
第2領域の速度場のX成分です。
real, intent(in), target :: vy1(:,:,:)
第2領域の速度場のY成分です。
real, intent(in), target :: vz1(:,:,:)
第2領域の速度場のZ成分です。
real, intent(in), target :: txx1(:,:,:)
第2領域の応力場のXX成分です。
real, intent(in), target :: tyy1(:,:,:)
第2領域の応力場のYY成分です。
real, intent(in), target :: tzz1(:,:,:)
第2領域の応力場のZZ成分です。
real, intent(in), target :: txy1(:,:,:)
第2領域の応力場のXY成分です。
real, intent(in), target :: txz1(:,:,:)
第2領域の応力場のXZ成分です。
real, intent(in), target :: tyz1(:,:,:)
第2領域の応力場のYZ成分です。
integer, intent(in) :: grid_i(:)
書き込みする格子番号座標のI成分配列です。n番目の格子番号座標をgrid_i(n), grid_j(n), grid_k(n), grid_region(n)で指定します。grid_i, grid_j, grid_k, grid_region, flagは全て同じ配列長でなくてはなりません。
integer, intent(in) :: grid_j(:)
書き込みする格子番号座標のJ成分配列です。
integer, intent(in) :: grid_k(:)
書き込みする格子番号座標のK成分配列です。
integer, intent(in) :: grid_region(:)
書き込みする格子番号座標の領域番号配列です。
integer, intent(in) :: flag(:)
チャンネル別出力フラグ配列です。2進数で最下位ビットからチャンネル番号順にVx~Tyzとなっています。関数はビットが立っているチャンネルを全て出力します。
real, intent(in) :: dt
時間差分間隔です。秒単位で指定します。
integer, intent(in) :: step
出力する波動場の差分ステップを指定します。
character(len=16), intent(in) :: phydim(9)
全チャンネルの単位名を16文字以内の文字列で指定します。physdim(1)はVx, physdim(9)はTyzの単位です。
戻り値
関数が成功すると0が返ります。関数が失敗すると、エラーが返ります。返されるエラー値は次の通りです。
値 |
説明 |
-1 |
ファイル作成に失敗しました。 |
-2 |
グループオブジェクトの作成に失敗しました。 |
-3 |
データセットオブジェクトの作成に失敗しました。 |
-4 |
データスペースオブジェクトの作成に失敗しました。 |
-5 |
データタイプの異常です。 |
-6 |
アトリビュートオブジェクトの作成に失敗しました。 |
-7 |
プロパティーオブジェクトの作成に失敗しました。 |
-8 |
データセットの書き込みに失敗しました。 |
-9 |
アトリビュートの書き込みに失敗しました。 |
-10 |
チャンネル番号の指定が範囲外です。 |
-11 |
格子点座標の指定が範囲外です。 |
-12 |
データセットの拡張処理に失敗しました。 |
-13 |
ハイパースラブの作成処理に失敗しました。 |
解説
dump1d()を使う際に、一括してフラグビットの立っている全チャンネル分を出力できるようにしたラッパー関数です。
参照
some