|
FE-Project
|
Base derived type to manage data communication. More...
Public Member Functions | |
| 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 | |
| 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. | |
| integer | bufsize_per_field |
| Buffer size per a field data. | |
| 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 |
| integer, dimension(:), allocatable | nnode_lcmeshallface |
| 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 |
| logical | use_vmap_wide_flag |
| integer, dimension(:), allocatable | vmapb_size |
| integer, dimension(:), allocatable | vmapb2 |
Base derived type to manage data communication.
Definition at line 58 of file scale_meshfieldcomm_base.F90.
|
pure virtual |
Definition at line 91 of file scale_meshfieldcomm_base.F90.
|
pure virtual |
Definition at line 92 of file scale_meshfieldcomm_base.F90.
|
pure virtual |
Definition at line 93 of file scale_meshfieldcomm_base.F90.
| procedure, public scale_meshfieldcomm_base::meshfieldcommbase::prepare_pc | ( | class(meshfieldcommbase), intent(inout) | this, |
| logical, intent(in), optional | use_mpi_pc_fujitsu_ext ) |
Prepare persistent communication.
| use_mpi_pc_fujitsu_ext | Flag whether the extension routines of Fujitsu MPI are used |
Definition at line 94 of file scale_meshfieldcomm_base.F90.
References scale_meshfieldcomm_base::meshfieldcommbase_exchange_core(), scale_meshfieldcomm_base::meshfieldcommbase_extract_bounddata(), scale_meshfieldcomm_base::meshfieldcommbase_extract_bounddata2(), scale_meshfieldcomm_base::meshfieldcommbase_extract_bounddata_2(), scale_meshfieldcomm_base::meshfieldcommbase_extract_bounddata_3(), scale_meshfieldcomm_base::meshfieldcommbase_final(), scale_meshfieldcomm_base::meshfieldcommbase_init(), scale_meshfieldcomm_base::meshfieldcommbase_set_bounddata(), scale_meshfieldcomm_base::meshfieldcommbase_set_bounddata_3(), and scale_meshfieldcomm_base::meshfieldcommbase_wait_core().
| integer scale_meshfieldcomm_base::meshfieldcommbase::sfield_num |
Number of scalar fields.
Definition at line 59 of file scale_meshfieldcomm_base.F90.
| integer scale_meshfieldcomm_base::meshfieldcommbase::hvfield_num |
Number of horizontal vector fields.
Definition at line 60 of file scale_meshfieldcomm_base.F90.
| integer scale_meshfieldcomm_base::meshfieldcommbase::htensorfield_num |
Number of horizontal tensor fields.
Definition at line 61 of file scale_meshfieldcomm_base.F90.
| integer scale_meshfieldcomm_base::meshfieldcommbase::field_num_tot |
Total number of fields.
Definition at line 62 of file scale_meshfieldcomm_base.F90.
| integer scale_meshfieldcomm_base::meshfieldcommbase::nfaces_comm |
Number of faces where halo data is communicated.
Definition at line 63 of file scale_meshfieldcomm_base.F90.
| integer scale_meshfieldcomm_base::meshfieldcommbase::bufsize_per_field |
Buffer size per a field data.
Definition at line 65 of file scale_meshfieldcomm_base.F90.
| class(meshbase), pointer scale_meshfieldcomm_base::meshfieldcommbase::mesh |
Definition at line 67 of file scale_meshfieldcomm_base.F90.
| real(rp), dimension(:,:,:), allocatable scale_meshfieldcomm_base::meshfieldcommbase::send_buf |
Buffer for sending data.
Definition at line 68 of file scale_meshfieldcomm_base.F90.
| real(rp), dimension(:,:,:), allocatable scale_meshfieldcomm_base::meshfieldcommbase::recv_buf |
Buffer for receiving data.
Definition at line 69 of file scale_meshfieldcomm_base.F90.
| integer, dimension(:), allocatable scale_meshfieldcomm_base::meshfieldcommbase::request_send |
Definition at line 70 of file scale_meshfieldcomm_base.F90.
| integer, dimension(:), allocatable scale_meshfieldcomm_base::meshfieldcommbase::request_recv |
Definition at line 71 of file scale_meshfieldcomm_base.F90.
| type(localmeshcommdata), dimension(:,:), allocatable scale_meshfieldcomm_base::meshfieldcommbase::commdata_list |
Definition at line 73 of file scale_meshfieldcomm_base.F90.
| integer, dimension(:,:), allocatable scale_meshfieldcomm_base::meshfieldcommbase::is_f |
Definition at line 74 of file scale_meshfieldcomm_base.F90.
| integer, dimension(:), allocatable scale_meshfieldcomm_base::meshfieldcommbase::nnode_lcmeshallface |
Definition at line 75 of file scale_meshfieldcomm_base.F90.
| logical scale_meshfieldcomm_base::meshfieldcommbase::mpi_pc_flag |
Flag whether persistent communication is used.
Definition at line 77 of file scale_meshfieldcomm_base.F90.
| logical scale_meshfieldcomm_base::meshfieldcommbase::use_mpi_pc_fujitsu_ext |
Flag whether Fujitsu extension routines are used for persistent communication.
Definition at line 78 of file scale_meshfieldcomm_base.F90.
| integer, dimension(:), allocatable scale_meshfieldcomm_base::meshfieldcommbase::request_pc |
Definition at line 79 of file scale_meshfieldcomm_base.F90.
| integer scale_meshfieldcomm_base::meshfieldcommbase::req_counter |
Definition at line 81 of file scale_meshfieldcomm_base.F90.
| logical scale_meshfieldcomm_base::meshfieldcommbase::call_wait_flag_sub_get |
Flag whether MPI_wait need to be called before getting halo data from recv_buf.
Definition at line 82 of file scale_meshfieldcomm_base.F90.
| integer scale_meshfieldcomm_base::meshfieldcommbase::obj_ind |
Definition at line 84 of file scale_meshfieldcomm_base.F90.
| logical scale_meshfieldcomm_base::meshfieldcommbase::use_vmap_wide_flag |
Definition at line 87 of file scale_meshfieldcomm_base.F90.
| integer, dimension(:), allocatable scale_meshfieldcomm_base::meshfieldcommbase::vmapb_size |
Definition at line 88 of file scale_meshfieldcomm_base.F90.
| integer, dimension(:), allocatable scale_meshfieldcomm_base::meshfieldcommbase::vmapb2 |
Definition at line 89 of file scale_meshfieldcomm_base.F90.