FE-Project
|
module FElib / Data / Communication base More...
Data Types | |
type | localmeshcommdata |
Derived type to manage data communication between a face of local mesh. More... | |
type | meshfieldcommbase |
Base derived type to manage data communication. More... | |
interface | meshfieldcommbase_put |
type | meshfieldcontainer |
Functions/Subroutines | |
subroutine, public | meshfieldcommbase_init (this, sfield_num, hvfield_num, htensorfield_num, bufsize_per_field, comm_face_num, nnode_lcmeshface, mesh) |
Initialize a base object to manage data communication of fields. | |
subroutine, public | meshfieldcommbase_final (this) |
Finalize a base object to manage data communication of fields. | |
subroutine, public | meshfieldcommbase_exchange_core (this, commdata_list, do_wait) |
Exchange halo data. | |
subroutine, public | meshfieldcommbase_wait_core (this, commdata_list) |
Wait data communication and move tmp data of LocalMeshCommData object to a recv buffer. | |
subroutine, public | meshfieldcommbase_extract_bounddata (var, refelem, mesh, buf) |
subroutine, public | meshfieldcommbase_set_bounddata (buf, refelem, mesh, var) |
module FElib / Data / Communication base
subroutine, public scale_meshfieldcomm_base::meshfieldcommbase_init | ( | class(meshfieldcommbase), intent(inout) | this, |
integer, intent(in) | sfield_num, | ||
integer, intent(in) | hvfield_num, | ||
integer, intent(in) | htensorfield_num, | ||
integer, intent(in) | bufsize_per_field, | ||
integer, intent(in) | comm_face_num, | ||
integer, dimension(comm_face_num,mesh%local_mesh_num), intent(in) | nnode_lcmeshface, | ||
class(meshbase), intent(in), target | mesh ) |
Initialize a base object to manage data communication of fields.
sfield_num | Number of scalar fields |
hvfield_num | Number of horizontal vector fields |
htensorfield_num | Number of horizontal tensor fields |
bufsize_per_field | Buffer size per a field |
comm_face_num | Number of faces on a local mesh which perform data communication |
Nnode_LCMeshFace | Array to store the number of nodes |
Definition at line 150 of file scale_meshfieldcomm_base.F90.
Referenced by scale_meshfieldcomm_base::meshfieldcommbase::prepare_pc().
subroutine, public scale_meshfieldcomm_base::meshfieldcommbase_final | ( | class(meshfieldcommbase), intent(inout) | this | ) |
Finalize a base object to manage data communication of fields.
Definition at line 206 of file scale_meshfieldcomm_base.F90.
Referenced by scale_meshfieldcomm_base::meshfieldcommbase::prepare_pc().
subroutine, public scale_meshfieldcomm_base::meshfieldcommbase_exchange_core | ( | class(meshfieldcommbase), intent(inout) | this, |
type(localmeshcommdata), dimension(this%nfaces_comm, this%mesh%local_mesh_num), intent(inout), target | commdata_list, | ||
logical, intent(in), optional | do_wait ) |
Exchange halo data.
commdata_list | Array of LocalMeshCommData objects which manage information and halo data |
do_wait | Flag whether MPI_waitall is called and move tmp data of LocalMeshCommData object to a recv buffer |
Definition at line 269 of file scale_meshfieldcomm_base.F90.
References meshfieldcommbase_wait_core().
Referenced by scale_meshfieldcomm_base::meshfieldcommbase::prepare_pc().
subroutine, public scale_meshfieldcomm_base::meshfieldcommbase_wait_core | ( | class(meshfieldcommbase), intent(inout) | this, |
type(localmeshcommdata), dimension(this%nfaces_comm, this%mesh%local_mesh_num), intent(inout), target | commdata_list ) |
Wait data communication and move tmp data of LocalMeshCommData object to a recv buffer.
commdata_list | Array of LocalMeshCommData objects which manage information and halo data |
Definition at line 318 of file scale_meshfieldcomm_base.F90.
Referenced by meshfieldcommbase_exchange_core(), and scale_meshfieldcomm_base::meshfieldcommbase::prepare_pc().
subroutine, public scale_meshfieldcomm_base::meshfieldcommbase_extract_bounddata | ( | real(rp), dimension(refelem%np * mesh%nea), intent(in) | var, |
class(elementbase), intent(in) | refelem, | ||
class(localmeshbase), intent(in) | mesh, | ||
real(rp), dimension(size(mesh%vmapb)), intent(out) | buf ) |
Definition at line 371 of file scale_meshfieldcomm_base.F90.
Referenced by scale_meshfieldcomm_base::meshfieldcommbase::prepare_pc().
subroutine, public scale_meshfieldcomm_base::meshfieldcommbase_set_bounddata | ( | real(rp), dimension(size(mesh%vmapb)), intent(in) | buf, |
class(elementbase), intent(in) | refelem, | ||
class(localmeshbase), intent(in) | mesh, | ||
real(rp), dimension(refelem%np * mesh%nea), intent(inout) | var ) |
Definition at line 389 of file scale_meshfieldcomm_base.F90.
Referenced by scale_meshfieldcomm_base::meshfieldcommbase::prepare_pc().