FE-Project
Loading...
Searching...
No Matches
scale_meshfieldcomm_cubedspheredom2d::meshfieldcommcubedspheredom2d Type Reference

Base derived type to manage data communication with 2D cubed-sphere domain. More...

Inheritance diagram for scale_meshfieldcomm_cubedspheredom2d::meshfieldcommcubedspheredom2d:
scale_meshfieldcomm_base::meshfieldcommbase

Public Member Functions

procedure, public init (this, sfield_num, hvfield_num, htensorfield_num, mesh2d)
procedure, public put (this, field_list, varid_s)
procedure, public get (this, field_list, varid_s)
procedure, public exchange (this, do_wait)
procedure, public setcovariantvec (this, hvfield_id, u1, u2)
procedure, public final (this)
Public Member Functions inherited from scale_meshfieldcomm_base::meshfieldcommbase
procedure(meshfieldcommbase_put), deferred, public put meshfieldcommbase_put
procedure(meshfieldcommbase_get), deferred, public get meshfieldcommbase_get
procedure(meshfieldcommbase_exchange), deferred, public exchange meshfieldcommbase_exchange
procedure, public prepare_pc (this, use_mpi_pc_fujitsu_ext)
 Prepare persistent communication.

Public Attributes

class(meshcubedspheredom2d), pointer mesh2d
 Pointer to an object representing 2D cubed-sphere computational mesh.
type(veccovariantcomp), dimension(:), allocatable vec_covariant_comp_ptrlist
integer, dimension(:), allocatable nnode_lcmeshallface
Public Attributes inherited from scale_meshfieldcomm_base::meshfieldcommbase
integer sfield_num
 Number of scalar fields.
integer hvfield_num
 Number of horizontal vector fields.
integer htensorfield_num
 Number of horizontal tensor fields.
integer field_num_tot
 Total number of fields.
integer nfaces_comm
 Number of faces where halo data is communicated.
class(meshbase), pointer mesh
real(rp), dimension(:,:,:), allocatable send_buf
 Buffer for sending data.
real(rp), dimension(:,:,:), allocatable recv_buf
 Buffer for receiving data.
integer, dimension(:), allocatable request_send
integer, dimension(:), allocatable request_recv
type(localmeshcommdata), dimension(:,:), allocatable commdata_list
integer, dimension(:,:), allocatable is_f
logical mpi_pc_flag
 Flag whether persistent communication is used.
logical use_mpi_pc_fujitsu_ext
 Flag whether Fujitsu extension routines are used for persistent communication.
integer, dimension(:), allocatable request_pc
integer req_counter
logical call_wait_flag_sub_get
 Flag whether MPI_wait need to be called before getting halo data from recv_buf.
integer obj_ind

Detailed Description

Base derived type to manage data communication with 2D cubed-sphere domain.

Definition at line 46 of file scale_meshfieldcomm_cubedspheredom2d.F90.

Member Function/Subroutine Documentation

◆ init()

procedure, public scale_meshfieldcomm_cubedspheredom2d::meshfieldcommcubedspheredom2d::init ( class(meshfieldcommcubedspheredom2d), intent(inout) this,
integer, intent(in) sfield_num,
integer, intent(in) hvfield_num,
integer, intent(in) htensorfield_num,
class(meshcubedspheredom2d), intent(in), target mesh2d )

Definition at line 51 of file scale_meshfieldcomm_cubedspheredom2d.F90.

◆ put()

procedure, public scale_meshfieldcomm_cubedspheredom2d::meshfieldcommcubedspheredom2d::put ( class(meshfieldcommcubedspheredom2d), intent(inout) this,
type(meshfieldcontainer), dimension(:), intent(in) field_list,
integer, intent(in) varid_s )

Definition at line 52 of file scale_meshfieldcomm_cubedspheredom2d.F90.

◆ get()

procedure, public scale_meshfieldcomm_cubedspheredom2d::meshfieldcommcubedspheredom2d::get ( class(meshfieldcommcubedspheredom2d), intent(inout) this,
type(meshfieldcontainer), dimension(:), intent(inout) field_list,
integer, intent(in) varid_s )

Definition at line 53 of file scale_meshfieldcomm_cubedspheredom2d.F90.

◆ exchange()

procedure, public scale_meshfieldcomm_cubedspheredom2d::meshfieldcommcubedspheredom2d::exchange ( class(meshfieldcommcubedspheredom2d), intent(inout), target this,
logical, intent(in), optional do_wait )

Definition at line 54 of file scale_meshfieldcomm_cubedspheredom2d.F90.

◆ setcovariantvec()

procedure, public scale_meshfieldcomm_cubedspheredom2d::meshfieldcommcubedspheredom2d::setcovariantvec ( class(meshfieldcommcubedspheredom2d), intent(inout) this,
integer, intent(in) hvfield_id,
type(meshfield2d), intent(in), target u1,
type(meshfield2d), intent(in), target u2 )

Definition at line 55 of file scale_meshfieldcomm_cubedspheredom2d.F90.

◆ final()

procedure, public scale_meshfieldcomm_cubedspheredom2d::meshfieldcommcubedspheredom2d::final ( class(meshfieldcommcubedspheredom2d), intent(inout) this)

Definition at line 56 of file scale_meshfieldcomm_cubedspheredom2d.F90.

Member Data Documentation

◆ mesh2d

class(meshcubedspheredom2d), pointer scale_meshfieldcomm_cubedspheredom2d::meshfieldcommcubedspheredom2d::mesh2d

Pointer to an object representing 2D cubed-sphere computational mesh.

Definition at line 47 of file scale_meshfieldcomm_cubedspheredom2d.F90.

47 class(MeshCubedSphereDom2D), pointer :: mesh2d !< Pointer to an object representing 2D cubed-sphere computational mesh

◆ vec_covariant_comp_ptrlist

type(veccovariantcomp), dimension(:), allocatable scale_meshfieldcomm_cubedspheredom2d::meshfieldcommcubedspheredom2d::vec_covariant_comp_ptrlist

Definition at line 48 of file scale_meshfieldcomm_cubedspheredom2d.F90.

48 type(VecCovariantComp), allocatable :: vec_covariant_comp_ptrlist(:)

◆ nnode_lcmeshallface

integer, dimension(:), allocatable scale_meshfieldcomm_cubedspheredom2d::meshfieldcommcubedspheredom2d::nnode_lcmeshallface

Definition at line 49 of file scale_meshfieldcomm_cubedspheredom2d.F90.

49 integer, allocatable :: Nnode_LCMeshAllFace(:)

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