Neko 1.99.1
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
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, json, fields, coef, variable_name)
 Constructor.
 
subroutine gradient_jump_penalty_init_from_components (this, coef, fields, start_time, end_time, a, b, variable_name)
 Constructor from components.
 
subroutine eval_h2_hex (h2_el, n, i, coef)
 Evaluate h^2 for each element for hexahedral mesh.
 
real(kind=rp) function dist2_quadrature_hex (l, k, j, i, n, dm, coef)
 
subroutine facet_factor_init (this)
 Initialize the facet factor array.
 
subroutine gradient_jump_penalty_free (this)
 Destructor for the gradient_jump_penalty_t class.
 
subroutine gradient_jump_penalty_compute_single (this, s)
 Compute the gradient jump penalty term for a single field.
 
subroutine gradient_jump_penalty_compute (this, time)
 Assign the gradient jump penalty term.
 
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>
 
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>
 
subroutine g_compute (this, s)
 Compute the average of the flux over facets.
 
subroutine absvolflux_compute (this, u, v, w)
 Compute the average of the volumetric flux over facets.
 
subroutine pick_facet_value_hex (f_facet, f_field, lx, nelv)
 Pick facet values of a field.
 

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 956 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 450 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(coef_t), intent(in), pointer  coef 
)
private
Parameters
h2_elThe square of the length scale of an element
epThe pointer to the element

Definition at line 407 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 572 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 910 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(time_state_t), intent(in time 
)
private
Parameters
timeThe time state.

Definition at line 829 of file gradient_jump_penalty.f90.

◆ gradient_jump_penalty_compute_single()

subroutine gradient_jump_penalty::gradient_jump_penalty_compute_single ( class(gradient_jump_penalty_t), intent(inout this,
type(field_t), intent(in s 
)
private
Parameters
sQuantity of interest.

Definition at line 799 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 861 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 878 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 664 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 json,
type(field_list_t), intent(in), target  fields,
type(coef_t), intent(in), target  coef,
character(len=*), intent(in variable_name 
)
Parameters
jsonThe JSON object for the source.
fieldsA list of fields for adding the source values.
coefThe SEM coeffs.
a,bCoefficients to determine tau
variable_nameThe name of the variable for this source term.

Definition at line 162 of file gradient_jump_penalty.f90.

◆ gradient_jump_penalty_init_from_components()

subroutine gradient_jump_penalty::gradient_jump_penalty_init_from_components ( class(gradient_jump_penalty_t), intent(inout this,
type(coef_t), intent(in), target  coef,
type(field_list_t), intent(in), target  fields,
real(kind=rp), intent(in start_time,
real(kind=rp), intent(in end_time,
real(kind=rp), intent(in a,
real(kind=rp), intent(in b,
character(len=*), intent(in variable_name 
)
private
Parameters
fieldsA list of fields for adding the source values.
coefThe SEM coeffs.
a,bCoefficients to determine tau
start_timeWhen to start adding the source term.
end_timeWhen to stop adding the source term.
variable_nameThe name of the variable for this source term.

Definition at line 196 of file gradient_jump_penalty.f90.

Here is the call graph for this function:

◆ 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 998 of file gradient_jump_penalty.f90.

Here is the caller graph for this function: