IGMBaseLib 1.0
|
正二十面体格子における格子点およびそのコントロールボリュームの頂点の座標データを管理する構造型と それらのデータを操作する手続きを提供するモジュール. [詳細]
データ型 | |
type | IcGrid2D_FVM |
正二十面体格子における格子点およびそのコントロールボリュームの頂点の座標データを管理する構造型. [詳細] | |
関数/サブルーチン | |
subroutine, public | IcGrid2D_FVM_Init (self, glevel, ic_radius) |
構造型 IcGrid2D_FVM の変数の初期化を行う. | |
subroutine, public | malloc_GP_array (self) |
subroutine, public | malloc_CV_array (self) |
各格子点に付随するコントロールボリュームの頂点座標を保持する配列のメモリを確保する. | |
subroutine, public | IcGrid2D_FVM_Final (self) |
構造型 IcGrid2D_FVM の変数を最終化する. | |
integer, public | get_EffSize_Min (self) |
格子点座標を保持する配列において, 物理的意味がある配列の最小インデックスを取得する. | |
integer, public | get_EffSize_Max (self) |
格子点座標を保持する配列において, 物理的意味がある配列の最大インデックスを取得する. | |
integer, public | get_IdMax (self) |
格子点座標を保持する配列(構造体 IcGrid2D_FVM の成分 rcs_AGrid)において, 袖領域も含めた配列の最大インデックスを取得する. | |
integer, public | get_IdMin (self) |
格子点座標を保持する配列(構造体 IcGrid2D_FVM の成分 rcs_AGrid)において, 袖領域も含めた配列の最小インデックスを取得する. | |
real(DP), public | get_IcRadius (self) |
正二十面体を内包する球の半径を取得する. | |
integer, public | get_glevel (self) |
水平格子分割レベル(glevel)を取得する. | |
subroutine, public | set_rcregion_bounds (self, rcID, top, left, bottom, right) |
矩形領域の端の 4 個の頂点座標を設定する. | |
subroutine, public | paste_margin_width (self) |
のりしろ部分をとなりの矩形領域の内側の格子座標データで埋める. | |
integer, public | generate_CV5_GPindex (self, GP_i, GP_j, rcID) |
(特異格子点(rcID,GP_i,GP_j)の)コントールボリュームの各頂点(全 5 個)の計算に必要な格子点の id の組を取得する. | |
integer, public | generate_CV6_GPindex (self, GP_i, GP_j, rcID) |
(特異格子点(rcID,GP_i,GP_j)の)コントールボリュームの各頂点(全 6 個)の計算に必要な格子点の id の組を取得する. | |
integer, public | check_pole (self, rcID, i, j) |
格子点(rcID, i, j) が極に対応するかを調べる. | |
subroutine, public | calc_icosahedron_vertex (orth_icvertex) |
単位球に内包される正二十面体の頂点 12 個の座標を計算する. | |
変数 | |
integer, parameter, public | RC_REGIONS_NUM = 10 |
全矩形領域の数. | |
integer, parameter, public | ICOSAHEDRON_VERTEX_NUM = 12 |
正二十面体の頂点数. | |
integer, parameter, public | CELL_POINTS_NUM = 6 |
格子点に付随するコントロールボリュームの頂点数(特異点は例外的に 5 ). | |
integer, parameter, public | NOT_POLE_FLAG = 0 |
指定された格子点が両極と一致していないことを示す定数. | |
integer, parameter, public | NORTH_POLE_FLAG = 1 |
指定された格子点が北極と一致していることを示す定数. | |
integer, parameter, public | SOUTH_POLE_FLAG = 2 |
指定された格子点が南極と一致していることを示す定数. | |
integer, parameter, public | GTYPE_STDGRID = 1 |
integer, parameter, public | GTYPE_STDGCGRID = 2 |
integer, parameter, public | GTYPE_SPRGCGRID = 3 |
正二十面体格子における格子点およびそのコントロールボリュームの頂点の座標データを管理する構造型と それらのデータを操作する手続きを提供するモジュール.
Copyright (C) GFD Dennou Club, 2011-2012. All rights reserved.
License ??
subroutine,public IcGrid2D_FVM_Manager::calc_icosahedron_vertex | ( | real(DP),dimension(icosahedron_vertex_num, 3),intent(inout) | orth_icvertex | ) |
単位球に内包される正二十面体の頂点 12 個の座標を計算する.
[in,out] | orth_icvertex | 12 個の頂点座標を保存する配列. |
IcGrid2D_FVM_Manager.f90 の 851 行で定義されています。
integer,public IcGrid2D_FVM_Manager::check_pole | ( | type(IcGrid2D_FVM),intent(inout) | self, |
integer,intent(in) | rcID, | ||
integer,intent(in) | i, | ||
integer,intent(in) | j | ||
) |
格子点(rcID, i, j) が極に対応するかを調べる.
北極であった場合 NORTH_POLE_FLAG, 南極であった場合 SOUTH_POLE_FLAG, いずれでもない場合 NOT_POLE_FLAG を返す.
[in,out] | self | 構造型 IcGrid2D_FVM の変数. |
[in] | rcID | 対象となる格子点(rcID, i, j) の矩形領域のインデックス rcID. |
[in] | i | 対象となる格子点(rcID, i, j) の i. |
[in] | j | 対象となる格子点(rcID, i, j) の j. |
IcGrid2D_FVM_Manager.f90 の 819 行で定義されています。
integer,public IcGrid2D_FVM_Manager::generate_CV5_GPindex | ( | type(IcGrid2D_FVM),intent(inout) | self, |
integer,intent(in) | GP_i, | ||
integer,intent(in) | GP_j, | ||
integer,intent(in) | rcID | ||
) |
(特異格子点(rcID,GP_i,GP_j)の)コントールボリュームの各頂点(全 5 個)の計算に必要な格子点の id の組を取得する.
ただし, 北半球および南半球の極にあたる格子点のコントロールボリュームに対しては, 適用できない.
[in,out] | self | 構造型 IcGrid2D_FVM の変数. |
[in] | GP_i | 対象となる格子点(rcID, GP_i, GP_j) の GP_i. |
[in] | GP_i | 対象となる格子点(rcID, GP_i, GP_j) の GP_j. |
[in] | rcID | 対象となる格子点(rcID, GP_i, GP_j) の rcID. |
IcGrid2D_FVM_Manager.f90 の 608 行で定義されています。
integer,public IcGrid2D_FVM_Manager::generate_CV6_GPindex | ( | type(IcGrid2D_FVM),intent(inout) | self, |
integer,intent(in) | GP_i, | ||
integer,intent(in) | GP_j, | ||
integer,intent(in) | rcID | ||
) |
(特異格子点(rcID,GP_i,GP_j)の)コントールボリュームの各頂点(全 6 個)の計算に必要な格子点の id の組を取得する.
[in,out] | self | 構造型 IcGrid2D_FVM の変数. |
[in] | GP_i | 対象となる格子点(rcID, GP_i, GP_j) の GP_i. |
[in] | GP_i | 対象となる格子点(rcID, GP_i, GP_j) の GP_j. |
[in] | rcID | 対象となる格子点(rcID, GP_i, GP_j) の矩形領域のインデックス rcID. |
IcGrid2D_FVM_Manager.f90 の 711 行で定義されています。
integer,public IcGrid2D_FVM_Manager::get_EffSize_Max | ( | type(IcGrid2D_FVM),intent(in) | self | ) |
格子点座標を保持する配列において, 物理的意味がある配列の最大インデックスを取得する.
[in,out] | self | 構造型 IcGrid2D_FVM の変数. |
IcGrid2D_FVM_Manager.f90 の 385 行で定義されています。
integer,public IcGrid2D_FVM_Manager::get_EffSize_Min | ( | type(IcGrid2D_FVM),intent(in) | self | ) |
格子点座標を保持する配列において, 物理的意味がある配列の最小インデックスを取得する.
[in,out] | self | 構造型 IcGrid2D_FVM の変数. |
IcGrid2D_FVM_Manager.f90 の 361 行で定義されています。
integer,public IcGrid2D_FVM_Manager::get_glevel | ( | type(IcGrid2D_FVM),intent(in) | self | ) |
水平格子分割レベル(glevel)を取得する.
[in] | self | 構造型 IcGrid2D_FVM の変数. |
IcGrid2D_FVM_Manager.f90 の 481 行で定義されています。
real(DP),public IcGrid2D_FVM_Manager::get_IcRadius | ( | type(IcGrid2D_FVM),intent(in) | self | ) |
正二十面体を内包する球の半径を取得する.
[in,out] | self | 構造型 IcGrid2D_FVM の変数. |
IcGrid2D_FVM_Manager.f90 の 458 行で定義されています。
integer,public IcGrid2D_FVM_Manager::get_IdMax | ( | type(IcGrid2D_FVM),intent(in) | self | ) |
格子点座標を保持する配列(構造体 IcGrid2D_FVM の成分 rcs_AGrid)において, 袖領域も含めた配列の最大インデックスを取得する.
[in,out] | self | 構造型 IcGrid2D_FVM の変数. |
IcGrid2D_FVM_Manager.f90 の 410 行で定義されています。
integer,public IcGrid2D_FVM_Manager::get_IdMin | ( | type(IcGrid2D_FVM),intent(in) | self | ) |
格子点座標を保持する配列(構造体 IcGrid2D_FVM の成分 rcs_AGrid)において, 袖領域も含めた配列の最小インデックスを取得する.
[in,out] | self | 構造型 IcGrid2D_FVM の変数. |
IcGrid2D_FVM_Manager.f90 の 434 行で定義されています。
subroutine,public IcGrid2D_FVM_Manager::IcGrid2D_FVM_Final | ( | type(IcGrid2D_FVM),intent(inout) | self | ) |
構造型 IcGrid2D_FVM の変数を最終化する.
構造型 IcGrid2D_FVM において動的に確保された全ての配列のメモリを解放する.
[in,out] | self | 構造型 IcGrid2D_FVM の変数. |
IcGrid2D_FVM_Manager.f90 の 330 行で定義されています。
subroutine,public IcGrid2D_FVM_Manager::IcGrid2D_FVM_Init | ( | type(IcGrid2D_FVM),intent(inout) | self, |
integer,intent(in) | glevel, | ||
real(DP),intent(in) | ic_radius | ||
) |
構造型 IcGrid2D_FVM の変数の初期化を行う.
この初期化では, 正二十面格子やそのコントロールボリュームの情報を保持する配列のメモリは確保されない. これらは, それぞれ本モジュールが提供する手続き malloc_GP_array, malloc_CV_array を用いて行うことができる.
[in,out] | self | 構造型 IcGrid2D_FVM の変数. |
[in] | glevel | 水平分割レベル. |
[in] | ic_radius | 正二十面体を内包する球の半径. |
IcGrid2D_FVM_Manager.f90 の 232 行で定義されています。
subroutine,public IcGrid2D_FVM_Manager::malloc_CV_array | ( | type(IcGrid2D_FVM),intent(inout) | self | ) |
各格子点に付随するコントロールボリュームの頂点座標を保持する配列のメモリを確保する.
[in,out] | self | 構造型 IcGrid2D_FVM の変数. |
IcGrid2D_FVM_Manager.f90 の 298 行で定義されています。
subroutine,public IcGrid2D_FVM_Manager::malloc_GP_array | ( | type(IcGrid2D_FVM),intent(inout) | self | ) |
IcGrid2D_FVM_Manager.f90 の 270 行で定義されています。
subroutine,public IcGrid2D_FVM_Manager::paste_margin_width | ( | type(IcGrid2D_FVM),intent(inout) | self | ) |
のりしろ部分をとなりの矩形領域の内側の格子座標データで埋める.
[in,out] | self | 構造型 IcGrid2D_FVM の参照. |
IcGrid2D_FVM_Manager.f90 の 544 行で定義されています。
subroutine,public IcGrid2D_FVM_Manager::set_rcregion_bounds | ( | type(IcGrid2D_FVM),intent(inout) | self, |
integer,intent(in) | rcID, | ||
real(DP),dimension(3),intent(in) | top, | ||
real(DP),dimension(3),intent(in) | left, | ||
real(DP),dimension(3),intent(in) | bottom, | ||
real(DP),dimension(3),intent(in) | right | ||
) |
矩形領域の端の 4 個の頂点座標を設定する.
[in,out] | self | 構造型 IcGrid2D_FVM の変数. |
[in] | rcID | 頂点座標を設定する矩形領域の ID. |
[in] | top | 上側頂点に対応する格子点座標. |
[in] | left | 左側頂点に対応する格子点座標. |
[in] | right | 右側頂点に対応する格子点座標. |
[in] | bottom | 下側頂点に対応する格子点座標. |
IcGrid2D_FVM_Manager.f90 の 512 行で定義されています。
integer,parameter,public IcGrid2D_FVM_Manager::CELL_POINTS_NUM = 6 |
格子点に付随するコントロールボリュームの頂点数(特異点は例外的に 5 ).
IcGrid2D_FVM_Manager.f90 の 67 行で定義されています。
integer,parameter,public IcGrid2D_FVM_Manager::GTYPE_SPRGCGRID = 3 |
IcGrid2D_FVM_Manager.f90 の 94 行で定義されています。
integer,parameter,public IcGrid2D_FVM_Manager::GTYPE_STDGCGRID = 2 |
IcGrid2D_FVM_Manager.f90 の 90 行で定義されています。
integer,parameter,public IcGrid2D_FVM_Manager::GTYPE_STDGRID = 1 |
IcGrid2D_FVM_Manager.f90 の 86 行で定義されています。
integer,parameter,public IcGrid2D_FVM_Manager::ICOSAHEDRON_VERTEX_NUM = 12 |
正二十面体の頂点数.
IcGrid2D_FVM_Manager.f90 の 63 行で定義されています。
integer,parameter,public IcGrid2D_FVM_Manager::NORTH_POLE_FLAG = 1 |
指定された格子点が北極と一致していることを示す定数.
IcGrid2D_FVM_Manager.f90 の 75 行で定義されています。
integer,parameter,public IcGrid2D_FVM_Manager::NOT_POLE_FLAG = 0 |
指定された格子点が両極と一致していないことを示す定数.
IcGrid2D_FVM_Manager.f90 の 71 行で定義されています。
integer,parameter,public IcGrid2D_FVM_Manager::RC_REGIONS_NUM = 10 |
全矩形領域の数.
IcGrid2D_FVM_Manager.f90 の 59 行で定義されています。
integer,parameter,public IcGrid2D_FVM_Manager::SOUTH_POLE_FLAG = 2 |
指定された格子点が南極と一致していることを示す定数.
IcGrid2D_FVM_Manager.f90 の 79 行で定義されています。