IGMBaseLib 1.0
Data Types | Functions/Subroutines

Derivate_Field_IcGrid2D_Manager Module Reference

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)

Detailed Description

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.

About Derivate_Field_IcGrid2D_Manager



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

Author:
Yuta Kawai

Function/Subroutine Documentation

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]
Parameters:
[in]p1The position vector of a point P1.
[in]p2The position vector of a point P2.
[in]p3The position vector of a point P3.
[in]gGravitational acceleration.
[in]ic_radiusThe radius of a sphere which an icosahedron is embedded into.
Returns:

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.

Parameters:
[in,out]selfThe variable of derived type Derivate_Field_IcGrid2D.
[in,out]CV_valThe array containg the values of the physical field at the vertices of control volumes.
[in]rcs_GP_valThe array containg the values of the physical field at the grid-points.
[in]rcIDThe index of rectagle region.
[in]gp_i各矩形領域における水平第一成分のインデックス.
[in]gp_j各矩形領域における水平第二成分のインデックス.
[in]val_dimThe dimension of physical field.
[in]CV_numThe 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]

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

Parameters:
[in,out]selfThe 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]
Parameters:
[in,out]selfThe 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]
Parameters:
[in]CV_GPindex
[in]gGravitational acceleration.
[in]rc_AGrid
[in]ic_rudiusThe radius of a sphere which an icosahedron is embedded into.
[in]idMinThe lower bound index of array 'rc_AGrid' in the first (or second dimension).
Returns:

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.

Parameters:
[in,out]selfA 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.

Parameters:
[in,out]selfThe variable of derived type Derivate_Field_IcGrid2D.
[in]icgridThe 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.

Parameters:
[in,out]selfThe variable of derived type Derivate_Field_IcGrid2D.
[in]vector_fieldThe variable of derived type Field_IcGrid2D to manage the physical field which is acted by the divergence operator.
[in,out]ret_scalar_fieldThe 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.

Parameters:
[in,out]selfThe variable of derived type Derivate_Field_IcGrid2D.
[in]diffOptr各微分演算を実装している呼び出し規則が共通なサブルーチン.
[in]rcs_GP_valThe 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_valThe array in which the result of differential operations is stored.
[in]ret_dimThe dimension of the physcal field generated by the differential operation.
[in]idMinThe 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.

Parameters:
[in,out]selfThe variable of derived type Derivate_Field_IcGrid2D.
[in]vector_fieldThe variable of derived type Field_IcGrid2D to manage the physical field which is acted by the gradient operator.
[in,out]ret_scalar_fieldThe 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.

Parameters:
[in,out]selfThe variable of derived type Derivate_Field_IcGrid2D.
[in]vector_fieldThe variable of derived type Field_IcGrid2D to manage the physical field which is acted by the (vertical) curl operator.
[in,out]ret_scalar_fieldThe 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.

 All Classes Namespaces Files Functions Variables