Afivo
0.3
|
This module contains the routines related to prolongation: going from coarse to fine variables. More...
Functions/Subroutines | |
subroutine, public | af_prolong_copy_from (boxes, id, iv, iv_to, add) |
Zeroth-order prolongation to children. More... | |
subroutine, public | af_prolong_copy (box_p, box_c, iv, iv_to, low, high, add) |
Partial prolongation to a child (from parent) using injection (simply copy value) More... | |
subroutine, public | af_prolong_zeroth (box_p, box_c, iv, iv_to, add, limiter) |
Zeroth order prolongation. More... | |
subroutine, public | af_prolong_linear_from (boxes, id, iv, iv_to, add) |
Linear prolongation to children. We use 2-1-1 interpolation (2d) and 1-1-1-1 interpolation (3D), which do not require corner ghost cells. More... | |
subroutine, public | af_prolong_sparse (box_p, box_c, iv, iv_to, add, limiter) |
Prolongation to a child (from parent) using linear interpolation. We use 2-1-1 interpolation (2D) and 1-1-1-1 interpolation (3D) which do not need corner ghost cells. More... | |
subroutine, public | af_prolong_limit (box_p, box_c, iv, iv_to, add, limiter) |
Conservative prolongation using the limited gradient from the coarse cells. More... | |
subroutine, public | af_prolong_linear_cons (box_p, box_c, iv, iv_to, add, limiter) |
subroutine, public | af_prolong_linear (box_p, box_c, iv, iv_to, add, limiter) |
Bi/trilinear prolongation to a child (from parent) More... | |
This module contains the routines related to prolongation: going from coarse to fine variables.
subroutine, public m_af_prolong::af_prolong_copy_from | ( | type(box_t), dimension(:), intent(inout) | boxes, |
integer, intent(in) | id, | ||
integer, intent(in) | iv, | ||
integer, intent(in), optional | iv_to, | ||
logical, intent(in), optional | add | ||
) |
Zeroth-order prolongation to children.
[in,out] | boxes | List of all boxes |
[in] | id | Box whose children we will fill |
[in] | iv | Variable that is prolonged |
[in] | iv_to | Destination variable |
[in] | add | Add to old values |
Definition at line 25 of file m_af_prolong.f90.
subroutine, public m_af_prolong::af_prolong_copy | ( | type(box_t), intent(in) | box_p, |
type(box_t), intent(inout) | box_c, | ||
integer, intent(in) | iv, | ||
integer, intent(in), optional | iv_to, | ||
integer, dimension(ndim), intent(in), optional | low, | ||
integer, dimension(ndim), intent(in), optional | high, | ||
logical, intent(in), optional | add | ||
) |
Partial prolongation to a child (from parent) using injection (simply copy value)
[in] | box_p | Parent box |
[in,out] | box_c | Child box |
[in] | iv | Variable to fill |
[in] | iv_to | Destination variable |
[in] | low | Min cell index at child |
[in] | high | Max cell index at child |
[in] | add | Add to old values |
Definition at line 41 of file m_af_prolong.f90.
subroutine, public m_af_prolong::af_prolong_zeroth | ( | type(box_t), intent(in) | box_p, |
type(box_t), intent(inout) | box_c, | ||
integer, intent(in) | iv, | ||
integer, intent(in), optional | iv_to, | ||
logical, intent(in), optional | add, | ||
integer, intent(in), optional | limiter | ||
) |
Zeroth order prolongation.
[in] | box_p | Parent box |
[in,out] | box_c | Child box |
[in] | iv | Variable to fill |
[in] | iv_to | Destination variable |
[in] | add | Add to old values |
[in] | limiter | What kind of limiter to use |
Definition at line 121 of file m_af_prolong.f90.
subroutine, public m_af_prolong::af_prolong_linear_from | ( | type(box_t), dimension(:), intent(inout) | boxes, |
integer, intent(in) | id, | ||
integer, intent(in) | iv, | ||
integer, intent(in), optional | iv_to, | ||
logical, intent(in), optional | add | ||
) |
Linear prolongation to children. We use 2-1-1 interpolation (2d) and 1-1-1-1 interpolation (3D), which do not require corner ghost cells.
[in,out] | boxes | List of all boxes |
[in] | id | Box whose children we will fill |
[in] | iv | Variable that is filled |
[in] | iv_to | Destination variable |
[in] | add | Add to old values |
Definition at line 187 of file m_af_prolong.f90.
subroutine, public m_af_prolong::af_prolong_sparse | ( | type(box_t), intent(in) | box_p, |
type(box_t), intent(inout) | box_c, | ||
integer, intent(in) | iv, | ||
integer, intent(in), optional | iv_to, | ||
logical, intent(in), optional | add, | ||
integer, intent(in), optional | limiter | ||
) |
Prolongation to a child (from parent) using linear interpolation. We use 2-1-1 interpolation (2D) and 1-1-1-1 interpolation (3D) which do not need corner ghost cells.
[in] | box_p | Parent box |
[in,out] | box_c | Child box |
[in] | iv | Variable to fill |
[in] | iv_to | Destination variable |
[in] | add | Add to old values |
[in] | limiter | What kind of limiter to use |
Definition at line 205 of file m_af_prolong.f90.
subroutine, public m_af_prolong::af_prolong_limit | ( | type(box_t), intent(in) | box_p, |
type(box_t), intent(inout) | box_c, | ||
integer, intent(in) | iv, | ||
integer, intent(in), optional | iv_to, | ||
logical, intent(in), optional | add, | ||
integer, intent(in), optional | limiter | ||
) |
Conservative prolongation using the limited gradient from the coarse cells.
[in] | box_p | Parent box |
[in,out] | box_c | Child box |
[in] | iv | Variable to fill |
[in] | iv_to | Destination variable |
[in] | add | Add to old values |
[in] | limiter | What kind of limiter to use |
Definition at line 311 of file m_af_prolong.f90.
subroutine, public m_af_prolong::af_prolong_linear_cons | ( | type(box_t), intent(in) | box_p, |
type(box_t), intent(inout) | box_c, | ||
integer, intent(in) | iv, | ||
integer, intent(in), optional | iv_to, | ||
logical, intent(in), optional | add, | ||
integer, intent(in), optional | limiter | ||
) |
[in] | box_p | Parent box |
[in,out] | box_c | Child box |
[in] | iv | Variable to fill |
[in] | iv_to | Destination variable |
[in] | add | Add to old values |
[in] | limiter | What kind of limiter to use |
Definition at line 424 of file m_af_prolong.f90.
subroutine, public m_af_prolong::af_prolong_linear | ( | type(box_t), intent(in) | box_p, |
type(box_t), intent(inout) | box_c, | ||
integer, intent(in) | iv, | ||
integer, intent(in), optional | iv_to, | ||
logical, intent(in), optional | add, | ||
integer, intent(in), optional | limiter | ||
) |
Bi/trilinear prolongation to a child (from parent)
[in] | box_p | Parent box |
[in,out] | box_c | Child box |
[in] | iv | Variable to fill |
[in] | iv_to | Destination variable |
[in] | add | Add to old values |
[in] | limiter | What kind of limiter to use |
Definition at line 531 of file m_af_prolong.f90.