関数型 (複数の値)
===================
定義方法
----------
.. code-block:: xml
:caption: 関数型 (複数の値) の条件の定義例
:name: widget_example_func_multi_def
:linenos:
-
条件の表示例
---------------
.. _widget_example_func_multi:
.. figure:: images/widget_example_func_multi.png
:width: 450pt
関数型 (複数の値) の条件の表示例
読み込み処理の記述方法
---------------------------
計算条件・格子生成条件
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
FORTRAN
''''''''''
.. code-block:: fortran
:caption: 関数型 (複数の値) の条件を読み込むための処理の記述例 (計算条件・格子生成条件) FORTRAN
:name: widget_example_func_multi_load_calccond_fortran
:linenos:
integer:: ier, discharge_size
double precision, dimension(:), allocatable:: time_value
double precision, dimension(:), allocatable:: discharge_value, elevation_value
! サイズを調べる
call cg_iRIC_Read_FunctionalSize(fid, "discharge", discharge_size, ier)
! メモリを確保
allocate(time_value(discharge_size))
allocate(discharge_value(discharge_size), elevation_value(discharge_size))
! 確保したメモリに値を読み込む
call cg_iRIC_Read_FunctionalWithName(fid, "discharge", "time", time_value, ier)
call cg_iRIC_Read_FunctionalWithName(fid, "discharge", "discharge", discharge_value, ier)
call cg_iRIC_Read_FunctionalWithName(fid, "discharge", "elevation", elevation_value, ier)
C/C++
''''''''''
.. code-block:: c
:caption: 関数型 (複数の値) の条件を読み込むための処理の記述例 (計算条件・格子生成条件) C++
:name: widget_example_func_multi_load_calccond_c
:linenos:
int ier, discharge_size;
std::vector time_value, discharge_value, elevation_value;
// サイズを調べる
ier = cg_iRIC_Read_FunctionalSize(fid, "discharge", &discharge_size);
// メモリを確保
time_value.assign(discharge_size, 0);
discharge_value.assign(discharge_size, 0);
elevation_value.assign(discharge_size, 0);
// 確保したメモリに値を読み込む
ier = cg_iRIC_Read_FunctionalWithName(fid, "discharge", "time", time_value);
ier = cg_iRIC_Read_FunctionalWithName(fid, "discharge", "discharge", discharge_value);
ier = cg_iRIC_Read_FunctionalWithName(fid, "discharge", "elevation", elevation_value);
Python
''''''''''
.. code-block:: python
:caption: 関数型 (複数の値) の条件を読み込むための処理の記述例 (計算条件・格子生成条件) Python
:name: widget_example_func_multi_load_calccond_python
:linenos:
time_value = cg_iRIC_Read_FunctionalWithName(fid, "discharge", "time")
discharge_value = cg_iRIC_Read_FunctionalWithName(fid, "discharge", "discharge")
elevation_value = cg_iRIC_Read_FunctionalWithName(fid, "discharge", "elevation")
境界条件
~~~~~~~~~~
FORTRAN
''''''''''
.. code-block:: fortran
:caption: 関数型 (複数の値) の条件を読み込むための処理の記述例 (境界条件) FORTRAN
:name: widget_example_func_multi_load_bcond_fortran
:linenos:
integer:: ier, discharge_size
double precision, dimension(:), allocatable:: time_value
double precision, dimension(:), allocatable:: discharge_value, elevation_value
! サイズを調べる
call cg_iRIC_Read_BC_FunctionalSize(fid, "discharge", discharge_size, ier)
! メモリを確保
allocate(time_value(discharge_size))
allocate(discharge_value(discharge_size), elevation_value(discharge_size))
! 確保したメモリに値を読み込む
call cg_iRIC_Read_BC_FunctionalWithName(fid, "discharge", "time", time_value, ier)
call cg_iRIC_Read_BC_FunctionalWithName(fid, "discharge", "discharge", discharge_value, ier)
call cg_iRIC_Read_BC_FunctionalWithName(fid, "discharge", "elevation", elevation_value, ier)
C/C++
''''''''''
.. code-block:: c
:caption: 関数型 (複数の値) の条件を読み込むための処理の記述例 (境界条件) C/C++
:name: widget_example_func_multi_load_bcond_c
:linenos:
int ier, discharge_size;
std::vector time_value, discharge_value, elevation_value;
// サイズを調べる
ier = cg_iRIC_Read_BC_FunctionalSize(fid, "discharge", &discharge_size)
// メモリを確保
time_value.assign(discharge_size, 0);
discharge_value.assign(discharge_size, 0);
elevation_value.assign(discharge_size, 0);
// 確保したメモリに値を読み込む
ier = cg_iRIC_Read_BC_FunctionalWithName(fid, "discharge", "time", time_value.data());
ier = cg_iRIC_Read_BC_FunctionalWithName(fid, "discharge", "discharge", discharge_value.data());
ier = cg_iRIC_Read_BC_FunctionalWithName(fid, "discharge", "elevation", elevation_value.data());
Python
''''''''''
.. code-block:: python
:caption: 関数型 (複数の値) の条件を読み込むための処理の記述例 (境界条件) Python
:name: widget_example_func_multi_load_bcond_python
:linenos:
time_value = cg_iRIC_Read_BC_FunctionalWithName(fid, "discharge", "time")
discharge_value = cg_iRIC_Read_BC_FunctionalWithName(fid, "discharge", "discharge")
elevation_value = cg_iRIC_Read_BC_FunctionalWithName(fid, "discharge", "elevation")