version 0.6.0
mod_gradient_operator_cell_to_face Module Reference

Gradient operator from cells to faces.

Functions/Subroutines

subroutine gradient_operator_cell_to_face (gradient, array, order)
 Gradient generic function. More...
 
subroutine gradient_operator_cell_to_face_o2 (gradient, array)
 Gradient using \(2^{nd}\) order interpolation ( \(1^{st}\) order for non uniform meshes). More...
 
subroutine gradient_operator_cell_to_face_o4 (gradient, array)
 Gradient using \(4^{th}\) order interpolation ( \(3^{rd}\) order for non uniform meshes). More...
 

Function/Subroutine Documentation

◆ gradient_operator_cell_to_face()

subroutine mod_gradient_operator_cell_to_face::gradient_operator_cell_to_face ( type(t_face_field), intent(inout)  gradient,
double precision, dimension(:,:,:), intent(in)  array,
integer, intent(in), optional  order 
)

Gradient using \(2^{nd}\) or \(4^{th}\) order interpolation.

The gradient of \( \phi \) is the vector

\begin{align} \nabla \phi &= \left( \frac{\partial \phi}{\partial x} , \frac{\partial \phi}{\partial y} , \frac{\partial \phi}{\partial z} \right) \,. \end{align}

Note
  • on ghost nodes between processors, values are exchanged
  • on ghost boundary nodes values are extrapolated (eg. on gradient(isu,*,*))
Parameters
[in,out]gradientthe resulting gradient face field
[in]arraythe point quantity on which we want to compute the gradient
[in]orderthe order of spatial precision: 2 or 4 (default=2), enum_discretization_type
Todo:
MCO: deal with point/mean quantity

◆ gradient_operator_cell_to_face_o2()

subroutine mod_gradient_operator_cell_to_face::gradient_operator_cell_to_face_o2 ( type(t_face_field), intent(inout)  gradient,
double precision, dimension(:,:,:), intent(in)  array 
)

Gradient using \(2^{nd}\) order interpolation ( \(1^{st}\) order for non uniform meshes).

The gradient of \( \phi \) is the vector

\begin{align} \nabla \phi &= \left( \frac{\partial \phi}{\partial x} , \frac{\partial \phi}{\partial y} , \frac{\partial \phi}{\partial z} \right) \,. \end{align}

Note
  • second order for regular meshes
  • on ghost nodes between processors, values are exchanged
  • on ghost boundary nodes values are extrapolated (eg. on gradient(isu,*,*))

◆ gradient_operator_cell_to_face_o4()

subroutine mod_gradient_operator_cell_to_face::gradient_operator_cell_to_face_o4 ( type(t_face_field), intent(inout)  gradient,
double precision, dimension(:,:,:), intent(in)  array 
)

Gradient using \(4^{th}\) order interpolation ( \(3^{rd}\) order for non uniform meshes).

The gradient of \( \phi \) is the vector

\begin{align} \nabla \phi &= \left( \frac{\partial \phi}{\partial x} , \frac{\partial \phi}{\partial y} , \frac{\partial \phi}{\partial z} \right) \,. \end{align}

Note
  • fourth order for regular meshes
  • on ghost nodes between processors, values are exchanged
  • on ghost boundary nodes values are extrapolated (eg. on gradient(isu,*,*))