| 
    Neko 1.99.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, 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.