Afivo  0.3
Functions/Subroutines
m_a2_prolong Module Reference

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

Functions/Subroutines

subroutine, public a2_prolong_copy_from (boxes, id, iv, iv_to, add)
 Zeroth-order prolongation to children. More...
 
subroutine, public a2_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 a2_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 a2_prolong_sparse (box_p, box_c, iv, iv_to, add)
 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 a2_prolong_limit (box_p, box_c, iv, iv_to, add)
 
subroutine, public a2_prolong_linear_cons (box_p, box_c, iv, iv_to, add)
 
subroutine, public a2_prolong_linear (box_p, box_c, iv, iv_to, add)
 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

§ a2_prolong_copy_from()

subroutine, public m_a2_prolong::a2_prolong_copy_from ( type(box2_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_a2_prolong.f90.

§ a2_prolong_copy()

subroutine, public m_a2_prolong::a2_prolong_copy ( type(box2_t), intent(in)  box_p,
type(box2_t), intent(inout)  box_c,
integer, intent(in)  iv,
integer, intent(in), optional  iv_to,
integer, dimension(2), intent(in), optional  low,
integer, dimension(2), 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_a2_prolong.f90.

§ a2_prolong_linear_from()

subroutine, public m_a2_prolong::a2_prolong_linear_from ( type(box2_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 84 of file m_a2_prolong.f90.

§ a2_prolong_sparse()

subroutine, public m_a2_prolong::a2_prolong_sparse ( type(box2_t), intent(in)  box_p,
type(box2_t), intent(inout)  box_c,
integer, intent(in)  iv,
integer, intent(in), optional  iv_to,
logical, intent(in), optional  add 
)

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

Definition at line 102 of file m_a2_prolong.f90.

§ a2_prolong_limit()

subroutine, public m_a2_prolong::a2_prolong_limit ( type(box2_t), intent(in)  box_p,
type(box2_t), intent(inout)  box_c,
integer, intent(in)  iv,
integer, intent(in), optional  iv_to,
logical, intent(in), optional  add 
)
Parameters
[in]box_pParent box
[in,out]box_cChild box
[in]ivVariable to fill
[in]iv_toDestination variable
[in]addAdd to old values

Definition at line 151 of file m_a2_prolong.f90.

§ a2_prolong_linear_cons()

subroutine, public m_a2_prolong::a2_prolong_linear_cons ( type(box2_t), intent(in)  box_p,
type(box2_t), intent(inout)  box_c,
integer, intent(in)  iv,
integer, intent(in), optional  iv_to,
logical, intent(in), optional  add 
)
Parameters
[in]box_pParent box
[in,out]box_cChild box
[in]ivVariable to fill
[in]iv_toDestination variable
[in]addAdd to old values

Definition at line 218 of file m_a2_prolong.f90.

§ a2_prolong_linear()

subroutine, public m_a2_prolong::a2_prolong_linear ( type(box2_t), intent(in)  box_p,
type(box2_t), intent(inout)  box_c,
integer, intent(in)  iv,
integer, intent(in), optional  iv_to,
logical, intent(in), optional  add 
)

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

Definition at line 266 of file m_a2_prolong.f90.