IGMBaseLib 1.0
|
This module provides some subroutine to evaluate the spatial differential operators(gradient, divergence, curl) acting on the horizontally distoributed physical field, and a derived type to manage the information necessary for the differential operations. More...
Data Types | |
type | Derivate_Field_IcGrid2D |
The derived type to manage the information necessary for evaluating the horizontal differential operators(divegence, gradient, curl) acting on the horizontally distirbuted physical field. More... | |
Functions/Subroutines | |
subroutine, public | Derivate_Field_IcGrid2D_Init (self, icgrid) |
Initializes the variable of derived type Derivate_Field_IcGrid2D. | |
subroutine, public | Derivate_Field_IcGrid2D_Final (self) |
Finalizes a variable of derived type Derivate_Field_IcGrid2D. | |
subroutine, public | divergence_op (self, vector_field, ret_scalar_field) |
Calculates the horizontal divergence of the physical field on icosahedral grid. | |
subroutine, public | vertical_curl_op (self, vector_field, ret_scalar_field) |
Calculates the vertical component of curl of the physical field on icosahedral grid. | |
subroutine, public | gradient_op (self, scalar_field, ret_vector_field) |
Calculates the horizontal gradient of the physical field on icosahedral grid. | |
subroutine | eval_diffOptr (self, diffOptr_fnc, rcs_GP_val, val_dim, ret_rcs_val, ret_dim, idMin) |
Calculates the differenatial of the specified physical field. | |
subroutine | calc_CV_val (self, CV_val, rcs_GP_val, rcID, gp_i, gp_j, val_dim, CV_num, idMin, EMin, EMax) |
Interpolates the values at the vertices of a control volume from values at the grid-points surrounding it. | |
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) |
This module provides some subroutine to evaluate the spatial differential operators(gradient, divergence, curl) acting on the horizontally distoributed physical field, and a derived type to manage the information necessary for the differential operations.
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 | The position vector of a point P1. |
[in] | p2 | The position vector of a point P2. |
[in] | p3 | The position vector of a point P3. |
[in] | g | Gravitational acceleration. |
[in] | ic_radius | The radius of a sphere which an icosahedron is embedded into. |
Definition at line 767 of file Derivate_Field_IcGrid2D_Manager.f90.
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 | ||
) |
Interpolates the values at the vertices of a control volume from values at the grid-points surrounding it.
[in,out] | self | The variable of derived type Derivate_Field_IcGrid2D. |
[in,out] | CV_val | The array containg the values of the physical field at the vertices of control volumes. |
[in] | rcs_GP_val | The array containg the values of the physical field at the grid-points. |
[in] | rcID | The index of rectagle region. |
[in] | gp_i | 各矩形領域における水平第一成分のインデックス. |
[in] | gp_j | 各矩形領域における水平第二成分のインデックス. |
[in] | val_dim | The dimension of physical field. |
[in] | CV_num | The number of vertices that a control volume has. |
[in] | idMin | 構造型 Derivate_Field_IcGrid2D_Manager の成分 rcs_AGrid の袖領域を含めた配列の最小インデックス. |
[in] | EMin 構造型 | Derivate_Field_IcGrid2D_Manager の成分 rcs_AGrid の袖領域を含めない配列の最小インデックス. |
Definition at line 493 of file Derivate_Field_IcGrid2D_Manager.f90.
subroutine Derivate_Field_IcGrid2D_Manager::calc_CVGPindex | ( | type(Derivate_Field_IcGrid2D),intent(inout) | self | ) | [private] |
コントロールボリュームの各頂点を取り囲む近傍の格子点のインデックスを計算する.
[in,out] | self | The variable of derived type Derivate_Field_IcGrid2D. |
Definition at line 563 of file Derivate_Field_IcGrid2D_Manager.f90.
subroutine Derivate_Field_IcGrid2D_Manager::calc_GPP_area_weight | ( | type(Derivate_Field_IcGrid2D),intent(inout) | self | ) | [private] |
[in,out] | self | The variable of derived type Derivate_Field_IcGrid2D. |
Definition at line 622 of file Derivate_Field_IcGrid2D_Manager.f90.
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 | Gravitational acceleration. |
[in] | rc_AGrid | |
[in] | ic_rudius | The radius of a sphere which an icosahedron is embedded into. |
[in] | idMin | The lower bound index of array 'rc_AGrid' in the first (or second dimension). |
Definition at line 717 of file Derivate_Field_IcGrid2D_Manager.f90.
subroutine,public Derivate_Field_IcGrid2D_Manager::Derivate_Field_IcGrid2D_Final | ( | type(Derivate_Field_IcGrid2D),intent(inout) | self | ) |
Finalizes a variable of derived type Derivate_Field_IcGrid2D.
[in,out] | self | A variable of derived type Derivate_Field_IcGrid2D. |
Definition at line 174 of file Derivate_Field_IcGrid2D_Manager.f90.
subroutine,public Derivate_Field_IcGrid2D_Manager::Derivate_Field_IcGrid2D_Init | ( | type(Derivate_Field_IcGrid2D),intent(inout) | self, |
type(IcGrid2D_FVM),intent(in),target | icgrid | ||
) |
Initializes the variable of derived type Derivate_Field_IcGrid2D.
[in,out] | self | The variable of derived type Derivate_Field_IcGrid2D. |
[in] | icgrid | The variable of derived type IcGrid2D_FVM which manages icosahedral grid. |
Definition at line 129 of file Derivate_Field_IcGrid2D_Manager.f90.
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 | ||
) |
Calculates the horizontal divergence of the physical field on icosahedral grid.
[in,out] | self | The variable of derived type Derivate_Field_IcGrid2D. |
[in] | vector_field | The variable of derived type Field_IcGrid2D to manage the physical field which is acted by the divergence operator. |
[in,out] | ret_scalar_field | The variable of derived type Field_IcGrid2D to save the resulting horizotal divergence field. |
Definition at line 206 of file Derivate_Field_IcGrid2D_Manager.f90.
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] |
Calculates the differenatial of the specified physical field.
One of the differential operation(divergence, curl and gradient) on the physical field will be performed.
[in,out] | self | The variable of derived type Derivate_Field_IcGrid2D. |
[in] | diffOptr | 各微分演算を実装している呼び出し規則が共通なサブルーチン. |
[in] | rcs_GP_val | The array containing the physical field data on icosahedral grid which is acted by the differential operator. |
[in] | val_dim | The dimension of the physical field acted by differential operators. |
[in,out] | ret_rcs_val | The array in which the result of differential operations is stored. |
[in] | ret_dim | The dimension of the physcal field generated by the differential operation. |
[in] | idMin | The lower bound index of array 'rcs_GP_val' in the second (or third) dimension. This array contains the physical field data. |
Definition at line 360 of file Derivate_Field_IcGrid2D_Manager.f90.
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 | ||
) |
Calculates the horizontal gradient of the physical field on icosahedral grid.
[in,out] | self | The variable of derived type Derivate_Field_IcGrid2D. |
[in] | vector_field | The variable of derived type Field_IcGrid2D to manage the physical field which is acted by the gradient operator. |
[in,out] | ret_scalar_field | The variable of derived type Field_IcGrid2D to save the resulting horizotal gradient field. |
Definition at line 296 of file Derivate_Field_IcGrid2D_Manager.f90.
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 | ||
) |
Calculates the vertical component of curl of the physical field on icosahedral grid.
[in,out] | self | The variable of derived type Derivate_Field_IcGrid2D. |
[in] | vector_field | The variable of derived type Field_IcGrid2D to manage the physical field which is acted by the (vertical) curl operator. |
[in,out] | ret_scalar_field | The variable of derived type Field_IcGrid2D to save the resulting component of curl of the field. |
Definition at line 251 of file Derivate_Field_IcGrid2D_Manager.f90.