Afivo
0.3
|
This module contains routines related to the filling of ghost cells. Note that corner ghost cells are not used in Afivo. More...
Functions/Subroutines | |
subroutine, public | a3_gc_prolong_copy (boxes, id, nb, iv) |
Partial prolongation to the ghost cells of box id from parent. More... | |
subroutine, public | a3_gc_interp (boxes, id, nb, iv) |
Interpolate between fine points and coarse neighbors to fill ghost cells near refinement boundaries. More... | |
subroutine, public | a3_gc_interp_lim (boxes, id, nb, iv) |
Interpolate between fine points and coarse neighbors to fill ghost cells near refinement boundaries. The ghost values are less than twice the coarse values. More... | |
subroutine, public | a3_bc_neumann_zero (box, nb, iv, bc_type) |
subroutine, public | a3_bc_dirichlet_zero (box, nb, iv, bc_type) |
subroutine, public | a3_bc_continuous (box, nb, iv, bc_type) |
subroutine, public | a3_gc2_box (boxes, id, iv, subr_rb, subr_bc, cc, nc) |
Get a second layer of ghost cell data (the 'normal' routines give just one layer of ghost cells). Use subr_rb on refinement boundaries and subr_bc on physical boundaries. More... | |
subroutine, public | a3_gc2_prolong_linear (boxes, id, nb, iv, gc_side, nc) |
Linear interpolation (using data from neighbor) to fill ghost cells. More... | |
subroutine, public | a3_bc2_neumann_zero (boxes, id, nb, iv, gc_side, nc) |
subroutine, public | a3_bc2_dirichlet_zero (boxes, id, nb, iv, gc_side, nc) |
This module contains routines related to the filling of ghost cells. Note that corner ghost cells are not used in Afivo.
subroutine, public m_a3_ghostcell::a3_gc_prolong_copy | ( | type(box3_t), dimension(:), intent(inout) | boxes, |
integer, intent(in) | id, | ||
integer, intent(in) | nb, | ||
integer, intent(in) | iv | ||
) |
Partial prolongation to the ghost cells of box id from parent.
[in,out] | boxes | List of all boxes |
[in] | id | Id of child |
[in] | iv | Variable to fill |
[in] | nb | Neighbor to get data from |
Definition at line 398 of file m_a3_ghostcell.f90.
subroutine, public m_a3_ghostcell::a3_gc_interp | ( | type(box3_t), dimension(:), intent(inout) | boxes, |
integer, intent(in) | id, | ||
integer, intent(in) | nb, | ||
integer, intent(in) | iv | ||
) |
Interpolate between fine points and coarse neighbors to fill ghost cells near refinement boundaries.
[in,out] | boxes | List of all boxes |
[in] | id | Id of box |
[in] | nb | Ghost cell direction |
[in] | iv | Ghost cell variable |
Definition at line 418 of file m_a3_ghostcell.f90.
subroutine, public m_a3_ghostcell::a3_gc_interp_lim | ( | type(box3_t), dimension(:), intent(inout) | boxes, |
integer, intent(in) | id, | ||
integer, intent(in) | nb, | ||
integer, intent(in) | iv | ||
) |
Interpolate between fine points and coarse neighbors to fill ghost cells near refinement boundaries. The ghost values are less than twice the coarse values.
[in,out] | boxes | List of all boxes |
[in] | id | Id of box |
[in] | nb | Ghost cell direction |
[in] | iv | Ghost cell variable |
Definition at line 494 of file m_a3_ghostcell.f90.
subroutine, public m_a3_ghostcell::a3_bc_neumann_zero | ( | type(box3_t), intent(inout) | box, |
integer, intent(in) | nb, | ||
integer, intent(in) | iv, | ||
integer, intent(out) | bc_type | ||
) |
Definition at line 576 of file m_a3_ghostcell.f90.
subroutine, public m_a3_ghostcell::a3_bc_dirichlet_zero | ( | type(box3_t), intent(inout) | box, |
integer, intent(in) | nb, | ||
integer, intent(in) | iv, | ||
integer, intent(out) | bc_type | ||
) |
Definition at line 586 of file m_a3_ghostcell.f90.
subroutine, public m_a3_ghostcell::a3_bc_continuous | ( | type(box3_t), intent(inout) | box, |
integer, intent(in) | nb, | ||
integer, intent(in) | iv, | ||
integer, intent(out) | bc_type | ||
) |
Definition at line 596 of file m_a3_ghostcell.f90.
subroutine, public m_a3_ghostcell::a3_gc2_box | ( | type(box3_t), dimension(:), intent(inout) | boxes, |
integer, intent(in) | id, | ||
integer, intent(in) | iv, | ||
procedure(a3_subr_egc) | subr_rb, | ||
procedure(a3_subr_egc) | subr_bc, | ||
real(dp), dimension(-1:nc+2, -1:nc+2, -1:nc+2), intent(out) | cc, | ||
integer, intent(in) | nc | ||
) |
Get a second layer of ghost cell data (the 'normal' routines give just one layer of ghost cells). Use subr_rb on refinement boundaries and subr_bc on physical boundaries.
[in,out] | boxes | List of all the boxes |
[in] | id | Id of box for which we set ghost cells |
[in] | iv | Variable for which ghost cells are set |
subr_rb | Procedure called at refinement boundaries | |
subr_bc | Procedure called at physical boundaries | |
[in] | nc | boxn_cell |
[out] | cc | The data with extra ghost cells |
Definition at line 626 of file m_a3_ghostcell.f90.
subroutine, public m_a3_ghostcell::a3_gc2_prolong_linear | ( | type(box3_t), dimension(:), intent(inout) | boxes, |
integer, intent(in) | id, | ||
integer, intent(in) | nb, | ||
integer, intent(in) | iv, | ||
real(dp), dimension(nc, nc), intent(out) | gc_side, | ||
integer, intent(in) | nc | ||
) |
Linear interpolation (using data from neighbor) to fill ghost cells.
[in,out] | boxes | List of all boxes |
[in] | id | Id of box |
[in] | nb | Ghost cell direction |
[in] | iv | Ghost cell variable |
[in] | nc | Box n_cell |
[out] | gc_side | Ghost cells on side |
Definition at line 687 of file m_a3_ghostcell.f90.
subroutine, public m_a3_ghostcell::a3_bc2_neumann_zero | ( | type(box3_t), dimension(:), intent(inout) | boxes, |
integer, intent(in) | id, | ||
integer, intent(in) | nb, | ||
integer, intent(in) | iv, | ||
real(dp), dimension(nc, nc), intent(out) | gc_side, | ||
integer, intent(in) | nc | ||
) |
[in,out] | boxes | List of all boxes |
[in] | id | Id of box |
[in] | nb | Ghost cell direction |
[in] | iv | Ghost cell variable |
[in] | nc | Box n_cell |
[out] | gc_side | Ghost cells on side |
Definition at line 758 of file m_a3_ghostcell.f90.
subroutine, public m_a3_ghostcell::a3_bc2_dirichlet_zero | ( | type(box3_t), dimension(:), intent(inout) | boxes, |
integer, intent(in) | id, | ||
integer, intent(in) | nb, | ||
integer, intent(in) | iv, | ||
real(dp), dimension(nc, nc), intent(out) | gc_side, | ||
integer, intent(in) | nc | ||
) |
Definition at line 783 of file m_a3_ghostcell.f90.