FE-Project
Loading...
Searching...
No Matches
scale_localmesh_3d::localmesh3d Type Reference

Derived type to manage a local 3D computational domain. More...

Inheritance diagram for scale_localmesh_3d::localmesh3d:
scale_localmesh_base::localmeshbase

Public Member Functions

procedure setlocalmesh2d (this, lcmesh2d)
 Set a pointer to an object to mange 2D local computational domain.
procedure getvmapz1d (this, vmapm, vmapp)
 Get arrays for vertical mapping node index with vertical element boundary to that with DG data.
procedure getvmapz3d (this, vmapm, vmapp)
 Get arrays for vertical mapping node index with vertical element boundary to that with DG data.

Public Attributes

type(elementbase3d), pointer refelem3d
 Pointer to a object of 3D reference element.
real(rp) xmin
 Minimum x-coordinate value of the local computational domain.
real(rp) xmax
 Maximum x-coordinate value of the local computational domain.
real(rp) ymin
 Minimum y-coordinate value of the local computational domain.
real(rp) ymax
 Maximum y-coordinate value of the local computational domain.
real(rp) zmin
 Minimum z-coordinate value of the local computational domain.
real(rp) zmax
 Maximum z-coordinate value of the local computational domain.
integer nex
 Number of finite elements for the x-direction in the local computational domain.
integer ney
 Number of finite elements for the y-direction in the local computational domain.
integer nez
 Number of finite elements for the z-direction in the local computational domain.
integer ne2d
 NeX * NeY.
integer ne2da
 NeX * NeY + halo size.
real(rp), dimension(:,:), allocatable sz
real(rp), dimension(:,:), allocatable zs
real(rp), dimension(:,:,:), allocatable gi3
 The contravariant component of metric tensor with vertical general coordinate.
real(rp), dimension(:,:), allocatable gsqrth
 The Jacobian of horizontal transformation in the computational coordinate.
real(rp), dimension(:,:), allocatable zlev
 z-coordinates (actual level)
real(rp), dimension(:,:), allocatable gam
 Factor for approximation with spherical shell domain (= r/a)
class(localmesh2d), pointer lcmesh2d
real(rp), dimension(:,:), allocatable lon2d
 Longitude coordinate with 2D mesh.
real(rp), dimension(:,:), allocatable lat2d
 Latitude coordinate with 2D mesh.
integer, dimension(:), allocatable emap3dto2d
 Array to map 3D element ID to 2D element ID.
Public Attributes inherited from scale_localmesh_base::localmeshbase
integer ne
 Number of finite elements in the local computational domain.
integer nes
 Start index of finite element indices in the local computational domain.
integer nee
 End index of finite element indices in the local computational domain.
integer nea
 Total number of finite elements (Ne + halo buffer)
integer nv
 Number of vertices in the local computational domain.
class(elementbase), pointer refelem
 Pointer to an object with a reference element.
real(rp), dimension(:,:), allocatable pos_ev
 Position of vertices in finite elements in the local computational domain.
real(rp), dimension(:,:,:), allocatable pos_en
 Position of nodes in finite elements in the local computational domain.
real(rp), dimension(:,:,:), allocatable normal_fn
real(rp), dimension(:,:), allocatable sj
real(rp), dimension(:,:), allocatable j
real(rp), dimension(:,:,:,:), allocatable escale
real(rp), dimension(:,:), allocatable fscale
integer, dimension(:,:), allocatable etov
integer, dimension(:,:), allocatable etoe
integer, dimension(:,:), allocatable etof
integer, dimension(:,:), allocatable vmapm
integer, dimension(:,:), allocatable vmapp
integer, dimension(:,:), allocatable mapm
integer, dimension(:,:), allocatable mapp
integer, dimension(:,:), allocatable bctype
integer, dimension(:), allocatable mapb
integer, dimension(:), allocatable vmapb
integer tileid
integer panelid
integer prc_myrank
integer lcdomid
 ID of local computational mesh.
real(rp), dimension(:,:,:,:), allocatable g_ij
 The covariant component of metric tensor with horizontal general curvilinear coordinate.
real(rp), dimension(:,:,:,:), allocatable gij
 The contravariant component of metric tensor with horizontal general curvilinear coordinate.
real(rp), dimension(:,:), allocatable gsqrt
 The Jacobian of 3D transformation in the computational coordinate (=GsqrtH * GsqrtV)

Detailed Description

Derived type to manage a local 3D computational domain.

Definition at line 32 of file scale_localmesh_3d.F90.

Member Function/Subroutine Documentation

◆ setlocalmesh2d()

procedure scale_localmesh_3d::localmesh3d::setlocalmesh2d ( class(localmesh3d), intent(inout) this,
class(localmesh2d), intent(in), target lcmesh2d )

Set a pointer to an object to mange 2D local computational domain.

Definition at line 61 of file scale_localmesh_3d.F90.

◆ getvmapz1d()

procedure scale_localmesh_3d::localmesh3d::getvmapz1d ( class(localmesh3d), intent(in), target this,
integer, dimension(this%refelem3d%nfptot,this%nez), intent(out) vmapm,
integer, dimension(this%refelem3d%nfptot,this%nez), intent(out) vmapp )

Get arrays for vertical mapping node index with vertical element boundary to that with DG data.

Definition at line 62 of file scale_localmesh_3d.F90.

◆ getvmapz3d()

procedure scale_localmesh_3d::localmesh3d::getvmapz3d ( class(localmesh3d), intent(in), target this,
integer, dimension(this%refelem3d%nfptot,this%ne), intent(out) vmapm,
integer, dimension(this%refelem3d%nfptot,this%ne), intent(out) vmapp )

Get arrays for vertical mapping node index with vertical element boundary to that with DG data.

Definition at line 63 of file scale_localmesh_3d.F90.

References scale_localmesh_3d::localmesh3d_final(), and scale_localmesh_3d::localmesh3d_init().

Member Data Documentation

◆ refelem3d

type(elementbase3d), pointer scale_localmesh_3d::localmesh3d::refelem3d

Pointer to a object of 3D reference element.

Definition at line 34 of file scale_localmesh_3d.F90.

34 type(ElementBase3D), pointer :: refElem3D !< Pointer to a object of 3D reference element

◆ xmin

real(rp) scale_localmesh_3d::localmesh3d::xmin

Minimum x-coordinate value of the local computational domain.

Definition at line 35 of file scale_localmesh_3d.F90.

35 real(RP) :: xmin !< Minimum x-coordinate value of the local computational domain

◆ xmax

real(rp) scale_localmesh_3d::localmesh3d::xmax

Maximum x-coordinate value of the local computational domain.

Definition at line 36 of file scale_localmesh_3d.F90.

36 real(RP) :: xmax !< Maximum x-coordinate value of the local computational domain

◆ ymin

real(rp) scale_localmesh_3d::localmesh3d::ymin

Minimum y-coordinate value of the local computational domain.

Definition at line 37 of file scale_localmesh_3d.F90.

37 real(RP) :: ymin !< Minimum y-coordinate value of the local computational domain

◆ ymax

real(rp) scale_localmesh_3d::localmesh3d::ymax

Maximum y-coordinate value of the local computational domain.

Definition at line 38 of file scale_localmesh_3d.F90.

38 real(RP) :: ymax !< Maximum y-coordinate value of the local computational domain

◆ zmin

real(rp) scale_localmesh_3d::localmesh3d::zmin

Minimum z-coordinate value of the local computational domain.

Definition at line 39 of file scale_localmesh_3d.F90.

39 real(RP) :: zmin !< Minimum z-coordinate value of the local computational domain

◆ zmax

real(rp) scale_localmesh_3d::localmesh3d::zmax

Maximum z-coordinate value of the local computational domain.

Definition at line 40 of file scale_localmesh_3d.F90.

40 real(RP) :: zmax !< Maximum z-coordinate value of the local computational domain

◆ nex

integer scale_localmesh_3d::localmesh3d::nex

Number of finite elements for the x-direction in the local computational domain.

Definition at line 42 of file scale_localmesh_3d.F90.

42 integer :: NeX !< Number of finite elements for the x-direction in the local computational domain

◆ ney

integer scale_localmesh_3d::localmesh3d::ney

Number of finite elements for the y-direction in the local computational domain.

Definition at line 43 of file scale_localmesh_3d.F90.

43 integer :: NeY !< Number of finite elements for the y-direction in the local computational domain

◆ nez

integer scale_localmesh_3d::localmesh3d::nez

Number of finite elements for the z-direction in the local computational domain.

Definition at line 44 of file scale_localmesh_3d.F90.

44 integer :: NeZ !< Number of finite elements for the z-direction in the local computational domain

◆ ne2d

integer scale_localmesh_3d::localmesh3d::ne2d

NeX * NeY.

Definition at line 45 of file scale_localmesh_3d.F90.

45 integer :: Ne2D !< NeX * NeY

◆ ne2da

integer scale_localmesh_3d::localmesh3d::ne2da

NeX * NeY + halo size.

Definition at line 46 of file scale_localmesh_3d.F90.

46 integer :: Ne2DA !< NeX * NeY + halo size

◆ sz

real(rp), dimension(:,:), allocatable scale_localmesh_3d::localmesh3d::sz

Definition at line 48 of file scale_localmesh_3d.F90.

48 real(RP), allocatable :: Sz(:,:)

◆ zs

real(rp), dimension(:,:), allocatable scale_localmesh_3d::localmesh3d::zs

Definition at line 49 of file scale_localmesh_3d.F90.

49 real(RP), allocatable :: zS(:,:)

◆ gi3

real(rp), dimension(:,:,:), allocatable scale_localmesh_3d::localmesh3d::gi3

The contravariant component of metric tensor with vertical general coordinate.

Definition at line 50 of file scale_localmesh_3d.F90.

50 real(RP), allocatable :: GI3(:,:,:) !< The contravariant component of metric tensor with vertical general coordinate

◆ gsqrth

real(rp), dimension(:,:), allocatable scale_localmesh_3d::localmesh3d::gsqrth

The Jacobian of horizontal transformation in the computational coordinate.

Definition at line 51 of file scale_localmesh_3d.F90.

51 real(RP), allocatable :: GsqrtH(:,:) !< The Jacobian of horizontal transformation in the computational coordinate

◆ zlev

real(rp), dimension(:,:), allocatable scale_localmesh_3d::localmesh3d::zlev

z-coordinates (actual level)

Definition at line 52 of file scale_localmesh_3d.F90.

52 real(RP), allocatable :: zlev(:,:) !< z-coordinates (actual level)

◆ gam

real(rp), dimension(:,:), allocatable scale_localmesh_3d::localmesh3d::gam

Factor for approximation with spherical shell domain (= r/a)

Definition at line 53 of file scale_localmesh_3d.F90.

53 real(RP), allocatable :: gam(:,:) !< Factor for approximation with spherical shell domain (= r/a)

◆ lcmesh2d

class(localmesh2d), pointer scale_localmesh_3d::localmesh3d::lcmesh2d

Definition at line 55 of file scale_localmesh_3d.F90.

55 class(LocalMesh2D), pointer :: lcmesh2D

◆ lon2d

real(rp), dimension(:,:), allocatable scale_localmesh_3d::localmesh3d::lon2d

Longitude coordinate with 2D mesh.

Definition at line 56 of file scale_localmesh_3d.F90.

56 real(RP), allocatable :: lon2D(:,:) !< Longitude coordinate with 2D mesh

◆ lat2d

real(rp), dimension(:,:), allocatable scale_localmesh_3d::localmesh3d::lat2d

Latitude coordinate with 2D mesh.

Definition at line 57 of file scale_localmesh_3d.F90.

57 real(RP), allocatable :: lat2D(:,:) !< Latitude coordinate with 2D mesh

◆ emap3dto2d

integer, dimension(:), allocatable scale_localmesh_3d::localmesh3d::emap3dto2d

Array to map 3D element ID to 2D element ID.

Definition at line 59 of file scale_localmesh_3d.F90.

59 integer, allocatable :: EMap3Dto2D(:) !< Array to map 3D element ID to 2D element ID

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