計算条件 (もしくは格子生成条件) の読み込み¶
CGNSファイルから、計算条件 (もしくは格子生成条件) を読み込みます。
関数 | 備考 |
---|---|
cg_iric_read_integer | 整数の条件を読み込む |
cg_iric_read_real | 倍精度実数の条件を読み込む |
cg_iric_read_realsingle | 単精度実数の条件を読み込む |
cg_iric_read_string | 文字列の条件を読み込む |
cg_iric_read_functionalsize | 関数型の条件のサイズを調べる |
cg_iric_read_functional | 倍精度実数の関数型の条件を読み込む |
cg_iric_read_functional_realsingle | 単精度実数の関数型の条件を読み込む |
cg_iric_read_functionalwithname | 値を複数持つ倍精度実数の関数型の条件を読み込む |
関数型以外の条件については、一つの関数で一つの条件を読み込むことができます。 整数の計算条件を読み込む処理の例を リスト 93 に示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | program Sample1 use iric implicit none integer:: fin, ier, i_flow ! CGNS ファイルのオープン call cg_iric_open('test.cgn', IRIC_MODE_MODIFY, fin, ier) if (ier /=0) STOP "*** Open error of CGNS file ***" call cg_iric_read_integer(fin, 'i_flow', i_flow, ier) print *, i_flow; ! CGNS ファイルのクローズ call cg_iric_close(fin, ier) stop end program Sample1 |
一方、関数型の計算条件では、cg_iric_read_functionalsize_f, cg_iric_read_functional_f の 二つの関数を利用する必要があります。関数型の計算条件を読み込む処理の例を リスト 94 に示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | program Sample2 use iric implicit none integer:: fin, ier, discharge_size, i double precision, dimension(:), allocatable:: discharge_time, discharge_value ! discharge の時刻と値を保持する配列 ! CGNS ファイルのオープン call cg_iric_open('test.cgn', IRIC_MODE_MODIFY, fin, ier) if (ier /=0) STOP "*** Open error of CGNS file ***" ! まず、関数型の入力条件のサイズを調べる call cg_iric_read_functionalsize(fin, 'discharge', discharge_size, ier) ! メモリを確保 allocate(discharge_time(discharge_size), discharge_value(discharge_size)) ! 確保したメモリに値を読み込む call cg_iric_read_functional(fin, 'discharge', discharge_time, discharge_value, ier) ! (出力) if (ier ==0) then print *, 'discharge: discharge_size=', discharge_size do i = 1, min(discharge_size, 5) print *, ' i,time,value:', i, discharge_time(i), discharge_value(i) end do end if ! allocate で確保したメモリを開放 deallocate(discharge_time, discharge_value) ! CGNS ファイルのクローズ call cg_iric_close(fin, ier) stop end program Sample2 |
計算条件 (もしくは 格子生成条件) の種類別の読み込み処理の記述例については、 計算条件・境界条件・格子生成条件の項目の定義と読み込み処理の例 を参照してください。