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

Derivate_Field_IcGrid2D_Managerモジュール

正二十面体格子上で水平 2 次元的に分布する物理場に作用する空間微分演算子(勾配, 発散, 回転)を評価するための手続きと その微分演算に必要な情報を管理するための構造型を提供するモジュール. [詳細]

データ型

type  Derivate_Field_IcGrid2D
 正二十面体格子上で水平 2 次元的に分布する物理場の水平微分(勾配, 発散, 回転)を評価する際に必要な情報を管理する構造型. [詳細]

関数/サブルーチン

subroutine, public Derivate_Field_IcGrid2D_Init (self, icgrid)
 構造型 Derivate_Field_IcGrid2D の変数を初期化する.
subroutine, public Derivate_Field_IcGrid2D_Final (self)
 構造型 Derivate_Field_IcGrid2D の変数を最終化する.
subroutine, public divergence_op (self, vector_field, ret_scalar_field)
 正二十面体格子上の物理場の水平発散を計算する.
subroutine, public vertical_curl_op (self, vector_field, ret_scalar_field)
 正二十面体格子上に分布する物理場の回転の鉛直成分を計算する.
subroutine, public gradient_op (self, scalar_field, ret_vector_field)
 正二十面体格子上に分布する物理場の水平勾配を計算する.
subroutine eval_diffOptr (self, diffOptr_fnc, rcs_GP_val, val_dim, ret_rcs_val, ret_dim, idMin)
 引数で与えられた物理場に対して微分演算を施す.
subroutine calc_CV_val (self, CV_val, rcs_GP_val, rcID, gp_i, gp_j, val_dim, CV_num, idMin, EMin, EMax)
 コントロールボリュームの頂点上の物理場の値を, それを取り囲む近傍の格子点の値を使って補間する.
subroutine calc_CVGPindex (self)
 コントロールボリュームの各頂点を取り囲む近傍の格子点のインデックスを計算する.
subroutine calc_GPP_area_weight (self)
real(DP), dimension(3) calc_usual_area3 (CV_GPindx, g, rc_AGrid, ic_radius, idMin)
real(DP), dimension(3) calc_area3_from_4pts (p1, p2, p3, g, ic_radius)

説明

正二十面体格子上で水平 2 次元的に分布する物理場に作用する空間微分演算子(勾配, 発散, 回転)を評価するための手続きと その微分演算に必要な情報を管理するための構造型を提供するモジュール.

Derivate_Field_IcGrid2D_Manager モジュールについて



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

作者:
Yuta Kawai

関数/サブルーチン

real(DP),dimension(3) Derivate_Field_IcGrid2D_Manager::calc_area3_from_4pts ( real(DP),dimension(3),intent(in)  p1,
real(DP),dimension(3),intent(in)  p2,
real(DP),dimension(3),intent(in)  p3,
real(DP),dimension(3),intent(in)  g,
real(DP),intent(in)  ic_radius 
) [private]
引数:
[in]p1点 P1 の位置ベクトル.
[in]p2点 P2 の位置ベクトル.
[in]p3点 P3 の位置ベクトル.
[in]g重力加速度.
[in]ic_radius正二十面体を内包する球の半径.
戻り値:

Derivate_Field_IcGrid2D_Manager.f90767 行で定義されています。

subroutine Derivate_Field_IcGrid2D_Manager::calc_CV_val ( type(Derivate_Field_IcGrid2D),intent(inout)  self,
real(DP),dimension(cv_num, val_dim),intent(inout)  CV_val,
real(DP),dimension(:,idmin:,idmin:,:),intent(in)  rcs_GP_val,
integer,intent(in)  rcID,
integer,intent(in)  gp_i,
integer,intent(in)  gp_j,
integer,intent(in)  val_dim,
integer,intent(in)  CV_num,
integer,intent(in)  idMin,
integer,intent(in)  EMin,
integer,intent(in)  EMax 
)

コントロールボリュームの頂点上の物理場の値を, それを取り囲む近傍の格子点の値を使って補間する.

引数:
[in,out]self構造型 Derivate_Field_IcGrid2D の変数.
[in,out]CV_valコントロールボリュームの頂点上の物理場の値を格納する配列.
[in]rcs_GP_val格子点上の物理場の値を格納する配列.
[in]rcID矩形領域のインデックス.
[in]gp_i各矩形領域における水平第一成分のインデックス.
[in]gp_j各矩形領域における水平第二成分のインデックス.
[in]val_dim物理場の次元.
[in]CV_numコントロールボリュームの頂点数.
[in]idMin構造型 Derivate_Field_IcGrid2D_Manager の成分 rcs_AGrid の袖領域を含めた配列の最小インデックス.
[in]EMin構造型 Derivate_Field_IcGrid2D_Manager の成分 rcs_AGrid の袖領域を含めない配列の最小インデックス.

Derivate_Field_IcGrid2D_Manager.f90493 行で定義されています。

subroutine Derivate_Field_IcGrid2D_Manager::calc_CVGPindex ( type(Derivate_Field_IcGrid2D),intent(inout)  self) [private]

コントロールボリュームの各頂点を取り囲む近傍の格子点のインデックスを計算する.

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

Derivate_Field_IcGrid2D_Manager.f90563 行で定義されています。

subroutine Derivate_Field_IcGrid2D_Manager::calc_GPP_area_weight ( type(Derivate_Field_IcGrid2D),intent(inout)  self) [private]
引数:
[in,out]self構造型 Derivate_Field_IcGrid2D の変数.

Derivate_Field_IcGrid2D_Manager.f90622 行で定義されています。

real(DP),dimension(3) Derivate_Field_IcGrid2D_Manager::calc_usual_area3 ( integer,dimension(3,2),intent(in)  CV_GPindx,
real(DP),dimension(3),intent(in)  g,
real(DP),dimension(idmin:,idmin:,:),intent(in)  rc_AGrid,
real(DP),intent(in)  ic_radius,
integer,intent(in)  idMin 
) [private]
引数:
[in]CV_GPindex
[in]g重力加速度.
[in]rc_AGrid対象となる矩形領域の格子座標データを保持する配列.
[in]ic_rudius正二十面体を内包する球の半径.
[in]idMin配列 rc_AGrid の第 1 (or 2) 次元の添字の下限.
戻り値:

Derivate_Field_IcGrid2D_Manager.f90717 行で定義されています。

subroutine,public Derivate_Field_IcGrid2D_Manager::Derivate_Field_IcGrid2D_Final ( type(Derivate_Field_IcGrid2D),intent(inout)  self)

構造型 Derivate_Field_IcGrid2D の変数を最終化する.

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

Derivate_Field_IcGrid2D_Manager.f90174 行で定義されています。

subroutine,public Derivate_Field_IcGrid2D_Manager::Derivate_Field_IcGrid2D_Init ( type(Derivate_Field_IcGrid2D),intent(inout)  self,
type(IcGrid2D_FVM),intent(in),target  icgrid 
)

構造型 Derivate_Field_IcGrid2D の変数を初期化する.

引数:
[in,out]self構造型 Derivate_Field_IcGrid2D の変数.
[in]icgrid正二十面格子を管理する構造型 IcGrid2D_FVM の変数.

Derivate_Field_IcGrid2D_Manager.f90129 行で定義されています。

subroutine,public Derivate_Field_IcGrid2D_Manager::divergence_op ( type(Derivate_Field_IcGrid2D),intent(inout),target  self,
type(Field_IcGrid2D),intent(in)  vector_field,
type(Field_IcGrid2D),intent(inout)  ret_scalar_field 
)

正二十面体格子上の物理場の水平発散を計算する.

引数:
[in,out]self構造型 Derivate_Field_IcGrid2D の変数.
[in]vector_field発散演算子を作用させる物理場データを管理する構造型 Field_IcGrid2D の変数.
[in,out]ret_scalar_field計算結果の水平発散場を保存する構造型 Field_IcGrid2D の変数.

Derivate_Field_IcGrid2D_Manager.f90206 行で定義されています。

subroutine Derivate_Field_IcGrid2D_Manager::eval_diffOptr ( type(Derivate_Field_IcGrid2D),intent(inout),target  self,
diffOptr_fnc  diffOptr_fnc,
real(DP),dimension(:,idmin:,idmin:,:),intent(in)  rcs_GP_val,
integer,intent(in)  val_dim,
real(DP),dimension(:,idmin:,idmin:,:),intent(inout)  ret_rcs_val,
integer,intent(in)  ret_dim,
integer,intent(in)  idMin 
) [private]

引数で与えられた物理場に対して微分演算を施す.

物理場の発散・回転・勾配のいずれかを計算する.

引数:
[in,out]self構造型 Derivate_Field_IcGrid2D の変数.
[in]diffOptr各微分演算を実装している呼び出し規則が共通なサブルーチン.
[in]rcs_GP_val微分演算子を作用させる正二十面体格子上の物理場データを保持する配列.
[in]val_dim 微分演算を作用させる物理場の次元.
[in,out]ret_rcs_val微分演算の結果を保存する配列.
[in]ret_dim微分演算子の結果生じる物理場の次元.
[in]idMin物理場データを保持する配列 rcs_GP_val の第 2(or 3)インデックスの下限.

Derivate_Field_IcGrid2D_Manager.f90360 行で定義されています。

subroutine,public Derivate_Field_IcGrid2D_Manager::gradient_op ( type(Derivate_Field_IcGrid2D),intent(inout),target  self,
type(Field_IcGrid2D),intent(in)  scalar_field,
type(Field_IcGrid2D),intent(inout)  ret_vector_field 
)

正二十面体格子上に分布する物理場の水平勾配を計算する.

引数:
[in,out]self構造型 Derivate_Field_IcGrid2D の変数.
[in]vector_field水平勾配演算子を作用させる物理場データを保持する構造型 Field_IcGrid2D の変数.
[in,out]ret_scalar_field水平勾配を保存する構造型 Field_IcGrid2D の変数.

Derivate_Field_IcGrid2D_Manager.f90296 行で定義されています。

subroutine,public Derivate_Field_IcGrid2D_Manager::vertical_curl_op ( type(Derivate_Field_IcGrid2D),intent(inout),target  self,
type(Field_IcGrid2D),intent(in)  vector_field,
type(Field_IcGrid2D),intent(inout)  ret_scalar_field 
)

正二十面体格子上に分布する物理場の回転の鉛直成分を計算する.

引数:
[in,out]self構造型 Derivate_Field_IcGrid2D の変数.
[in]vector_field回転演算子を作用させる物理場データを保持する構造型 Field_IcGrid2D の変数.
[in,out]ret_scalar_field計算結果の回転の鉛直成分を保存する構造型 Field_IcGrid2D の変数.

Derivate_Field_IcGrid2D_Manager.f90251 行で定義されています。

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