FE-Project
Loading...
Searching...
No Matches
scale_mesh_cubedspheredom2d::meshcubedspheredom2d Type Reference

Derived type to manage a cubed-sphere 2D computational domain. More...

Inheritance diagram for scale_mesh_cubedspheredom2d::meshcubedspheredom2d:
scale_mesh_base2d::meshbase2d scale_mesh_base::meshbase

Public Member Functions

procedure init (this, negx, negy, rplanet, refelem, nlocalmeshperprc, nproc, myrank)
procedure final (this)
procedure generate (this)
procedure assigndomid (this, nprcx_lc, nprcy_lc, tileid_table, panelid_table, pi_table, pj_table)
Public Member Functions inherited from scale_mesh_base2d::meshbase2d
procedure(meshbase2d_generate), deferred generate meshbase2d_generate
procedure getlocalmesh (this, id, ptr_lcmesh)
Public Member Functions inherited from scale_mesh_base::meshbase
procedure(meshbase_get_localmesh), deferred getlocalmesh meshbase_get_localmesh
procedure setdiminfo (this, dimid, name, unit, desc, positive_down)

Public Attributes

integer negx
 Number of elements in X-direction in a panel of cubed-sphere mesh.
integer negy
 Number of elements in Y-direction in a panel of cubed-sphere mesh.
real(rp), public xmin_gl
 Minimum X-coordinate in a panel of cubed-sphere mesh.
real(rp), public xmax_gl
 Maximum X-coordinate in a panel of cubed-sphere mesh.
real(rp), public ymin_gl
 Minimum Y-coordinate in a panel of cubed-sphere mesh.
real(rp), public ymax_gl
 Maximum Y-coordinate in a panel of cubed-sphere mesh.
integer, dimension(:,:,:), allocatable rcdomijp2lcmeshid
 Mapping from (i,j,panel) to local mesh ID.
real(rp) rplanet
 Planetary radius.
integer halosize_1d
 Halo size in 1D direction.
Public Attributes inherited from scale_mesh_base2d::meshbase2d
type(localmesh2d), dimension(:), allocatable lcmesh_list
 Array of local meshes in each MPI process.
type(elementbase2d), pointer refelem2d
 Pointer to an object with a reference element for 2D.
Public Attributes inherited from scale_mesh_base::meshbase
integer local_mesh_num
 Number of local meshes in each MPI process.
integer prc_num
 Number of MPI processes.
integer local_mesh_num_global
 Total number of local meshes across all MPI processes.
integer, dimension(:,:), allocatable tileid_globalmap
integer, dimension(:,:), allocatable tilefaceid_globalmap
integer, dimension(:,:), allocatable tilepanelid_globalmap
integer, dimension(:), allocatable tileid_global2localmap
integer, dimension(:), allocatable prcrank_globalmap
class(elementbase), pointer refelem
 Pointer to an object with a reference element.
type(meshdiminfo), dimension(:), allocatable diminfo
 Array of information for each dimension.
real(rp) dom_vol
 Total volume of the computational domain.
logical isgenerated
 Flag whether the mesh is generated.

Detailed Description

Derived type to manage a cubed-sphere 2D computational domain.

Definition at line 41 of file scale_mesh_cubedspheredom2d.F90.

Member Function/Subroutine Documentation

◆ init()

procedure scale_mesh_cubedspheredom2d::meshcubedspheredom2d::init ( class(meshcubedspheredom2d), intent(inout) this,
integer, intent(in) negx,
integer, intent(in) negy,
real(rp), intent(in) rplanet,
type(quadrilateralelement), intent(in), target refelem,
integer, intent(in) nlocalmeshperprc,
integer, intent(in), optional nproc,
integer, intent(in), optional myrank )

Definition at line 55 of file scale_mesh_cubedspheredom2d.F90.

◆ final()

procedure scale_mesh_cubedspheredom2d::meshcubedspheredom2d::final ( class(meshcubedspheredom2d), intent(inout) this)

Definition at line 56 of file scale_mesh_cubedspheredom2d.F90.

◆ generate()

procedure scale_mesh_cubedspheredom2d::meshcubedspheredom2d::generate ( class(meshcubedspheredom2d), intent(inout), target this)

Definition at line 57 of file scale_mesh_cubedspheredom2d.F90.

◆ assigndomid()

procedure scale_mesh_cubedspheredom2d::meshcubedspheredom2d::assigndomid ( class(meshcubedspheredom2d), intent(inout), target this,
integer, intent(in) nprcx_lc,
integer, intent(in) nprcy_lc,
integer, dimension(this%local_mesh_num, this%prc_num), intent(out) tileid_table,
integer, dimension(this%local_mesh_num*this%prc_num), intent(out) panelid_table,
integer, dimension(this%local_mesh_num*this%prc_num), intent(out) pi_table,
integer, dimension(this%local_mesh_num*this%prc_num), intent(out) pj_table )

Member Data Documentation

◆ negx

integer scale_mesh_cubedspheredom2d::meshcubedspheredom2d::negx

Number of elements in X-direction in a panel of cubed-sphere mesh.

Definition at line 42 of file scale_mesh_cubedspheredom2d.F90.

42 integer :: NeGX !< Number of elements in X-direction in a panel of cubed-sphere mesh

◆ negy

integer scale_mesh_cubedspheredom2d::meshcubedspheredom2d::negy

Number of elements in Y-direction in a panel of cubed-sphere mesh.

Definition at line 43 of file scale_mesh_cubedspheredom2d.F90.

43 integer :: NeGY !< Number of elements in Y-direction in a panel of cubed-sphere mesh

◆ xmin_gl

real(rp), public scale_mesh_cubedspheredom2d::meshcubedspheredom2d::xmin_gl

Minimum X-coordinate in a panel of cubed-sphere mesh.

Definition at line 45 of file scale_mesh_cubedspheredom2d.F90.

45 real(RP), public :: xmin_gl !< Minimum X-coordinate in a panel of cubed-sphere mesh

◆ xmax_gl

real(rp), public scale_mesh_cubedspheredom2d::meshcubedspheredom2d::xmax_gl

Maximum X-coordinate in a panel of cubed-sphere mesh.

Definition at line 46 of file scale_mesh_cubedspheredom2d.F90.

46 real(RP), public :: xmax_gl !< Maximum X-coordinate in a panel of cubed-sphere mesh

◆ ymin_gl

real(rp), public scale_mesh_cubedspheredom2d::meshcubedspheredom2d::ymin_gl

Minimum Y-coordinate in a panel of cubed-sphere mesh.

Definition at line 47 of file scale_mesh_cubedspheredom2d.F90.

47 real(RP), public :: ymin_gl !< Minimum Y-coordinate in a panel of cubed-sphere mesh

◆ ymax_gl

real(rp), public scale_mesh_cubedspheredom2d::meshcubedspheredom2d::ymax_gl

Maximum Y-coordinate in a panel of cubed-sphere mesh.

Definition at line 48 of file scale_mesh_cubedspheredom2d.F90.

48 real(RP), public :: ymax_gl !< Maximum Y-coordinate in a panel of cubed-sphere mesh

◆ rcdomijp2lcmeshid

integer, dimension(:,:,:), allocatable scale_mesh_cubedspheredom2d::meshcubedspheredom2d::rcdomijp2lcmeshid

Mapping from (i,j,panel) to local mesh ID.

Definition at line 50 of file scale_mesh_cubedspheredom2d.F90.

50 integer, allocatable :: rcdomIJP2LCMeshID(:,:,:) !< Mapping from (i,j,panel) to local mesh ID

◆ rplanet

real(rp) scale_mesh_cubedspheredom2d::meshcubedspheredom2d::rplanet

Planetary radius.

Definition at line 52 of file scale_mesh_cubedspheredom2d.F90.

52 real(RP) :: RPlanet !< Planetary radius

◆ halosize_1d

integer scale_mesh_cubedspheredom2d::meshcubedspheredom2d::halosize_1d

Halo size in 1D direction.

Definition at line 53 of file scale_mesh_cubedspheredom2d.F90.

53 integer :: haloSize_1D !< Halo size in 1D direction

The documentation for this type was generated from the following file: