Neko  0.8.1
A portable framework for high-order spectral element flow simulations
advection Module Reference

Subroutines to add advection terms to the RHS of a transport equation. More...

Data Types

type  advection_t
 Base abstract type for computing the advection operator. More...
 
type  adv_no_dealias_t
 Type encapsulating advection routines with no dealiasing applied. More...
 
type  adv_dealias_t
 Type encapsulating advection routines with dealiasing. More...
 
interface  compute_adv
 Add advection operator to the right-hand-side for a fluld. More...
 
interface  compute_scalar_adv
 Add advection operator to the right-hand-side for a scalar. More...
 
interface  advection_free
 Destructor. More...
 

Functions/Subroutines

subroutine init_no_dealias (this, coef)
 Constructor. More...
 
subroutine free_no_dealias (this)
 Destructor. More...
 
subroutine init_dealias (this, lxd, coef)
 Constructor. More...
 
subroutine free_dealias (this)
 Destructor. More...
 
subroutine compute_advection_dealias (this, vx, vy, vz, fx, fy, fz, Xh, coef, n)
 Add the advection term for the fluid, i.e. \(u \cdot \nabla u \), to the RHS. More...
 
subroutine compute_advection_no_dealias (this, vx, vy, vz, fx, fy, fz, Xh, coef, n)
 Add the advection term for the fluid, i.e. \(u \cdot \nabla u \) to the RHS. More...
 
subroutine compute_scalar_advection_no_dealias (this, vx, vy, vz, s, fs, Xh, coef, n)
 Add the advection term for a scalar, i.e. \(u \cdot \nabla s \), to the RHS. More...
 
subroutine compute_scalar_advection_dealias (this, vx, vy, vz, s, fs, Xh, coef, n)
 Add the advection term for a scalar, i.e. \(u \cdot \nabla s \), to the RHS. More...
 

Detailed Description

Subroutines to add advection terms to the RHS of a transport equation.

Function/Subroutine Documentation

◆ compute_advection_dealias()

subroutine advection::compute_advection_dealias ( class(adv_dealias_t), intent(inout)  this,
type(field_t), intent(inout)  vx,
type(field_t), intent(inout)  vy,
type(field_t), intent(inout)  vz,
real(kind=rp), dimension(n), intent(inout)  fx,
real(kind=rp), dimension(n), intent(inout)  fy,
real(kind=rp), dimension(n), intent(inout)  fz,
type(space_t), intent(inout)  Xh,
type(coef_t), intent(inout)  coef,
integer, intent(in)  n 
)
private

Add the advection term for the fluid, i.e. \(u \cdot \nabla u \), to the RHS.

Parameters
vxThe x component of velocity.
vyThe y component of velocity.
vzThe z component of velocity.
fxThe x component of source term.
fyThe y component of source term.
fzThe z component of source term.
XhThe function space.
coefThe coefficients of the (Xh, mesh) pair.
nTypically the size of the mesh.

Definition at line 285 of file advection.f90.

Here is the call graph for this function:

◆ compute_advection_no_dealias()

subroutine advection::compute_advection_no_dealias ( class(adv_no_dealias_t), intent(inout)  this,
type(field_t), intent(inout)  vx,
type(field_t), intent(inout)  vy,
type(field_t), intent(inout)  vz,
real(kind=rp), dimension(n), intent(inout)  fx,
real(kind=rp), dimension(n), intent(inout)  fy,
real(kind=rp), dimension(n), intent(inout)  fz,
type(space_t), intent(inout)  Xh,
type(coef_t), intent(inout)  coef,
integer, intent(in)  n 
)
private

Add the advection term for the fluid, i.e. \(u \cdot \nabla u \) to the RHS.

Parameters
vxThe x component of velocity.
vyThe y component of velocity.
vzThe z component of velocity.
fxThe x component of source term.
fyThe y component of source term.
fzThe z component of source term.
XhThe function space.
coefThe coefficients of the (Xh, mesh) pair.
nTypically the size of the mesh.

Definition at line 401 of file advection.f90.

◆ compute_scalar_advection_dealias()

subroutine advection::compute_scalar_advection_dealias ( class(adv_dealias_t), intent(inout)  this,
type(field_t), intent(inout)  vx,
type(field_t), intent(inout)  vy,
type(field_t), intent(inout)  vz,
type(field_t), intent(inout)  s,
real(kind=rp), dimension(n), intent(inout)  fs,
type(space_t), intent(inout)  Xh,
type(coef_t), intent(inout)  coef,
integer, intent(in)  n 
)
private

Add the advection term for a scalar, i.e. \(u \cdot \nabla s \), to the RHS.

Parameters
thisThe object.
vxThe x component of velocity.
vyThe y component of velocity.
vzThe z component of velocity.
sThe scalar.
fsThe source term.
XhThe function space.
coefThe coefficients of the (Xh, mesh) pair.
nTypically the size of the mesh.

Definition at line 494 of file advection.f90.

◆ compute_scalar_advection_no_dealias()

subroutine advection::compute_scalar_advection_no_dealias ( class(adv_no_dealias_t), intent(inout)  this,
type(field_t), intent(inout)  vx,
type(field_t), intent(inout)  vy,
type(field_t), intent(inout)  vz,
type(field_t), intent(inout)  s,
real(kind=rp), dimension(n), intent(inout)  fs,
type(space_t), intent(inout)  Xh,
type(coef_t), intent(inout)  coef,
integer, intent(in)  n 
)
private

Add the advection term for a scalar, i.e. \(u \cdot \nabla s \), to the RHS.

Parameters
thisThe object.
vxThe x component of velocity.
vyThe y component of velocity.
vzThe z component of velocity.
sThe scalar.
fsThe source term.
XhThe function space.
coefThe coefficients of the (Xh, mesh) pair.
nTypically the size of the mesh.

Definition at line 451 of file advection.f90.

◆ free_dealias()

subroutine advection::free_dealias ( class(adv_dealias_t), intent(inout)  this)
private

Destructor.

Definition at line 269 of file advection.f90.

◆ free_no_dealias()

subroutine advection::free_no_dealias ( class(adv_no_dealias_t), intent(inout)  this)
private

Destructor.

Definition at line 203 of file advection.f90.

Here is the call graph for this function:

◆ init_dealias()

subroutine advection::init_dealias ( class(adv_dealias_t), intent(inout), target  this,
integer, intent(in)  lxd,
type(coef_t), intent(inout), target  coef 
)
private

Constructor.

Parameters
lxdThe polynomial order of the space used in the dealiasing.
coefThe coefficients of the (space, mesh) pair.

Definition at line 217 of file advection.f90.

◆ init_no_dealias()

subroutine advection::init_no_dealias ( class(adv_no_dealias_t), intent(inout)  this,
type(coef_t), intent(in)  coef 
)
private

Constructor.

Parameters
coefThe coefficients of the (space, mesh) pair.

Definition at line 190 of file advection.f90.