FE-Project
Loading...
Searching...
No Matches
scale_meshfieldcomm_base.F90 File Reference
#include "scaleFElib.h"

Go to the source code of this file.

Data Types

type  scale_meshfieldcomm_base::localmeshcommdata
 Derived type to manage data communication at a face between adjacent local meshes. More...
type  scale_meshfieldcomm_base::meshfieldcommbase
 Base derived type to manage data communication. More...
type  scale_meshfieldcomm_base::meshfieldcontainer
 Container to save a pointer of MeshField(1D, 2D, 3D) object. More...
interface  scale_meshfieldcomm_base::meshfieldcommbase_put

Modules

module  scale_meshfieldcomm_base
 module FElib / Data / Communication base

Functions/Subroutines

subroutine, public scale_meshfieldcomm_base::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 scale_meshfieldcomm_base::meshfieldcommbase_final (this)
 Finalize a base object to manage data communication of fields.
subroutine, public scale_meshfieldcomm_base::meshfieldcommbase_exchange_core (this, commdata_list, do_wait)
 Exchange halo data.
subroutine, public scale_meshfieldcomm_base::meshfieldcommbase_wait_core (this, commdata_list, field_list, dim, varid_s, lcmesh_list)
 Wait data communication and move tmp data of LocalMeshCommData object to a recv buffer.
subroutine set_bounddata (var, ia, irs_, ire_, recv_buf)
subroutine, public scale_meshfieldcomm_base::meshfieldcommbase_extract_bounddata (var, refelem, mesh, buf)
 Extract halo data from data array with MeshField object and set it to the receiving buffer.
subroutine, public scale_meshfieldcomm_base::meshfieldcommbase_extract_bounddata2 (var, vmapb, vmapb_size, npxnea, buf)
 Extract halo data from data array with MeshField object and set it to the receiving buffer.
subroutine, public scale_meshfieldcomm_base::meshfieldcommbase_extract_bounddata_2 (field_list, dim, varid_s, lcmesh_list, vmapb_size, buf)
 Extract halo data from data array with MeshField object and set it to the receiving buffer.
subroutine, public scale_meshfieldcomm_base::meshfieldcommbase_extract_bounddata_3 (field_list, dim, varid_s, lcmesh_list, vmapb2, vmapb2_size, buf)
 Extract halo data from data array with MeshField object and set it to the recieving buffer.
subroutine, public scale_meshfieldcomm_base::meshfieldcommbase_set_bounddata (buf, refelem, mesh, var)
 Extract halo data from the receiving buffer and set it to data array with MeshField object.
subroutine, public scale_meshfieldcomm_base::meshfieldcommbase_set_bounddata_3 (buf, refelem, mesh, vmapb, vmapb_size, var)
 Extract halo data from the recieving buffer and set it to data array with MeshField object.

Function/Subroutine Documentation

◆ set_bounddata()

subroutine meshfieldcommbase_wait_core::set_bounddata ( real(rp), dimension(ia), intent(inout) var,
integer, intent(in) ia,
integer, intent(in) irs_,
integer, intent(in) ire_,
real(rp), dimension(ire_-irs_+1), intent(in) recv_buf )

Definition at line 585 of file scale_meshfieldcomm_base.F90.

586 implicit none
587 integer, intent(in) :: IA
588 real(RP), intent(inout) :: var(IA)
589 integer, intent(in) :: irs_, ire_
590 real(RP), intent(in) :: recv_buf(ire_-irs_+1)
591
592 integer :: ii
593 !-----------------------------
594 !$acc routine vector
595
596 !$acc loop vector
597 do ii=1, size(recv_buf)
598 var(irs_+ii-1) = recv_buf(ii)
599 end do
600 return

Referenced by scale_meshfieldcomm_base::meshfieldcommbase_wait_core().