Neko  0.9.0
A portable framework for high-order spectral element flow simulations
gradient_jump_penalty Module Reference

Implements gradient_jump_penalty_t.

Data Types

type  gradient_jump_penalty_t
 Implements the gradient jump penalty. More...
 

Functions/Subroutines

subroutine gradient_jump_penalty_init (this, params, dofmap, coef, a, b)
 Constructor. More...
 
subroutine eval_h2_hex (h2_el, n, i, dm, coef)
 Evaluate h^2 for each element for hexahedral mesh. More...
 
real(kind=rp) function dist2_quadrature_hex (l, k, j, i, n, dm, coef)
 
subroutine facet_factor_init (this)
 Initialize the facet factor array. More...
 
subroutine gradient_jump_penalty_free (this)
 Destructor for the gradient_jump_penalty_t class. More...
 
subroutine gradient_jump_penalty_compute (this, u, v, w, s)
 Compute the gradient jump penalty term. More...
 
subroutine gradient_jump_penalty_perform (this, f)
 Assign the gradient jump penalty term. More...
 
subroutine gradient_jump_penalty_finalize (penalty, wa, dphidxi, lx, nelv)
 Interface of finalizing the gradient jump penalty term. <tau * h^2 * absvolflux * G * phij * phik * dphi_idxi * dxidn> More...
 
subroutine gradient_jump_penalty_finalize_hex (penalty, wa, dphidxi, lx, nelv)
 Finalizinge the gradient jump penalty term for hexahedral elements. <tau * h^2 * absvolflux * G * phij * phik * dphi_idxi * dxidn> More...
 
subroutine g_compute (this, s)
 Compute the average of the flux over facets. More...
 
subroutine absvolflux_compute (this, u, v, w)
 Compute the average of the volumetric flux over facets. More...
 
subroutine pick_facet_value_hex (f_facet, f_field, lx, nelv)
 Pick facet values of a field. More...
 

Function/Subroutine Documentation

◆ absvolflux_compute()

subroutine gradient_jump_penalty::absvolflux_compute ( class(gradient_jump_penalty_t), intent(inout)  this,
type(field_t), intent(in)  u,
type(field_t), intent(in)  v,
type(field_t), intent(in)  w 
)
private
Parameters
ux-velocity
vy-velocity
wz-velocity

Definition at line 863 of file gradient_jump_penalty.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dist2_quadrature_hex()

real(kind=rp) function gradient_jump_penalty::dist2_quadrature_hex ( integer, intent(in)  l,
integer, intent(in)  k,
integer, intent(in)  j,
integer, intent(in)  i,
integer, intent(in)  n,
type(dofmap_t), intent(in), pointer  dm,
type(coef_t), intent(in), pointer  coef 
)
private

Definition at line 375 of file gradient_jump_penalty.f90.

Here is the caller graph for this function:

◆ eval_h2_hex()

subroutine gradient_jump_penalty::eval_h2_hex ( real(kind=rp), dimension(n + 2, n + 2, n + 2), intent(inout)  h2_el,
integer, intent(in)  n,
integer, intent(in)  i,
type(dofmap_t), intent(in), pointer  dm,
type(coef_t), intent(in), pointer  coef 
)
private
Parameters
h2_elThe sqaure of the length scale of an element
epThe pointer to the element

Definition at line 334 of file gradient_jump_penalty.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ facet_factor_init()

subroutine gradient_jump_penalty::facet_factor_init ( class(gradient_jump_penalty_t), intent(inout)  this)
private

Definition at line 497 of file gradient_jump_penalty.f90.

Here is the caller graph for this function:

◆ g_compute()

subroutine gradient_jump_penalty::g_compute ( class(gradient_jump_penalty_t), intent(inout)  this,
type(field_t), intent(in)  s 
)
private
Parameters
sThe quantity of interest

Definition at line 817 of file gradient_jump_penalty.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gradient_jump_penalty_compute()

subroutine gradient_jump_penalty::gradient_jump_penalty_compute ( class(gradient_jump_penalty_t), intent(inout)  this,
type(field_t), intent(in)  u,
type(field_t), intent(in)  v,
type(field_t), intent(in)  w,
type(field_t), intent(in)  s 
)
private
Parameters
ux-velocity
vy-velocity
wz-velocity
squantity of interest

Definition at line 717 of file gradient_jump_penalty.f90.

Here is the call graph for this function:

◆ gradient_jump_penalty_finalize()

subroutine gradient_jump_penalty::gradient_jump_penalty_finalize ( real(kind=rp), dimension(lx, lx, lx, nelv), intent(inout)  penalty,
real(kind=rp), dimension(lx + 2, lx + 2, lx + 2, nelv), intent(in)  wa,
real(kind=rp), dimension(lx, lx), intent(in)  dphidxi,
integer, intent(in)  lx,
integer, intent(in)  nelv 
)
private
Parameters
penaltyGradient Jump Penalty array
waWork array containing tau * absvolflux * G * dxidn
dphidxiThe first derivative of polynomial
lxOrder of polynomial plus one
nelvNumber of elements

Definition at line 768 of file gradient_jump_penalty.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ gradient_jump_penalty_finalize_hex()

subroutine gradient_jump_penalty::gradient_jump_penalty_finalize_hex ( real(kind=rp), dimension(lx, lx, lx, nelv), intent(inout)  penalty,
real(kind=rp), dimension(lx + 2, lx + 2, lx + 2, nelv), intent(in)  wa,
real(kind=rp), dimension(lx, lx), intent(in)  dphidxi,
integer, intent(in)  lx,
integer, intent(in)  nelv 
)
private
Parameters
penaltyGradient Jump Penalty array
waWork array containing tau * absvolflux * G * dxidn
dphidxiThe first derivative of polynomial
lxOrder of polynomial plus one
nelvNumber of elements

Definition at line 785 of file gradient_jump_penalty.f90.

Here is the caller graph for this function:

◆ gradient_jump_penalty_free()

subroutine gradient_jump_penalty::gradient_jump_penalty_free ( class(gradient_jump_penalty_t), intent(inout)  this)
private

Definition at line 584 of file gradient_jump_penalty.f90.

◆ gradient_jump_penalty_init()

subroutine gradient_jump_penalty::gradient_jump_penalty_init ( class(gradient_jump_penalty_t), intent(inout)  this,
type(json_file), intent(inout), target  params,
type(dofmap_t), intent(in), target  dofmap,
type(coef_t), intent(in), target  coef,
real(kind=rp), intent(in)  a,
real(kind=rp), intent(in)  b 
)
Parameters
paramsThe case parameter file in json.
dofmapSEM map of degrees of freedom.
coefSEM coefficients.
a,bCoefficients to determine tau

Definition at line 145 of file gradient_jump_penalty.f90.

Here is the call graph for this function:

◆ gradient_jump_penalty_perform()

subroutine gradient_jump_penalty::gradient_jump_penalty_perform ( class(gradient_jump_penalty_t), intent(inout)  this,
type(field_t), intent(inout)  f 
)
private
Parameters
fA field object to store RHS terms in the weak form equation.

Definition at line 747 of file gradient_jump_penalty.f90.

◆ pick_facet_value_hex()

subroutine gradient_jump_penalty::pick_facet_value_hex ( real(kind=rp), dimension(lx + 2, lx + 2, lx + 2, nelv), intent(inout)  f_facet,
real(kind=rp), dimension(lx, lx, lx, nelv), intent(in)  f_field,
integer, intent(in)  lx,
integer, intent(in)  nelv 
)
private
Parameters
f_facetThe data on facets
f_fieldA particular field
lxThe number of collocation points on one dimension
nelvThe number of element

Definition at line 905 of file gradient_jump_penalty.f90.

Here is the caller graph for this function: