Neko 0.9.99
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
gradient_jump_penalty::gradient_jump_penalty_t Type Reference

Implements the gradient jump penalty. More...

Collaboration diagram for gradient_jump_penalty::gradient_jump_penalty_t:

Public Member Functions

procedure, pass(thisinit (this, params, dofmap, coef, a, b)
 Constructor.
 
procedure, pass(thisfree (this)
 Destructor.
 
procedure, pass(thiscompute (this, u, v, w, s)
 Compute gradient jump penalty term.
 
procedure, pass(thisperform (this, f)
 Perform gradient jump penalty term.
 

Public Attributes

real(kind=rp) tau
 Coefficient of the penalty.
 
integer p
 Polynomial order.
 
integer lx
 Collocation point per dimension (p + 1)
 
real(kind=rp), dimension(:, :, :, :), allocatable penalty
 Penalty terms.
 
type(c_ptr) penalty_d = C_NULL_PTR
 
real(kind=rp), dimension(:, :, :, :), allocatable penalty_facet
 work array storing integrant of the penalty
 
type(c_ptr) penalty_facet_d = C_NULL_PTR
 
type(coef_t), pointer coef => null()
 SEM coefficients.
 
type(dofmap_t), pointer dm => null()
 Dof map.
 
real(kind=rp), dimension(:, :, :, :), allocatable grad1
 Gradient of the quatity of interest.
 
real(kind=rp), dimension(:, :, :, :), allocatable grad2
 
real(kind=rp), dimension(:, :, :, :), allocatable grad3
 
type(c_ptr) grad1_d = C_NULL_PTR
 
type(c_ptr) grad2_d = C_NULL_PTR
 
type(c_ptr) grad3_d = C_NULL_PTR
 
real(kind=rp), dimension(:, :, :, :), allocatable g
 Gradient jump on the elementary interface (zero inside each element)
 
type(c_ptr) g_d = C_NULL_PTR
 
real(kind=rp), dimension(:, :, :, :), allocatable flux1
 3 parts of the flux of the quantity
 
real(kind=rp), dimension(:, :, :, :), allocatable flux2
 
real(kind=rp), dimension(:, :, :, :), allocatable flux3
 
type(c_ptr) flux1_d = C_NULL_PTR
 
type(c_ptr) flux2_d = C_NULL_PTR
 
type(c_ptr) flux3_d = C_NULL_PTR
 
real(kind=rp), dimension(:, :, :, :), allocatable volflux1
 3 parts of the flux of the volumetric flow
 
real(kind=rp), dimension(:, :, :, :), allocatable volflux2
 
real(kind=rp), dimension(:, :, :, :), allocatable volflux3
 
type(c_ptr) volflux1_d = C_NULL_PTR
 
type(c_ptr) volflux2_d = C_NULL_PTR
 
type(c_ptr) volflux3_d = C_NULL_PTR
 
real(kind=rp), dimension(:, :, :, :), allocatable absvolflux
 The absolute flux of the volumetric flow.
 
type(c_ptr) absvolflux_d = C_NULL_PTR
 
real(kind=rp), dimension(:, :, :, :), allocatable n1
 Expanded array of facet normal (zero inside each element)
 
real(kind=rp), dimension(:, :, :, :), allocatable n2
 
real(kind=rp), dimension(:, :, :, :), allocatable n3
 
type(c_ptr) n1_d = C_NULL_PTR
 
type(c_ptr) n2_d = C_NULL_PTR
 
type(c_ptr) n3_d = C_NULL_PTR
 
real(kind=rp), dimension(:, :, :, :), allocatable facet_factor
 Facet factor: quantities in the integrant fix with time stepping.
 
type(c_ptr) facet_factor_d = C_NULL_PTR
 
integer, dimension(:), allocatable n_facet
 Number of facet in elements and its maximum.
 
integer n_facet_max
 
real(kind=rp), dimension(:, :, :, :), allocatable h2
 Length scale for element regarding a facet.
 
real(kind=rp), dimension(:, :), allocatable dphidxi
 The first derivative of polynomial at two ends of the interval.
 
type(c_ptr) dphidxi_d = C_NULL_PTR
 
type(space_txh_gjp
 gather-scattering operation related variables
 
type(dofmap_tdm_gjp
 needed to init gs
 
type(gs_tgs_gjp
 
integer n
 Size of fields of size lx ** 3 * nelv.
 
integer n_large
 Size of fields of size lx ** 3 * nelv.
 

Detailed Description

Note
Reference DOI: 10.1016/j.cma.2021.114200

Definition at line 62 of file gradient_jump_penalty.f90.

Member Function/Subroutine Documentation

◆ compute()

procedure, pass(this) gradient_jump_penalty::gradient_jump_penalty_t::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 
)
Parameters
ux-velocity
vy-velocity
wz-velocity
squantity of interest

Definition at line 133 of file gradient_jump_penalty.f90.

◆ free()

procedure, pass(this) gradient_jump_penalty::gradient_jump_penalty_t::free ( class(gradient_jump_penalty_t), intent(inout this)

Definition at line 131 of file gradient_jump_penalty.f90.

◆ init()

procedure, pass(this) gradient_jump_penalty::gradient_jump_penalty_t::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 129 of file gradient_jump_penalty.f90.

◆ perform()

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

Definition at line 135 of file gradient_jump_penalty.f90.

Member Data Documentation

◆ absvolflux

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::absvolflux

Definition at line 100 of file gradient_jump_penalty.f90.

◆ absvolflux_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::absvolflux_d = C_NULL_PTR

Definition at line 101 of file gradient_jump_penalty.f90.

◆ coef

type(coef_t), pointer gradient_jump_penalty::gradient_jump_penalty_t::coef => null()

Definition at line 76 of file gradient_jump_penalty.f90.

◆ dm

type(dofmap_t), pointer gradient_jump_penalty::gradient_jump_penalty_t::dm => null()

Definition at line 78 of file gradient_jump_penalty.f90.

◆ dm_gjp

type(dofmap_t) gradient_jump_penalty::gradient_jump_penalty_t::dm_gjp

Definition at line 120 of file gradient_jump_penalty.f90.

◆ dphidxi

real(kind=rp), dimension(:, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::dphidxi

Definition at line 116 of file gradient_jump_penalty.f90.

◆ dphidxi_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::dphidxi_d = C_NULL_PTR

Definition at line 117 of file gradient_jump_penalty.f90.

◆ facet_factor

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::facet_factor

Definition at line 108 of file gradient_jump_penalty.f90.

◆ facet_factor_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::facet_factor_d = C_NULL_PTR

Definition at line 109 of file gradient_jump_penalty.f90.

◆ flux1

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::flux1

Definition at line 89 of file gradient_jump_penalty.f90.

◆ flux1_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::flux1_d = C_NULL_PTR

Definition at line 90 of file gradient_jump_penalty.f90.

◆ flux2

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::flux2

Definition at line 89 of file gradient_jump_penalty.f90.

◆ flux2_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::flux2_d = C_NULL_PTR

Definition at line 91 of file gradient_jump_penalty.f90.

◆ flux3

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::flux3

Definition at line 89 of file gradient_jump_penalty.f90.

◆ flux3_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::flux3_d = C_NULL_PTR

Definition at line 92 of file gradient_jump_penalty.f90.

◆ g

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::g

Definition at line 86 of file gradient_jump_penalty.f90.

◆ g_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::g_d = C_NULL_PTR

Definition at line 87 of file gradient_jump_penalty.f90.

◆ grad1

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::grad1

Definition at line 80 of file gradient_jump_penalty.f90.

◆ grad1_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::grad1_d = C_NULL_PTR

Definition at line 82 of file gradient_jump_penalty.f90.

◆ grad2

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::grad2

Definition at line 80 of file gradient_jump_penalty.f90.

◆ grad2_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::grad2_d = C_NULL_PTR

Definition at line 83 of file gradient_jump_penalty.f90.

◆ grad3

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::grad3

Definition at line 80 of file gradient_jump_penalty.f90.

◆ grad3_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::grad3_d = C_NULL_PTR

Definition at line 84 of file gradient_jump_penalty.f90.

◆ gs_gjp

type(gs_t) gradient_jump_penalty::gradient_jump_penalty_t::gs_gjp

Definition at line 121 of file gradient_jump_penalty.f90.

◆ h2

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::h2

Definition at line 114 of file gradient_jump_penalty.f90.

◆ lx

integer gradient_jump_penalty::gradient_jump_penalty_t::lx

Definition at line 68 of file gradient_jump_penalty.f90.

◆ n

integer gradient_jump_penalty::gradient_jump_penalty_t::n

Definition at line 123 of file gradient_jump_penalty.f90.

◆ n1

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::n1

Definition at line 103 of file gradient_jump_penalty.f90.

◆ n1_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::n1_d = C_NULL_PTR

Definition at line 104 of file gradient_jump_penalty.f90.

◆ n2

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::n2

Definition at line 103 of file gradient_jump_penalty.f90.

◆ n2_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::n2_d = C_NULL_PTR

Definition at line 105 of file gradient_jump_penalty.f90.

◆ n3

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::n3

Definition at line 103 of file gradient_jump_penalty.f90.

◆ n3_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::n3_d = C_NULL_PTR

Definition at line 106 of file gradient_jump_penalty.f90.

◆ n_facet

integer, dimension(:), allocatable gradient_jump_penalty::gradient_jump_penalty_t::n_facet

Definition at line 111 of file gradient_jump_penalty.f90.

◆ n_facet_max

integer gradient_jump_penalty::gradient_jump_penalty_t::n_facet_max

Definition at line 112 of file gradient_jump_penalty.f90.

◆ n_large

integer gradient_jump_penalty::gradient_jump_penalty_t::n_large

Definition at line 125 of file gradient_jump_penalty.f90.

◆ p

integer gradient_jump_penalty::gradient_jump_penalty_t::p

Definition at line 66 of file gradient_jump_penalty.f90.

◆ penalty

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::penalty

Definition at line 70 of file gradient_jump_penalty.f90.

◆ penalty_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::penalty_d = C_NULL_PTR

Definition at line 71 of file gradient_jump_penalty.f90.

◆ penalty_facet

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::penalty_facet

Definition at line 73 of file gradient_jump_penalty.f90.

◆ penalty_facet_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::penalty_facet_d = C_NULL_PTR

Definition at line 74 of file gradient_jump_penalty.f90.

◆ tau

real(kind=rp) gradient_jump_penalty::gradient_jump_penalty_t::tau

Definition at line 64 of file gradient_jump_penalty.f90.

◆ volflux1

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::volflux1

Definition at line 94 of file gradient_jump_penalty.f90.

◆ volflux1_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::volflux1_d = C_NULL_PTR

Definition at line 96 of file gradient_jump_penalty.f90.

◆ volflux2

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::volflux2

Definition at line 94 of file gradient_jump_penalty.f90.

◆ volflux2_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::volflux2_d = C_NULL_PTR

Definition at line 97 of file gradient_jump_penalty.f90.

◆ volflux3

real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::volflux3

Definition at line 94 of file gradient_jump_penalty.f90.

◆ volflux3_d

type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::volflux3_d = C_NULL_PTR

Definition at line 98 of file gradient_jump_penalty.f90.

◆ xh_gjp

type(space_t) gradient_jump_penalty::gradient_jump_penalty_t::xh_gjp

needed to init gs

Definition at line 119 of file gradient_jump_penalty.f90.


The documentation for this type was generated from the following file: