Neko  0.9.0
A portable framework for high-order spectral element flow simulations
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(this) init => gradient_jump_penalty_init
 Constructor. More...
 
procedure, pass(this) free => gradient_jump_penalty_free
 Destructor. More...
 
procedure, pass(this) compute => gradient_jump_penalty_compute
 Compute gradient jump penalty term. More...
 
procedure, pass(this) perform => gradient_jump_penalty_perform
 Perform gradient jump penalty term. More...
 

Public Attributes

real(kind=rp) tau
 Coefficient of the penalty. More...
 
integer p
 Polynomial order. More...
 
integer lx
 Collocation point per dimension (p + 1) More...
 
real(kind=rp), dimension(:, :, :, :), allocatable penalty
 Penalty terms. More...
 
type(c_ptr) penalty_d = C_NULL_PTR
 
real(kind=rp), dimension(:, :, :, :), allocatable penalty_facet
 work array storing integrant of the penalty More...
 
type(c_ptr) penalty_facet_d = C_NULL_PTR
 
type(coef_t), pointer coef => null()
 SEM coefficients. More...
 
type(dofmap_t), pointer dm => null()
 Dof map. More...
 
real(kind=rp), dimension(:, :, :, :), allocatable grad1
 Gradient of the quatity of interest. More...
 
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) More...
 
type(c_ptr) g_d = C_NULL_PTR
 
real(kind=rp), dimension(:, :, :, :), allocatable flux1
 3 parts of the flux of the quantity More...
 
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 More...
 
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. More...
 
type(c_ptr) absvolflux_d = C_NULL_PTR
 
real(kind=rp), dimension(:, :, :, :), allocatable n1
 Expanded array of facet normal (zero inside each element) More...
 
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. More...
 
type(c_ptr) facet_factor_d = C_NULL_PTR
 
integer, dimension(:), allocatable n_facet
 Number of facet in elements and its maximum. More...
 
integer n_facet_max
 
real(kind=rp), dimension(:, :, :, :), allocatable h2
 Length scale for element regarding a facet. More...
 
real(kind=rp), dimension(:, :), allocatable dphidxi
 The first derivative of polynomial at two ends of the interval. More...
 
type(c_ptr) dphidxi_d = C_NULL_PTR
 
type(space_txh_gjp
 gather-scattering operation related variables More...
 
type(dofmap_tdm_gjp
 needed to init gs More...
 
type(gs_tgs_gjp
 
integer n
 Size of fields of size lx ** 3 * nelv. More...
 
integer n_large
 Size of fields of size lx ** 3 * nelv. More...
 

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

Definition at line 133 of file gradient_jump_penalty.f90.

◆ free()

procedure, pass(this) gradient_jump_penalty::gradient_jump_penalty_t::free

Definition at line 131 of file gradient_jump_penalty.f90.

◆ init()

procedure, pass(this) gradient_jump_penalty::gradient_jump_penalty_t::init

Definition at line 129 of file gradient_jump_penalty.f90.

◆ perform()

procedure, pass(this) gradient_jump_penalty::gradient_jump_penalty_t::perform

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: