mod_ghostcells_update Module

update ghost cells of all blocks including physical boundaries


Uses

  • module~~mod_ghostcells_update~~UsesGraph module~mod_ghostcells_update mod_ghostcells_update module~mod_mpi_wrapper mod_mpi_wrapper module~mod_ghostcells_update->module~mod_mpi_wrapper mpi mpi module~mod_mpi_wrapper->mpi

Used by

  • module~~mod_ghostcells_update~~UsedByGraph module~mod_ghostcells_update mod_ghostcells_update proc~add_split_source add_split_source proc~add_split_source->module~mod_ghostcells_update proc~add_split_source~2 add_split_source proc~add_split_source~2->module~mod_ghostcells_update proc~add_split_source~3 add_split_source proc~add_split_source~3->module~mod_ghostcells_update proc~add_split_source~4 add_split_source proc~add_split_source~4->module~mod_ghostcells_update proc~advect advect proc~advect->module~mod_ghostcells_update proc~advect1 advect1 proc~advect1->module~mod_ghostcells_update proc~amr_coarsen_refine amr_coarsen_refine proc~amr_coarsen_refine->module~mod_ghostcells_update proc~build_connectivity build_connectivity proc~build_connectivity->module~mod_ghostcells_update proc~global_implicit_update global_implicit_update proc~global_implicit_update->module~mod_ghostcells_update proc~improve_initial_condition improve_initial_condition proc~improve_initial_condition->module~mod_ghostcells_update proc~initialize_vars initialize_vars proc~initialize_vars->module~mod_ghostcells_update proc~initlevelone initlevelone proc~initlevelone->module~mod_ghostcells_update proc~main main proc~main->module~mod_ghostcells_update proc~process process proc~process->module~mod_ghostcells_update proc~process_advanced process_advanced proc~process_advanced->module~mod_ghostcells_update proc~recalculateb recalculateB proc~recalculateb->module~mod_ghostcells_update proc~resettree_convert resettree_convert proc~resettree_convert->module~mod_ghostcells_update proc~saveamrfile saveamrfile proc~saveamrfile->module~mod_ghostcells_update proc~timeintegration timeintegration proc~timeintegration->module~mod_ghostcells_update

Variables

Type Visibility Attributes Name Initial
logical, public :: bcphys = .true.
integer, public :: ibuf_recv_p
integer, public :: ibuf_recv_r
integer, public :: ibuf_recv_srl
integer, public :: ibuf_send_p
integer, public :: ibuf_send_r
integer, public :: ibuf_send_srl
integer, public :: irecv_p
integer, public :: irecv_r
integer, public :: irecv_srl
integer, public :: isend_p
integer, public :: isend_r
integer, public :: isend_srl
integer, public :: ixCoGmax1
integer, public :: ixCoGmax2
integer, public :: ixCoGmax3
integer, public :: ixCoGmin1
integer, public :: ixCoGmin2
integer, public :: ixCoGmin3
integer, public :: ixCoGsmax1
integer, public :: ixCoGsmax2
integer, public :: ixCoGsmax3
integer, public :: ixCoGsmin1
integer, public :: ixCoGsmin2
integer, public :: ixCoGsmin3
integer, public :: ixCoMmax1
integer, public :: ixCoMmax2
integer, public :: ixCoMmax3
integer, public :: ixCoMmin1
integer, public :: ixCoMmin2
integer, public :: ixCoMmin3
integer, public :: ixMmax1
integer, public :: ixMmax2
integer, public :: ixMmax3
integer, public :: ixMmin1
integer, public :: ixMmin2
integer, public :: ixMmin3
integer, public, dimension(-1:1, 0:3) :: ixR_p_max1
integer, public, dimension(-1:1, 0:3) :: ixR_p_max2
integer, public, dimension(-1:1, 0:3) :: ixR_p_max3
integer, public, dimension(-1:1, 0:3) :: ixR_p_min1
integer, public, dimension(-1:1, 0:3) :: ixR_p_min2
integer, public, dimension(-1:1, 0:3) :: ixR_p_min3
integer, public, dimension(3,0:3) :: ixR_p_stg_max1
integer, public, dimension(3,0:3) :: ixR_p_stg_max2
integer, public, dimension(3,0:3) :: ixR_p_stg_max3
integer, public, dimension(3,0:3) :: ixR_p_stg_min1
integer, public, dimension(3,0:3) :: ixR_p_stg_min2
integer, public, dimension(3,0:3) :: ixR_p_stg_min3
integer, public, dimension(-1:1, 0:3) :: ixR_r_max1
integer, public, dimension(-1:1, 0:3) :: ixR_r_max2
integer, public, dimension(-1:1, 0:3) :: ixR_r_max3
integer, public, dimension(-1:1, 0:3) :: ixR_r_min1
integer, public, dimension(-1:1, 0:3) :: ixR_r_min2
integer, public, dimension(-1:1, 0:3) :: ixR_r_min3
integer, public, dimension(3,0:3) :: ixR_r_stg_max1
integer, public, dimension(3,0:3) :: ixR_r_stg_max2
integer, public, dimension(3,0:3) :: ixR_r_stg_max3
integer, public, dimension(3,0:3) :: ixR_r_stg_min1
integer, public, dimension(3,0:3) :: ixR_r_stg_min2
integer, public, dimension(3,0:3) :: ixR_r_stg_min3
integer, public, dimension(-1:2,-1:1) :: ixR_srl_max1
integer, public, dimension(-1:2,-1:1) :: ixR_srl_max2
integer, public, dimension(-1:2,-1:1) :: ixR_srl_max3
integer, public, dimension(-1:2,-1:1) :: ixR_srl_min1
integer, public, dimension(-1:2,-1:1) :: ixR_srl_min2
integer, public, dimension(-1:2,-1:1) :: ixR_srl_min3
integer, public, dimension(3,-1:1) :: ixR_srl_stg_max1
integer, public, dimension(3,-1:1) :: ixR_srl_stg_max2
integer, public, dimension(3,-1:1) :: ixR_srl_stg_max3
integer, public, dimension(3,-1:1) :: ixR_srl_stg_min1
integer, public, dimension(3,-1:1) :: ixR_srl_stg_min2
integer, public, dimension(3,-1:1) :: ixR_srl_stg_min3
integer, public, dimension(-1:1, 0:3) :: ixS_p_max1
integer, public, dimension(-1:1, 0:3) :: ixS_p_max2
integer, public, dimension(-1:1, 0:3) :: ixS_p_max3
integer, public, dimension(-1:1, 0:3) :: ixS_p_min1
integer, public, dimension(-1:1, 0:3) :: ixS_p_min2
integer, public, dimension(-1:1, 0:3) :: ixS_p_min3
integer, public, dimension(3,0:3) :: ixS_p_stg_max1
integer, public, dimension(3,0:3) :: ixS_p_stg_max2
integer, public, dimension(3,0:3) :: ixS_p_stg_max3
integer, public, dimension(3,0:3) :: ixS_p_stg_min1
integer, public, dimension(3,0:3) :: ixS_p_stg_min2
integer, public, dimension(3,0:3) :: ixS_p_stg_min3
integer, public, dimension(-1:1,-1:1) :: ixS_r_max1
integer, public, dimension(-1:1,-1:1) :: ixS_r_max2
integer, public, dimension(-1:1,-1:1) :: ixS_r_max3
integer, public, dimension(-1:1,-1:1) :: ixS_r_min1
integer, public, dimension(-1:1,-1:1) :: ixS_r_min2
integer, public, dimension(-1:1,-1:1) :: ixS_r_min3
integer, public, dimension(3,-1:1) :: ixS_r_stg_max1
integer, public, dimension(3,-1:1) :: ixS_r_stg_max2
integer, public, dimension(3,-1:1) :: ixS_r_stg_max3
integer, public, dimension(3,-1:1) :: ixS_r_stg_min1
integer, public, dimension(3,-1:1) :: ixS_r_stg_min2
integer, public, dimension(3,-1:1) :: ixS_r_stg_min3
integer, public, dimension(-1:2,-1:1) :: ixS_srl_max1
integer, public, dimension(-1:2,-1:1) :: ixS_srl_max2
integer, public, dimension(-1:2,-1:1) :: ixS_srl_max3
integer, public, dimension(-1:2,-1:1) :: ixS_srl_min1
integer, public, dimension(-1:2,-1:1) :: ixS_srl_min2
integer, public, dimension(-1:2,-1:1) :: ixS_srl_min3
integer, public, dimension(3,-1:1) :: ixS_srl_stg_max1
integer, public, dimension(3,-1:1) :: ixS_srl_stg_max2
integer, public, dimension(3,-1:1) :: ixS_srl_stg_max3
integer, public, dimension(3,-1:1) :: ixS_srl_stg_min1
integer, public, dimension(3,-1:1) :: ixS_srl_stg_min2
integer, public, dimension(3,-1:1) :: ixS_srl_stg_min3
integer, public :: nrecv_bc_p
integer, public :: nrecv_bc_r
integer, public :: nrecv_bc_srl
integer, public :: nsend_bc_p
integer, public :: nsend_bc_r
integer, public :: nsend_bc_srl
integer, public, dimension(:), allocatable :: recv_c_nb
integer, public, dimension(:), allocatable :: recv_f_nb
integer, public, dimension(:), allocatable :: recv_srl_nb
double precision, public, dimension(:), allocatable :: recvbuffer_p
double precision, public, dimension(:), allocatable :: recvbuffer_r
double precision, public, dimension(:), allocatable :: recvbuffer_srl
integer, public, dimension(:), allocatable :: recvrequest_c_p
integer, public, dimension(:), allocatable :: recvrequest_c_sr
integer, public, dimension(:), allocatable :: recvrequest_p
integer, public, dimension(:), allocatable :: recvrequest_r
integer, public, dimension(:), allocatable :: recvrequest_srl
integer, public, dimension(:,:), allocatable :: recvstatus_c_nb
integer, public, dimension(:,:), allocatable :: recvstatus_c_p
integer, public, dimension(:,:), allocatable :: recvstatus_c_sr
integer, public, dimension(:,:), allocatable :: recvstatus_f_nb
integer, public, dimension(:,:), allocatable :: recvstatus_p
integer, public, dimension(:,:), allocatable :: recvstatus_r
integer, public, dimension(:,:), allocatable :: recvstatus_srl
integer, public, dimension(:,:), allocatable :: recvstatus_srl_nb
logical, public :: req_diagonal = .true.
integer, public, dimension(:), allocatable :: send_c_nb
integer, public, dimension(:), allocatable :: send_f_nb
integer, public, dimension(:), allocatable :: send_srl_nb
double precision, public, dimension(:), allocatable :: sendbuffer_p
double precision, public, dimension(:), allocatable :: sendbuffer_r
double precision, public, dimension(:), allocatable :: sendbuffer_srl
integer, public, dimension(:), allocatable :: sendrequest_c_p
integer, public, dimension(:), allocatable :: sendrequest_c_sr
integer, public, dimension(:), allocatable :: sendrequest_p
integer, public, dimension(:), allocatable :: sendrequest_r
integer, public, dimension(:), allocatable :: sendrequest_srl
integer, public, dimension(:,:), allocatable :: sendstatus_c_nb
integer, public, dimension(:,:), allocatable :: sendstatus_c_p
integer, public, dimension(:,:), allocatable :: sendstatus_c_sr
integer, public, dimension(:,:), allocatable :: sendstatus_f_nb
integer, public, dimension(:,:), allocatable :: sendstatus_p
integer, public, dimension(:,:), allocatable :: sendstatus_r
integer, public, dimension(:,:), allocatable :: sendstatus_srl
integer, public, dimension(:,:), allocatable :: sendstatus_srl_nb
integer, public, dimension(3,0:3,0:3,0:3) :: sizes_p_recv_stg
integer, public, dimension(0:3,0:3,0:3) :: sizes_p_recv_total
integer, public, dimension(3,0:3,0:3,0:3) :: sizes_p_send_stg
integer, public, dimension(0:3,0:3,0:3) :: sizes_p_send_total
integer, public, dimension(3,0:3,0:3,0:3) :: sizes_r_recv_stg
integer, public, dimension(0:3,0:3,0:3) :: sizes_r_recv_total
integer, public, dimension(3,-1:1,-1:1,-1:1) :: sizes_r_send_stg
integer, public, dimension(-1:1,-1:1,-1:1) :: sizes_r_send_total
integer, public, dimension(-1:1,-1:1,-1:1) :: sizes_srl_recv
integer, public, dimension(3,-1:1,-1:1,-1:1) :: sizes_srl_recv_stg
integer, public, dimension(-1:1,-1:1,-1:1) :: sizes_srl_recv_total
integer, public, dimension(-1:1,-1:1,-1:1) :: sizes_srl_send
integer, public, dimension(3,-1:1,-1:1,-1:1) :: sizes_srl_send_stg
integer, public, dimension(-1:1,-1:1,-1:1) :: sizes_srl_send_total

Functions

public function skip_direction(dir)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: dir(3)

Return Value logical


Subroutines

public subroutine fill_boundary_after_gc(s, igrid, time, qdt)

Physical boundary conditions

Arguments

Type IntentOptional Attributes Name
type(state), intent(inout) :: s
integer, intent(in) :: igrid
double precision, intent(in) :: time
double precision, intent(in) :: qdt

public subroutine fill_boundary_before_gc(s, igrid, time, qdt)

Physical boundary conditions

Arguments

Type IntentOptional Attributes Name
type(state), intent(inout) :: s
integer, intent(in) :: igrid
double precision, intent(in) :: time
double precision, intent(in) :: qdt

public subroutine fill_coarse_boundary(time, igrid, i1, i2, i3)

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: time
integer, intent(in) :: igrid
integer, intent(in) :: i1
integer, intent(in) :: i2
integer, intent(in) :: i3

public subroutine getbc(time, qdt, psb, nwstart, nwbc, req_diag)

do update ghost cells of all blocks including physical boundaries

Arguments

Type IntentOptional Attributes Name
double precision, intent(in) :: time
double precision, intent(in) :: qdt
type(state), target :: psb(max_blocks)
integer, intent(in) :: nwstart
integer, intent(in) :: nwbc
logical, intent(in), optional :: req_diag

public subroutine idecode(i1, i2, i3, i)

Arguments

Type IntentOptional Attributes Name
integer, intent(out) :: i1
integer, intent(out) :: i2
integer, intent(out) :: i3
integer, intent(in) :: i

public subroutine init_bc()

Arguments

None