IGMBaseLib 1.0
Data Types | Functions/Subroutines | Variables

IcGrid2D_FVM_Manager Module Reference

This module provides a derived type, which manages the coordinate data for grid points and their control volume in icosahedral gird, and some subroutines to manupulate their data. More...

Data Types

type  IcGrid2D_FVM
 Derived type which manages the coordinate datas for grid points and their control volume in icosahedral gird. More...

Functions/Subroutines

subroutine, public IcGrid2D_FVM_Init (self, glevel, ic_radius)
 Initializes the variable of FV_IcGrid type.
subroutine, public malloc_GP_array (self)
 Allocates memory for array to stroe the vertices of icosahedral grid.
subroutine, public malloc_CV_array (self)
 Allocates memory for array to store the vertices of control volumes surrounding each grid point.
subroutine, public IcGrid2D_FVM_Final (self)
 Finalizes a variable of derived type 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)
 Gets the radius of a sphere which an icosahedron is embedded into.
integer, public get_glevel (self)
 Get the horizontal division level (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)
 Check whether the grid point(rcID, i, j) concides with the pole.
subroutine, public calc_icosahedron_vertex (orth_icvertex)
 Calculates the coordinates of twelve vertices of an icosahedron embedded into a unit sphere.

Variables

integer, parameter, public RC_REGIONS_NUM = 10
 Number of all rectangle regions.
integer, parameter, public ICOSAHEDRON_VERTEX_NUM = 12
 The number of vertices of the icosahedron.
integer, parameter, public CELL_POINTS_NUM = 6
integer, parameter, public NOT_POLE_FLAG = 0
 The constant indicating that the specified grid point coincides with both poles.
integer, parameter, public NORTH_POLE_FLAG = 1
 The constant indicating that the specified grid point concides with the north pole.
integer, parameter, public SOUTH_POLE_FLAG = 2
 The constant indicating that the specified grid point concides with the south pole.
integer, parameter, public GTYPE_STDGRID = 1
integer, parameter, public GTYPE_STDGCGRID = 2
integer, parameter, public GTYPE_SPRGCGRID = 3

Detailed Description

This module provides a derived type, which manages the coordinate data for grid points and their control volume in icosahedral gird, and some subroutines to manupulate their data.

About IcGrid2D_FVM_Manager module
Since:
IGMBaseLib 1.0



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

Author:
Yuta Kawai

Function/Subroutine Documentation

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

Calculates the coordinates of twelve vertices of an icosahedron embedded into a unit sphere.

Parameters:
[in,out]orth_icvertexThe array in which the coordinates of twelve vertices will be stored.

Definition at line 851 of file IcGrid2D_FVM_Manager.f90.

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 
)

Check whether the grid point(rcID, i, j) concides with the pole.

北極であった場合 NORTH_POLE_FLAG, 南極であった場合 SOUTH_POLE_FLAG, いずれでもない場合 NOT_POLE_FLAG を返す

Parameters:
[in,out]selfA variable of derived type IcGrid2D_FVM.
[in]rcIDThe rectangle region index rcID of target grid point(rcID, i, j).
[in]ii of target grid point(rcID, i, j).
[in]jj of target grid point(rcID, i, j).
Returns:
pole_flag The constant indicating whether the specified grid point concides with the pole.

Definition at line 819 of file IcGrid2D_FVM_Manager.f90.

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 の組を取得する.

ただし, 北半球および南半球の極にあたる格子点のコントロールボリュームに対しては, 適用できない.

Parameters:
[in,out]selfA variable of derived type IcGrid2D_FVM.
[in]ii of target grid point(rcID, i, j).
[in]jj of target grid point(rcID, i, j).
[in]rcIDThe rectangle region index rcID of target grid point(rcID, i, j).
Returns:
CV_GPId The set of grid-point ID nessesary for calculating the vertices of the control volume.

Definition at line 608 of file IcGrid2D_FVM_Manager.f90.

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 の組を取得する.

Parameters:
[in,out]selfA variable of derived type IcGrid2D_FVM.
[in]ii of target grid point(rcID, i, j).
[in]jj of target grid point(rcID, i, j).
[in]rcIDThe rectangle region index rcID of target grid point(rcID, i, j).
Returns:
CV_GPId The set of grid-point ID nessesary for calculating the vertices of the control volume.

Definition at line 711 of file IcGrid2D_FVM_Manager.f90.

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

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

Parameters:
[in,out]self A variable of derived type IcGrid2D_FVM.
Returns:
gridEffMin 格子点座標を保持する配列ののりしろ部分除いたインデックス(水平一方向)の上限.

Definition at line 385 of file IcGrid2D_FVM_Manager.f90.

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

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

Parameters:
[in,out]selfA variable of derived type IcGrid2D_FVM.
Returns:
gridEffMin 格子点座標を保持する配列ののりしろ部分除いたインデックス(水平一方向)の下限.

Definition at line 361 of file IcGrid2D_FVM_Manager.f90.

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

Get the horizontal division level (glevel).

Parameters:
[in]selfA variable of derived type IcGrid2D_FVM.
Returns:
Horizontal division level.

Definition at line 481 of file IcGrid2D_FVM_Manager.f90.

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

Gets the radius of a sphere which an icosahedron is embedded into.

Parameters:
[in,out]selfA variable of derived type IcGrid2D_FVM.
Returns:
The radius of a sphere which an icosahedron is embedded into.

Definition at line 458 of file IcGrid2D_FVM_Manager.f90.

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

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

Parameters:
[in,out]selfA variable of derived type IcGrid2D_FVM.
Returns:
rcs_AGrid の袖領域も含めた配列の最大インデックス.

Definition at line 410 of file IcGrid2D_FVM_Manager.f90.

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

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

Parameters:
[in,out]selfA variable of derived type IcGrid2D_FVM.
Returns:
rcs_AGrid の袖領域を含めた配列の最小インデックス.

Definition at line 434 of file IcGrid2D_FVM_Manager.f90.

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

Finalizes a variable of derived type IcGrid2D_FVM.

This subroutine releases memory for all dynamically allocated arrays in derived type IcGrid2D_FVM.

Parameters:
[in,out]selfA variable of derived type IcGrid2D_FVM.

Definition at line 330 of file IcGrid2D_FVM_Manager.f90.

subroutine,public IcGrid2D_FVM_Manager::IcGrid2D_FVM_Init ( type(IcGrid2D_FVM),intent(inout)  self,
integer,intent(in)  glevel,
real(DP),intent(in)  ic_radius 
)

Initializes the variable of FV_IcGrid type.

この初期化では, 正二十面格子やそのコントロールボリュームの情報を保持する配列のメモリは確保されない. これらは, それぞれ本モジュールが提供する手続き malloc_GP_array, malloc_CV_array を用いて行うことができる.

Parameters:
[in,out]selfA variable of derived type IcGrid2D_FVM.
[in]glevelHorizontal division level.
[in]ic_radiusRadius of sphere embedded in a icosahedron.

Definition at line 232 of file IcGrid2D_FVM_Manager.f90.

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

Allocates memory for array to store the vertices of control volumes surrounding each grid point.

Parameters:
[in,out]selfA variable of derived type IcGrid2D_FVM.

Definition at line 298 of file IcGrid2D_FVM_Manager.f90.

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

Allocates memory for array to stroe the vertices of icosahedral grid.

Parameters:
[in,out]selfA variable of derived type IcGrid2D_FVM.

Definition at line 270 of file IcGrid2D_FVM_Manager.f90.

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

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

Parameters:
[in,out]selfA variable of derived type IcGrid2D_FVM.

Definition at line 544 of file IcGrid2D_FVM_Manager.f90.

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 個の頂点座標を設定する.

Parameters:
[in,out]selfA variable of derived type IcGrid2D_FVM.
[in]rcID頂点座標を設定する矩形領域の ID.
[in]top上側頂点に対応する格子点座標.
[in]left左側頂点に対応する格子点座標.
[in]right右側頂点に対応する格子点座標.
[in]bottom下側頂点に対応する格子点座標.

Definition at line 512 of file IcGrid2D_FVM_Manager.f90.


Variable Documentation

integer,parameter,public IcGrid2D_FVM_Manager::CELL_POINTS_NUM = 6

Definition at line 67 of file IcGrid2D_FVM_Manager.f90.

integer,parameter,public IcGrid2D_FVM_Manager::GTYPE_SPRGCGRID = 3

Definition at line 94 of file IcGrid2D_FVM_Manager.f90.

integer,parameter,public IcGrid2D_FVM_Manager::GTYPE_STDGCGRID = 2

Definition at line 90 of file IcGrid2D_FVM_Manager.f90.

integer,parameter,public IcGrid2D_FVM_Manager::GTYPE_STDGRID = 1

Definition at line 86 of file IcGrid2D_FVM_Manager.f90.

integer,parameter,public IcGrid2D_FVM_Manager::ICOSAHEDRON_VERTEX_NUM = 12

The number of vertices of the icosahedron.

Definition at line 63 of file IcGrid2D_FVM_Manager.f90.

integer,parameter,public IcGrid2D_FVM_Manager::NORTH_POLE_FLAG = 1

The constant indicating that the specified grid point concides with the north pole.

Definition at line 75 of file IcGrid2D_FVM_Manager.f90.

integer,parameter,public IcGrid2D_FVM_Manager::NOT_POLE_FLAG = 0

The constant indicating that the specified grid point coincides with both poles.

Definition at line 71 of file IcGrid2D_FVM_Manager.f90.

integer,parameter,public IcGrid2D_FVM_Manager::RC_REGIONS_NUM = 10

Number of all rectangle regions.

Definition at line 59 of file IcGrid2D_FVM_Manager.f90.

integer,parameter,public IcGrid2D_FVM_Manager::SOUTH_POLE_FLAG = 2

The constant indicating that the specified grid point concides with the south pole.

Definition at line 79 of file IcGrid2D_FVM_Manager.f90.

 All Classes Namespaces Files Functions Variables