|
Neko 1.99.2
A portable framework for high-order spectral element flow simulations
|
Implements the gradient jump penalty. More...


Public Member Functions | |
| procedure, pass(this) | init (this, json, fields, coef, variable_name) |
| Constructor from JSON. | |
| procedure, pass(this) | init_from_components (this, coef, fields, start_time, end_time, a, b, variable_name) |
| Constructor from components. | |
| procedure, pass(this) | free (this) |
| Destructor. | |
| procedure, pass(this) | compute_single (this, s) |
| Compute gradient jump penalty term. | |
| procedure, pass(this) | compute_ (this, time) |
| Perform gradient jump penalty term. | |
| procedure, pass(this) | init_base (this, fields, coef, start_time, end_time) |
| Constructor for the source_term_t (base) type. | |
| procedure, pass(this) | free_base (this) |
| Destructor for the source_term_t (base) type. | |
| procedure, pass(this) | compute (this, time) |
Executes compute_ based on time conditions. | |
| procedure(source_term_init), deferred, pass | init (this, json, fields, coef, variable_name) |
| The common constructor using a JSON object. | |
| procedure(source_term_free), deferred, pass | free (this) |
| Destructor. | |
| procedure(source_term_compute), deferred, pass | compute_ (this, time) |
Computes the source term and adds the result to fields. | |
Public Attributes | |
| type(field_list_t) | s_fields |
| The solution fields for which to apply the penalty. | |
| type(field_t), pointer | u |
| The x component of velocity. | |
| type(field_t), pointer | v |
| The y component of velocity. | |
| type(field_t), pointer | w |
| The z component of velocity. | |
| 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 |
| 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. | |
| type(field_list_t) | fields |
| The fields to be updated with the source term values. | |
| type(coef_t), pointer | coef => null() |
| Coefficients for the SEM. | |
| real(kind=rp) | start_time = 0.0_rp |
| Start time for adding the source term. | |
| real(kind=rp) | end_time = huge(0.0_rp) |
| End time for adding the source term. | |
Definition at line 69 of file gradient_jump_penalty.f90.
|
inherited |
| time | Time state. |
Definition at line 59 of file source_term.f90.
| procedure, pass(this) gradient_jump_penalty::gradient_jump_penalty_t::compute_ | ( | class(gradient_jump_penalty_t), intent(inout) | this, |
| type(time_state_t), intent(in) | time | ||
| ) |
| time | The time state. |
Definition at line 151 of file gradient_jump_penalty.f90.
|
pure virtualinherited |
Definition at line 65 of file source_term.f90.
| procedure, pass(this) gradient_jump_penalty::gradient_jump_penalty_t::compute_single | ( | class(gradient_jump_penalty_t), intent(inout) | this, |
| type(field_t), intent(in) | s | ||
| ) |
| s | Quantity of interest. |
Definition at line 148 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 146 of file gradient_jump_penalty.f90.
|
pure virtualinherited |
Definition at line 63 of file source_term.f90.
|
inherited |
Definition at line 57 of file source_term.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) | json, | ||
| type(field_list_t), intent(in), target | fields, | ||
| type(coef_t), intent(in), target | coef, | ||
| character(len=*), intent(in) | variable_name | ||
| ) |
| json | The JSON object for the source. |
| fields | A list of fields for adding the source values. |
| coef | The SEM coeffs. |
| a,b | Coefficients to determine tau |
| variable_name | The name of the variable for this source term. |
Definition at line 141 of file gradient_jump_penalty.f90.
|
pure virtualinherited |
Definition at line 61 of file source_term.f90.
|
inherited |
| fields | A list of pointers to fields to be updated by the source term. |
| coef | SEM coefs. |
| start_time | When to start adding the source term. |
| end_time | When to stop adding the source term. |
Definition at line 55 of file source_term.f90.
| procedure, pass(this) gradient_jump_penalty::gradient_jump_penalty_t::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 | ||
| ) |
| fields | A list of fields for adding the source values. |
| coef | The SEM coeffs. |
| a,b | Coefficients to determine tau |
| start_time | When to start adding the source term. |
| end_time | When to stop adding the source term. |
| variable_name | The name of the variable for this source term. |
Definition at line 143 of file gradient_jump_penalty.f90.
| real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::absvolflux |
Definition at line 112 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::absvolflux_d = C_NULL_PTR |
Definition at line 113 of file gradient_jump_penalty.f90.
Definition at line 48 of file source_term.f90.
| type(dofmap_t) gradient_jump_penalty::gradient_jump_penalty_t::dm_gjp |
Definition at line 132 of file gradient_jump_penalty.f90.
| real(kind=rp), dimension(:, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::dphidxi |
Definition at line 128 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::dphidxi_d = C_NULL_PTR |
Definition at line 129 of file gradient_jump_penalty.f90.
Definition at line 52 of file source_term.f90.
| real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::facet_factor |
Definition at line 120 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 121 of file gradient_jump_penalty.f90.
|
inherited |
Definition at line 46 of file source_term.f90.
| real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::flux1 |
Definition at line 101 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::flux1_d = C_NULL_PTR |
Definition at line 102 of file gradient_jump_penalty.f90.
| real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::flux2 |
Definition at line 101 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::flux2_d = C_NULL_PTR |
Definition at line 103 of file gradient_jump_penalty.f90.
| real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::flux3 |
Definition at line 101 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::flux3_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::g |
Definition at line 98 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::g_d = C_NULL_PTR |
Definition at line 99 of file gradient_jump_penalty.f90.
| real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::grad1 |
Definition at line 92 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::grad1_d = C_NULL_PTR |
Definition at line 94 of file gradient_jump_penalty.f90.
| real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::grad2 |
Definition at line 92 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::grad2_d = C_NULL_PTR |
Definition at line 95 of file gradient_jump_penalty.f90.
| real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::grad3 |
Definition at line 92 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::grad3_d = C_NULL_PTR |
Definition at line 96 of file gradient_jump_penalty.f90.
| type(gs_t) gradient_jump_penalty::gradient_jump_penalty_t::gs_gjp |
Definition at line 133 of file gradient_jump_penalty.f90.
| real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::h2 |
Definition at line 126 of file gradient_jump_penalty.f90.
| integer gradient_jump_penalty::gradient_jump_penalty_t::lx |
Definition at line 84 of file gradient_jump_penalty.f90.
| integer gradient_jump_penalty::gradient_jump_penalty_t::n |
Definition at line 135 of file gradient_jump_penalty.f90.
| real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::n1 |
Definition at line 115 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::n1_d = C_NULL_PTR |
Definition at line 116 of file gradient_jump_penalty.f90.
| real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::n2 |
Definition at line 115 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::n2_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::n3 |
Definition at line 115 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::n3_d = C_NULL_PTR |
Definition at line 118 of file gradient_jump_penalty.f90.
| integer, dimension(:), allocatable gradient_jump_penalty::gradient_jump_penalty_t::n_facet |
Definition at line 123 of file gradient_jump_penalty.f90.
| integer gradient_jump_penalty::gradient_jump_penalty_t::n_facet_max |
Definition at line 124 of file gradient_jump_penalty.f90.
| integer gradient_jump_penalty::gradient_jump_penalty_t::n_large |
Definition at line 137 of file gradient_jump_penalty.f90.
| integer gradient_jump_penalty::gradient_jump_penalty_t::p |
Definition at line 82 of file gradient_jump_penalty.f90.
| real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::penalty |
Definition at line 86 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::penalty_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::penalty_facet |
Definition at line 89 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 90 of file gradient_jump_penalty.f90.
| type(field_list_t) gradient_jump_penalty::gradient_jump_penalty_t::s_fields |
Definition at line 71 of file gradient_jump_penalty.f90.
Definition at line 50 of file source_term.f90.
Definition at line 80 of file gradient_jump_penalty.f90.
Definition at line 73 of file gradient_jump_penalty.f90.
Definition at line 75 of file gradient_jump_penalty.f90.
| real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::volflux1 |
Definition at line 106 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::volflux1_d = C_NULL_PTR |
Definition at line 108 of file gradient_jump_penalty.f90.
| real(kind=rp), dimension(:, :, :, :), allocatable gradient_jump_penalty::gradient_jump_penalty_t::volflux2 |
Definition at line 106 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::volflux2_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::volflux3 |
Definition at line 106 of file gradient_jump_penalty.f90.
| type(c_ptr) gradient_jump_penalty::gradient_jump_penalty_t::volflux3_d = C_NULL_PTR |
Definition at line 110 of file gradient_jump_penalty.f90.
Definition at line 77 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 131 of file gradient_jump_penalty.f90.