Neko 0.9.99
A portable framework for high-order spectral element flow simulations
|
Implements the gradient jump penalty. More...
Public Member Functions | |
procedure, pass(this) | init (this, params, dofmap, coef, a, b) |
Constructor. | |
procedure, pass(this) | free (this) |
Destructor. | |
procedure, pass(this) | compute (this, u, v, w, s) |
Compute gradient jump penalty term. | |
procedure, pass(this) | perform (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_t) | xh_gjp |
gather-scattering operation related variables | |
type(dofmap_t) | dm_gjp |
needed to init gs | |
type(gs_t) | gs_gjp |
integer | n |
Size of fields of size lx ** 3 * nelv. | |
integer | n_large |
Size of fields of size lx ** 3 * nelv. | |
Definition at line 62 of file gradient_jump_penalty.f90.
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 | ||
) |
u | x-velocity |
v | y-velocity |
w | z-velocity |
s | quantity of interest |
Definition at line 133 of file gradient_jump_penalty.f90.
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.
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 | ||
) |
params | The case parameter file in json. |
dofmap | SEM map of degrees of freedom. |
coef | SEM coefficients. |
a,b | Coefficients to determine tau |
Definition at line 129 of file gradient_jump_penalty.f90.
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 | ||
) |
f | A field object to store RHS terms in the weak form equation. |
Definition at line 135 of file gradient_jump_penalty.f90.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::absvolflux |
Definition at line 100 of file gradient_jump_penalty.f90.
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.
Definition at line 76 of file gradient_jump_penalty.f90.
Definition at line 78 of file gradient_jump_penalty.f90.
type(dofmap_t) gradient_jump_penalty::gradient_jump_penalty_t::dm_gjp |
Definition at line 120 of file gradient_jump_penalty.f90.
real(kind=rp), dimension(:, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::dphidxi |
Definition at line 116 of file gradient_jump_penalty.f90.
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.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::facet_factor |
Definition at line 108 of file gradient_jump_penalty.f90.
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.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::flux1 |
Definition at line 89 of file gradient_jump_penalty.f90.
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.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::flux2 |
Definition at line 89 of file gradient_jump_penalty.f90.
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.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::flux3 |
Definition at line 89 of file gradient_jump_penalty.f90.
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.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::g |
Definition at line 86 of file gradient_jump_penalty.f90.
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.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::grad1 |
Definition at line 80 of file gradient_jump_penalty.f90.
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.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::grad2 |
Definition at line 80 of file gradient_jump_penalty.f90.
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.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::grad3 |
Definition at line 80 of file gradient_jump_penalty.f90.
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.
type(gs_t) gradient_jump_penalty::gradient_jump_penalty_t::gs_gjp |
Definition at line 121 of file gradient_jump_penalty.f90.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::h2 |
Definition at line 114 of file gradient_jump_penalty.f90.
integer gradient_jump_penalty::gradient_jump_penalty_t::lx |
Definition at line 68 of file gradient_jump_penalty.f90.
integer gradient_jump_penalty::gradient_jump_penalty_t::n |
Definition at line 123 of file gradient_jump_penalty.f90.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::n1 |
Definition at line 103 of file gradient_jump_penalty.f90.
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.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::n2 |
Definition at line 103 of file gradient_jump_penalty.f90.
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.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::n3 |
Definition at line 103 of file gradient_jump_penalty.f90.
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.
integer, dimension(:), allocatable gradient_jump_penalty::gradient_jump_penalty_t::n_facet |
Definition at line 111 of file gradient_jump_penalty.f90.
integer gradient_jump_penalty::gradient_jump_penalty_t::n_facet_max |
Definition at line 112 of file gradient_jump_penalty.f90.
integer gradient_jump_penalty::gradient_jump_penalty_t::n_large |
Definition at line 125 of file gradient_jump_penalty.f90.
integer gradient_jump_penalty::gradient_jump_penalty_t::p |
Definition at line 66 of file gradient_jump_penalty.f90.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::penalty |
Definition at line 70 of file gradient_jump_penalty.f90.
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.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::penalty_facet |
Definition at line 73 of file gradient_jump_penalty.f90.
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.
Definition at line 64 of file gradient_jump_penalty.f90.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::volflux1 |
Definition at line 94 of file gradient_jump_penalty.f90.
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.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::volflux2 |
Definition at line 94 of file gradient_jump_penalty.f90.
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.
real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::volflux3 |
Definition at line 94 of file gradient_jump_penalty.f90.
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.
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.