IGMBaseLib 1.0
データ型 | 関数/サブルーチン | 変数

IcGrid2D_FVM_Managerモジュール

正二十面体格子における格子点およびそのコントロールボリュームの頂点の座標データを管理する構造型と それらのデータを操作する手続きを提供するモジュール. [詳細]

データ型

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

説明

正二十面体格子における格子点およびそのコントロールボリュームの頂点の座標データを管理する構造型と それらのデータを操作する手続きを提供するモジュール.

IcGrid2D_FVM_Manager モジュールについて
から:
IGMBaseLib 1.0



Copyright (C) GFD Dennou Club, 2011-2012. All rights reserved.
License ??

作者:
Yuta Kawai

関数/サブルーチン

subroutine,public IcGrid2D_FVM_Manager::calc_icosahedron_vertex ( real(DP),dimension(icosahedron_vertex_num, 3),intent(inout)  orth_icvertex)

単位球に内包される正二十面体の頂点 12 個の座標を計算する.

引数:
[in,out]orth_icvertex12 個の頂点座標を保存する配列.

IcGrid2D_FVM_Manager.f90851 行で定義されています。

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.
戻り値:
pole_flag 指定された格子点が極と一致しているか否かを表す定数.

IcGrid2D_FVM_Manager.f90819 行で定義されています。

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.
戻り値:
CV_GPId コントールボリュームの各頂点の計算に必要な格子点の id の組.

IcGrid2D_FVM_Manager.f90608 行で定義されています。

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.
戻り値:
CV_GPId コントールボリュームの各頂点の計算に必要な格子点の id の組.

IcGrid2D_FVM_Manager.f90711 行で定義されています。

integer,public IcGrid2D_FVM_Manager::get_EffSize_Max ( type(IcGrid2D_FVM),intent(in)  self)

格子点座標を保持する配列において, 物理的意味がある配列の最大インデックスを取得する.

引数:
[in,out]self 構造型 IcGrid2D_FVM の変数.
戻り値:
gridEffMin 格子点座標を保持する配列ののりしろ部分除いたインデックス(水平一方向)の上限.

IcGrid2D_FVM_Manager.f90385 行で定義されています。

integer,public IcGrid2D_FVM_Manager::get_EffSize_Min ( type(IcGrid2D_FVM),intent(in)  self)

格子点座標を保持する配列において, 物理的意味がある配列の最小インデックスを取得する.

引数:
[in,out]self構造型 IcGrid2D_FVM の変数.
戻り値:
gridEffMin 格子点座標を保持する配列ののりしろ部分除いたインデックス(水平一方向)の下限.

IcGrid2D_FVM_Manager.f90361 行で定義されています。

integer,public IcGrid2D_FVM_Manager::get_glevel ( type(IcGrid2D_FVM),intent(in)  self)

水平格子分割レベル(glevel)を取得する.

引数:
[in]self構造型 IcGrid2D_FVM の変数.
戻り値:
水平格子分割レベル.

IcGrid2D_FVM_Manager.f90481 行で定義されています。

real(DP),public IcGrid2D_FVM_Manager::get_IcRadius ( type(IcGrid2D_FVM),intent(in)  self)

正二十面体を内包する球の半径を取得する.

引数:
[in,out]self構造型 IcGrid2D_FVM の変数.
戻り値:
正二十面体を内包する球の半径.

IcGrid2D_FVM_Manager.f90458 行で定義されています。

integer,public IcGrid2D_FVM_Manager::get_IdMax ( type(IcGrid2D_FVM),intent(in)  self)

格子点座標を保持する配列(構造体 IcGrid2D_FVM の成分 rcs_AGrid)において, 袖領域も含めた配列の最大インデックスを取得する.

引数:
[in,out]self構造型 IcGrid2D_FVM の変数.
戻り値:
rcs_AGrid の袖領域も含めた配列の最大インデックス.

IcGrid2D_FVM_Manager.f90410 行で定義されています。

integer,public IcGrid2D_FVM_Manager::get_IdMin ( type(IcGrid2D_FVM),intent(in)  self)

格子点座標を保持する配列(構造体 IcGrid2D_FVM の成分 rcs_AGrid)において, 袖領域も含めた配列の最小インデックスを取得する.

引数:
[in,out]self構造型 IcGrid2D_FVM の変数.
戻り値:
rcs_AGrid の袖領域を含めた配列の最小インデックス.

IcGrid2D_FVM_Manager.f90434 行で定義されています。

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.f90330 行で定義されています。

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.f90232 行で定義されています。

subroutine,public IcGrid2D_FVM_Manager::malloc_CV_array ( type(IcGrid2D_FVM),intent(inout)  self)

各格子点に付随するコントロールボリュームの頂点座標を保持する配列のメモリを確保する.

引数:
[in,out]self構造型 IcGrid2D_FVM の変数.

IcGrid2D_FVM_Manager.f90298 行で定義されています。

subroutine,public IcGrid2D_FVM_Manager::malloc_GP_array ( type(IcGrid2D_FVM),intent(inout)  self)

IcGrid2D_FVM_Manager.f90270 行で定義されています。

subroutine,public IcGrid2D_FVM_Manager::paste_margin_width ( type(IcGrid2D_FVM),intent(inout)  self)

のりしろ部分をとなりの矩形領域の内側の格子座標データで埋める.

引数:
[in,out]self構造型 IcGrid2D_FVM の参照.

IcGrid2D_FVM_Manager.f90544 行で定義されています。

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.f90512 行で定義されています。


変数

integer,parameter,public IcGrid2D_FVM_Manager::CELL_POINTS_NUM = 6

格子点に付随するコントロールボリュームの頂点数(特異点は例外的に 5 ).

IcGrid2D_FVM_Manager.f9067 行で定義されています。

integer,parameter,public IcGrid2D_FVM_Manager::GTYPE_SPRGCGRID = 3

IcGrid2D_FVM_Manager.f9094 行で定義されています。

integer,parameter,public IcGrid2D_FVM_Manager::GTYPE_STDGCGRID = 2

IcGrid2D_FVM_Manager.f9090 行で定義されています。

integer,parameter,public IcGrid2D_FVM_Manager::GTYPE_STDGRID = 1

IcGrid2D_FVM_Manager.f9086 行で定義されています。

integer,parameter,public IcGrid2D_FVM_Manager::ICOSAHEDRON_VERTEX_NUM = 12

正二十面体の頂点数.

IcGrid2D_FVM_Manager.f9063 行で定義されています。

integer,parameter,public IcGrid2D_FVM_Manager::NORTH_POLE_FLAG = 1

指定された格子点が北極と一致していることを示す定数.

IcGrid2D_FVM_Manager.f9075 行で定義されています。

integer,parameter,public IcGrid2D_FVM_Manager::NOT_POLE_FLAG = 0

指定された格子点が両極と一致していないことを示す定数.

IcGrid2D_FVM_Manager.f9071 行で定義されています。

integer,parameter,public IcGrid2D_FVM_Manager::RC_REGIONS_NUM = 10

全矩形領域の数.

IcGrid2D_FVM_Manager.f9059 行で定義されています。

integer,parameter,public IcGrid2D_FVM_Manager::SOUTH_POLE_FLAG = 2

指定された格子点が南極と一致していることを示す定数.

IcGrid2D_FVM_Manager.f9079 行で定義されています。

 全て クラス ネームスペース ファイル 関数 変数