|
Neko 0.9.1
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.