Afivo  0.3
Functions/Subroutines
m_af_prolong Module Reference

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...
 

Detailed Description

This module contains the routines related to prolongation: going from coarse to fine variables.

Function/Subroutine Documentation

◆ af_prolong_copy_from()

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.

Parameters
[in,out]boxesList of all boxes
[in]idBox whose children we will fill
[in]ivVariable that is prolonged
[in]iv_toDestination variable
[in]addAdd to old values

Definition at line 25 of file m_af_prolong.f90.

◆ af_prolong_copy()

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)

Parameters
[in]box_pParent box
[in,out]box_cChild box
[in]ivVariable to fill
[in]iv_toDestination variable
[in]lowMin cell index at child
[in]highMax cell index at child
[in]addAdd to old values

Definition at line 41 of file m_af_prolong.f90.

◆ af_prolong_zeroth()

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.

Parameters
[in]box_pParent box
[in,out]box_cChild box
[in]ivVariable to fill
[in]iv_toDestination variable
[in]addAdd to old values
[in]limiterWhat kind of limiter to use

Definition at line 121 of file m_af_prolong.f90.

◆ af_prolong_linear_from()

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.

Parameters
[in,out]boxesList of all boxes
[in]idBox whose children we will fill
[in]ivVariable that is filled
[in]iv_toDestination variable
[in]addAdd to old values

Definition at line 187 of file m_af_prolong.f90.

◆ af_prolong_sparse()

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.

Parameters
[in]box_pParent box
[in,out]box_cChild box
[in]ivVariable to fill
[in]iv_toDestination variable
[in]addAdd to old values
[in]limiterWhat kind of limiter to use

Definition at line 205 of file m_af_prolong.f90.

◆ af_prolong_limit()

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.

Parameters
[in]box_pParent box
[in,out]box_cChild box
[in]ivVariable to fill
[in]iv_toDestination variable
[in]addAdd to old values
[in]limiterWhat kind of limiter to use

Definition at line 311 of file m_af_prolong.f90.

◆ af_prolong_linear_cons()

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 
)
Parameters
[in]box_pParent box
[in,out]box_cChild box
[in]ivVariable to fill
[in]iv_toDestination variable
[in]addAdd to old values
[in]limiterWhat kind of limiter to use

Definition at line 424 of file m_af_prolong.f90.

◆ af_prolong_linear()

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)

Parameters
[in]box_pParent box
[in,out]box_cChild box
[in]ivVariable to fill
[in]iv_toDestination variable
[in]addAdd to old values
[in]limiterWhat kind of limiter to use

Definition at line 531 of file m_af_prolong.f90.