FE-Project
|
Base derived type to manage data communication with 2D cubed-sphere domain. More...
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 |
Base derived type to manage data communication with 2D cubed-sphere domain.
Definition at line 46 of file scale_meshfieldcomm_cubedspheredom2d.F90.
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.
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.
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.
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.
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.
procedure, public scale_meshfieldcomm_cubedspheredom2d::meshfieldcommcubedspheredom2d::final | ( | class(meshfieldcommcubedspheredom2d), intent(inout) | this | ) |
Definition at line 56 of file scale_meshfieldcomm_cubedspheredom2d.F90.
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.
type(veccovariantcomp), dimension(:), allocatable scale_meshfieldcomm_cubedspheredom2d::meshfieldcommcubedspheredom2d::vec_covariant_comp_ptrlist |
Definition at line 48 of file scale_meshfieldcomm_cubedspheredom2d.F90.
integer, dimension(:), allocatable scale_meshfieldcomm_cubedspheredom2d::meshfieldcommcubedspheredom2d::nnode_lcmeshallface |
Definition at line 49 of file scale_meshfieldcomm_cubedspheredom2d.F90.