|
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().