IGMBaseLib 1.0
|
正二十面体格子上で水平 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 次元的に分布する物理場に作用する空間微分演算子(勾配, 発散, 回転)を評価するための手続きと その微分演算に必要な情報を管理するための構造型を提供するモジュール.
Copyright (C) GFD Dennou Club, 2011-2012. All rights reserved.
license ??
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.f90 の 767 行で定義されています。
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.f90 の 493 行で定義されています。
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.f90 の 563 行で定義されています。
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.f90 の 622 行で定義されています。
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.f90 の 717 行で定義されています。
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.f90 の 174 行で定義されています。
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.f90 の 129 行で定義されています。
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.f90 の 206 行で定義されています。
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.f90 の 360 行で定義されています。
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.f90 の 296 行で定義されています。
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.f90 の 251 行で定義されています。