MPI-AMRVAC  3.1
The MPI - Adaptive Mesh Refinement - Versatile Advection Code (development version)
Data Types | Modules | Functions/Subroutines | Variables
mod_ghostcells_update.t File Reference

Go to the source code of this file.

Data Types

type  mod_ghostcells_update::wbuffer
 

Modules

module  mod_ghostcells_update
 update ghost cells of all blocks including physical boundaries
 

Functions/Subroutines

subroutine mod_ghostcells_update::init_bc ()
 
subroutine mod_ghostcells_update::create_bc_mpi_datatype (nwstart, nwbc)
 
subroutine mod_ghostcells_update::get_bc_comm_type (comm_type, ixL, ixGL, nwstart, nwbc)
 
subroutine mod_ghostcells_update::put_bc_comm_types ()
 
subroutine mod_ghostcells_update::getbc (time, qdt, psb, nwstart, nwbc, req_diag)
 do update ghost cells of all blocks including physical boundaries More...
 
logical function skip_direction (dir)
 
subroutine fill_boundary_before_gc (igrid)
 Physical boundary conditions. More...
 
subroutine fill_boundary_after_gc (igrid)
 Physical boundary conditions. More...
 
subroutine bc_recv_srl
 Receive from sibling at same refinement level. More...
 
subroutine bc_recv_restrict
 Receive from fine neighbor. More...
 
subroutine bc_send_srl
 Send to sibling at same refinement level. More...
 
subroutine bc_fill_srl (igrid, iD, iibD)
 
subroutine fill_coarse_boundary (igrid, iD)
 
subroutine bc_send_restrict
 Send to coarser neighbor. More...
 
subroutine bc_fill_restrict (igrid, iD, iibD)
 fill coarser neighbor's ghost cells More...
 
subroutine bc_fill_srl_stg
 fill siblings ghost cells with received data More...
 
subroutine indices_for_syncing (idir, iD, ixRL, ixSL, ixRsyncL, ixSsyncL)
 
subroutine bc_fill_restrict_stg
 fill restricted ghost cells after receipt More...
 
subroutine bc_recv_prolong
 Receive from coarse neighbor. More...
 
subroutine bc_send_prolong
 Send to finer neighbor. More...
 
subroutine bc_fill_prolong (igrid, iD, iibD)
 Send to finer neighbor. More...
 
subroutine gc_prolong (igrid)
 
subroutine bc_fill_prolong_stg
 fill coarser representative with data from coarser neighbors More...
 
subroutine bc_prolong (igrid, iD, iibD)
 do prolongation for fine blocks after receipt data from coarse neighbors More...
 
subroutine bc_prolong_stg (igrid, iD, iibD, NeedProlong)
 
subroutine interpolation_linear (igrid, ixFiL, dxFiD, xFiminD, dxCoD, invdxCoD, xCominD)
 
subroutine interpolation_copy (igrid, ixFiL, dxFiD, xFiminD, dxCoD, invdxCoD, xCominD)
 
subroutine pole_copy (wrecv, ixIRL, ixRL, wsend, ixISL, ixSL, ipole)
 
subroutine pole_copy_stg (wrecv, ixIRL, ixRL, wsend, ixISL, ixSL, idirs, ipole)
 
subroutine pole_buffer (wrecv, ixIRL, ixRL, wsend, ixISL, ixSL)
 
subroutine mod_ghostcells_update::identifyphysbound (s, iibD)
 

Variables

logical, public mod_ghostcells_update::bcphys =.true.
 
integer mod_ghostcells_update::ixm
 
integer, dimension(^nd, 0:3) mod_ghostcells_update::l
 
integer mod_ghostcells_update::ixcog
 
integer mod_ghostcells_update::ixcom
 
integer mod_ghostcells_update::ixcogs
 
integer, parameter mod_ghostcells_update::npwbuf =2
 
integer, dimension(-1:2,-1:1) mod_ghostcells_update::ixs_srl_
 
integer, dimension(-1:2,-1:1) mod_ghostcells_update::ixr_srl_
 
integer, dimension(^nd,-1:1) mod_ghostcells_update::ixs_srl_stg_
 
integer, dimension(^nd,-1:1) mod_ghostcells_update::ixr_srl_stg_
 
integer, dimension(-1:1,-1:1) mod_ghostcells_update::ixs_r_
 
integer, dimension(^nd,-1:1) mod_ghostcells_update::ixs_r_stg_
 
integer, dimension(-1:1, 0:3) mod_ghostcells_update::ixr_r_
 
integer, dimension(^nd, 0:3) mod_ghostcells_update::ixr_r_stg_
 
integer, dimension(-1:1, 0:3) mod_ghostcells_update::ixs_p_
 
integer, dimension(-1:1, 0:3) mod_ghostcells_update::ixr_p_
 
integer, dimension(^nd, 0:3) mod_ghostcells_update::ixs_p_stg_
 
integer, dimension(^nd, 0:3) mod_ghostcells_update::ixr_p_stg_
 
integer mod_ghostcells_update::nrecv_bc_srl
 
integer mod_ghostcells_update::nsend_bc_srl
 
integer mod_ghostcells_update::nrecv_bc_r
 
integer mod_ghostcells_update::nsend_bc_r
 
integer mod_ghostcells_update::nrecv_bc_p
 
integer mod_ghostcells_update::nsend_bc_p
 
integer mod_ghostcells_update::ibuf_send_srl
 
integer mod_ghostcells_update::ibuf_recv_srl
 
integer mod_ghostcells_update::ibuf_send_r
 
integer mod_ghostcells_update::ibuf_recv_r
 
integer mod_ghostcells_update::ibuf_send_p
 
integer mod_ghostcells_update::ibuf_recv_p
 
integer mod_ghostcells_update::isend_srl
 
integer mod_ghostcells_update::irecv_srl
 
integer mod_ghostcells_update::isend_r
 
integer mod_ghostcells_update::irecv_r
 
integer mod_ghostcells_update::isend_p
 
integer mod_ghostcells_update::irecv_p
 
integer mod_ghostcells_update::isend_c
 
integer mod_ghostcells_update::irecv_c
 
integer, dimension(-1:1^d &) mod_ghostcells_update::sizes_srl_send_total
 
integer, dimension(-1:1^d &) mod_ghostcells_update::sizes_srl_recv_total
 
integer, dimension(:), allocatable mod_ghostcells_update::recvrequest_c_sr
 
integer, dimension(:), allocatable mod_ghostcells_update::sendrequest_c_sr
 
integer, dimension(:,:), allocatable mod_ghostcells_update::recvstatus_c_sr
 
integer, dimension(:,:), allocatable mod_ghostcells_update::sendstatus_c_sr
 
integer, dimension(:), allocatable mod_ghostcells_update::recvrequest_c_p
 
integer, dimension(:), allocatable mod_ghostcells_update::sendrequest_c_p
 
integer, dimension(:,:), allocatable mod_ghostcells_update::recvstatus_c_p
 
integer, dimension(:,:), allocatable mod_ghostcells_update::sendstatus_c_p
 
integer, dimension(^nd,-1:1^d &) mod_ghostcells_update::sizes_srl_send_stg
 
integer, dimension(^nd,-1:1^d &) mod_ghostcells_update::sizes_srl_recv_stg
 
integer, dimension(:), allocatable mod_ghostcells_update::recvrequest_srl
 
integer, dimension(:), allocatable mod_ghostcells_update::sendrequest_srl
 
integer, dimension(:,:), allocatable mod_ghostcells_update::recvstatus_srl
 
integer, dimension(:,:), allocatable mod_ghostcells_update::sendstatus_srl
 
double precision, dimension(:), allocatable mod_ghostcells_update::recvbuffer_srl
 
double precision, dimension(:), allocatable mod_ghostcells_update::sendbuffer_srl
 
integer, dimension(:), allocatable mod_ghostcells_update::recvrequest_r
 
integer, dimension(:), allocatable mod_ghostcells_update::sendrequest_r
 
integer, dimension(:,:), allocatable mod_ghostcells_update::recvstatus_r
 
integer, dimension(:,:), allocatable mod_ghostcells_update::sendstatus_r
 
double precision, dimension(:), allocatable mod_ghostcells_update::recvbuffer_r
 
double precision, dimension(:), allocatable mod_ghostcells_update::sendbuffer_r
 
integer, dimension(:), allocatable mod_ghostcells_update::recvrequest_p
 
integer, dimension(:), allocatable mod_ghostcells_update::sendrequest_p
 
integer, dimension(:,:), allocatable mod_ghostcells_update::recvstatus_p
 
integer, dimension(:,:), allocatable mod_ghostcells_update::sendstatus_p
 
double precision, dimension(:), allocatable mod_ghostcells_update::recvbuffer_p
 
double precision, dimension(:), allocatable mod_ghostcells_update::sendbuffer_p
 
integer, dimension(-1:1^d &) mod_ghostcells_update::sizes_r_send_total
 
integer, dimension(0:3^d &) mod_ghostcells_update::sizes_r_recv_total
 
integer, dimension(^nd,-1:1^d &) mod_ghostcells_update::sizes_r_send_stg
 
integer, dimension(^nd, 0:3^d &) mod_ghostcells_update::sizes_r_recv_stg
 
integer, dimension(0:3^d &) mod_ghostcells_update::sizes_p_send_total
 
integer, dimension(0:3^d &) mod_ghostcells_update::sizes_p_recv_total
 
integer, dimension(^nd, 0:3^d &) mod_ghostcells_update::sizes_p_send_stg
 
integer, dimension(^nd, 0:3^d &) mod_ghostcells_update::sizes_p_recv_stg
 
integer, dimension(-1:2^d &,-1:1^d &), target mod_ghostcells_update::type_send_srl_f
 
integer, dimension(-1:2^d &,-1:1^d &), target mod_ghostcells_update::type_recv_srl_f
 
integer, dimension(-1:1^d &,-1:1^d &), target mod_ghostcells_update::type_send_r_f
 
integer, dimension(-1:1^d &, 0:3^d &), target mod_ghostcells_update::type_recv_r_f
 
integer, dimension(-1:1^d &, 0:3^d &), target mod_ghostcells_update::type_send_p_f
 
integer, dimension(-1:1^d &, 0:3^d &), target mod_ghostcells_update::type_recv_p_f
 
integer, dimension(-1:2^d &,-1:1^d &), target mod_ghostcells_update::type_send_srl_p1
 
integer, dimension(-1:2^d &,-1:1^d &), target mod_ghostcells_update::type_recv_srl_p1
 
integer, dimension(-1:1^d &,-1:1^d &), target mod_ghostcells_update::type_send_r_p1
 
integer, dimension(-1:1^d &, 0:3^d &), target mod_ghostcells_update::type_recv_r_p1
 
integer, dimension(-1:1^d &, 0:3^d &), target mod_ghostcells_update::type_send_p_p1
 
integer, dimension(-1:1^d &, 0:3^d &), target mod_ghostcells_update::type_recv_p_p1
 
integer, dimension(-1:2^d &,-1:1^d &), target mod_ghostcells_update::type_send_srl_p2
 
integer, dimension(-1:2^d &,-1:1^d &), target mod_ghostcells_update::type_recv_srl_p2
 
integer, dimension(-1:1^d &,-1:1^d &), target mod_ghostcells_update::type_send_r_p2
 
integer, dimension(-1:1^d &, 0:3^d &), target mod_ghostcells_update::type_recv_r_p2
 
integer, dimension(-1:1^d &, 0:3^d &), target mod_ghostcells_update::type_send_p_p2
 
integer, dimension(-1:1^d &, 0:3^d &), target mod_ghostcells_update::type_recv_p_p2
 
integer, dimension(:^d &,:^d &), pointer mod_ghostcells_update::type_send_srl
 
integer, dimension(:^d &,:^d &), pointer mod_ghostcells_update::type_recv_srl
 
integer, dimension(:^d &,:^d &), pointer mod_ghostcells_update::type_send_r
 
integer, dimension(:^d &,:^d &), pointer mod_ghostcells_update::type_recv_r
 
integer, dimension(:^d &,:^d &), pointer mod_ghostcells_update::type_send_p
 
integer, dimension(:^d &,:^d &), pointer mod_ghostcells_update::type_recv_p
 

Function/Subroutine Documentation

◆ bc_fill_prolong()

subroutine getbc::bc_fill_prolong ( integer, intent(in)  igrid,
integer, intent(in)  i,
integer, intent(in)  D,
integer, intent(in)  iib,
  D 
)

Send to finer neighbor.

Definition at line 1307 of file mod_ghostcells_update.t.

Here is the call graph for this function:

◆ bc_fill_prolong_stg()

subroutine getbc::bc_fill_prolong_stg

fill coarser representative with data from coarser neighbors

Definition at line 1423 of file mod_ghostcells_update.t.

Here is the call graph for this function:

◆ bc_fill_restrict()

subroutine getbc::bc_fill_restrict ( integer, intent(in)  igrid,
integer, intent(in)  i,
integer, intent(in)  D,
integer, intent(in)  iib,
  D 
)

fill coarser neighbor's ghost cells

Definition at line 1039 of file mod_ghostcells_update.t.

Here is the call graph for this function:

◆ bc_fill_restrict_stg()

subroutine getbc::bc_fill_restrict_stg

fill restricted ghost cells after receipt

Definition at line 1157 of file mod_ghostcells_update.t.

Here is the call graph for this function:

◆ bc_fill_srl()

subroutine getbc::bc_fill_srl ( integer, intent(in)  igrid,
integer, intent(in)  i,
integer, intent(in)  D,
integer, intent(in)  iib,
  D 
)

Definition at line 881 of file mod_ghostcells_update.t.

Here is the call graph for this function:

◆ bc_fill_srl_stg()

subroutine getbc::bc_fill_srl_stg

fill siblings ghost cells with received data

Definition at line 1085 of file mod_ghostcells_update.t.

Here is the call graph for this function:

◆ bc_prolong()

subroutine getbc::bc_prolong ( integer  igrid,
integer  i,
double precision  D,
integer  iib,
  D 
)

do prolongation for fine blocks after receipt data from coarse neighbors

Definition at line 1464 of file mod_ghostcells_update.t.

Here is the call graph for this function:

◆ bc_prolong_stg()

subroutine getbc::bc_prolong_stg ( integer  igrid,
integer  i,
double precision  D,
integer  iib,
  D,
logical, dimension(-1:1^d&)  NeedProlong 
)

Definition at line 1544 of file mod_ghostcells_update.t.

Here is the call graph for this function:

◆ bc_recv_prolong()

subroutine getbc::bc_recv_prolong

Receive from coarse neighbor.

Definition at line 1207 of file mod_ghostcells_update.t.

◆ bc_recv_restrict()

subroutine getbc::bc_recv_restrict

Receive from fine neighbor.

Definition at line 790 of file mod_ghostcells_update.t.

◆ bc_recv_srl()

subroutine getbc::bc_recv_srl

Receive from sibling at same refinement level.

Definition at line 771 of file mod_ghostcells_update.t.

◆ bc_send_prolong()

subroutine getbc::bc_send_prolong

Send to finer neighbor.

Definition at line 1231 of file mod_ghostcells_update.t.

Here is the call graph for this function:

◆ bc_send_restrict()

subroutine getbc::bc_send_restrict

Send to coarser neighbor.

Definition at line 967 of file mod_ghostcells_update.t.

Here is the call graph for this function:

◆ bc_send_srl()

subroutine getbc::bc_send_srl

Send to sibling at same refinement level.

Definition at line 813 of file mod_ghostcells_update.t.

Here is the call graph for this function:

◆ fill_boundary_after_gc()

subroutine getbc::fill_boundary_after_gc ( integer, intent(in)  igrid)

Physical boundary conditions.

Definition at line 733 of file mod_ghostcells_update.t.

◆ fill_boundary_before_gc()

subroutine getbc::fill_boundary_before_gc ( integer, intent(in)  igrid)

Physical boundary conditions.

Definition at line 692 of file mod_ghostcells_update.t.

◆ fill_coarse_boundary()

subroutine getbc::fill_coarse_boundary ( integer, intent(in)  igrid,
integer, intent(in)  i,
integer, intent(in)  D 
)

Definition at line 922 of file mod_ghostcells_update.t.

◆ gc_prolong()

subroutine getbc::gc_prolong ( integer, intent(in)  igrid)

Definition at line 1362 of file mod_ghostcells_update.t.

Here is the call graph for this function:

◆ indices_for_syncing()

subroutine getbc::indices_for_syncing ( integer, intent(in)  idir,
integer, intent(in)  i,
integer, intent(in)  D,
integer, intent(inout)  ixR,
integer, intent(out)  L,
integer, intent(inout)  ixS,
  L,
integer, intent(out)  ixRsync,
  L,
integer, intent(out)  ixSsync,
  L 
)

Definition at line 1128 of file mod_ghostcells_update.t.

◆ interpolation_copy()

subroutine getbc::interpolation_copy ( integer, intent(in)  igrid,
integer, intent(in)  ixFi,
integer, intent(in)  L,
double precision, intent(in)  dxFi,
double precision, intent(in)  D,
double precision, intent(in)  xFimin,
  D,
double precision, intent(in)  dxCo,
  D,
double precision, intent(in)  invdxCo,
  D,
double precision, intent(in)  xComin,
  D 
)

Definition at line 1730 of file mod_ghostcells_update.t.

◆ interpolation_linear()

subroutine getbc::interpolation_linear ( integer, intent(in)  igrid,
integer, intent(in)  ixFi,
integer, intent(in)  L,
double precision, intent(in)  dxFi,
double precision, intent(in)  D,
double precision, intent(in)  xFimin,
  D,
double precision, intent(in)  dxCo,
  D,
double precision, intent(in)  invdxCo,
  D,
double precision, intent(in)  xComin,
  D 
)

Definition at line 1584 of file mod_ghostcells_update.t.

◆ pole_buffer()

subroutine getbc::pole_buffer ( double precision, dimension(ixir^s,nwhead:nwtail)  wrecv,
integer, intent(in)  ixIR,
integer, intent(in)  L,
integer, intent(in)  ixR,
  L,
double precision, dimension(ixis^s,1:nw)  wsend,
integer, intent(in)  ixIS,
  L,
integer, intent(in)  ixS,
  L 
)

Definition at line 1813 of file mod_ghostcells_update.t.

◆ pole_copy()

subroutine getbc::pole_copy ( double precision, dimension(ixir^s,1:nw)  wrecv,
integer, intent(in)  ixIR,
integer, intent(in)  L,
integer, intent(in)  ixR,
  L,
double precision, dimension(ixis^s,1:nw)  wsend,
integer, intent(in)  ixIS,
  L,
integer, intent(in)  ixS,
  L,
integer, intent(in)  ipole 
)

Definition at line 1764 of file mod_ghostcells_update.t.

◆ pole_copy_stg()

subroutine getbc::pole_copy_stg ( double precision, dimension(ixir^s,1:nws)  wrecv,
integer, intent(in)  ixIR,
integer, intent(in)  L,
integer, intent(in)  ixR,
  L,
double precision, dimension(ixis^s,1:nws)  wsend,
integer, intent(in)  ixIS,
  L,
integer, intent(in)  ixS,
  L,
integer, intent(in)  idirs,
integer, intent(in)  ipole 
)

Definition at line 1789 of file mod_ghostcells_update.t.

◆ skip_direction()

logical function getbc::skip_direction ( integer, dimension(^nd), intent(in)  dir)

Definition at line 679 of file mod_ghostcells_update.t.