Neko 1.99.1
A portable framework for high-order spectral element flow simulations
|
A source term wrapping the user source term routine. Stores fields that are passed to the user routine so tha the user routine never touches the actual RHS fields directly. More...
Public Member Functions | |
procedure, pass(this) | init (this, json, fields, coef, variable_name) |
Constructor from JSON (will throw!). | |
procedure, pass(this) | init_from_components (this, fields, coef, user_proc, scheme_name) |
Constructor from components. | |
procedure, pass(this) | free (this) |
Destructor. | |
procedure, pass(this) | compute_ (this, time) |
Computes the source term and adds the result to fields . | |
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 | |
character(len=:), allocatable | scheme_name |
The name of the scheme that owns this source term. | |
type(dofmap_t), pointer | dof |
Pointer to the dofmap of the right-hand-side fields. | |
type(field_list_t) | user_fields |
Field list passed to the user source term routine. The values are then added to thisfields, i.e. the actual RHS. | |
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. | |
Static Public Attributes | |
procedure(user_source_term_intf), pointer, nopass | compute_user_ => null() |
Compute the source term for the entire boundary. | |
Definition at line 58 of file user_source_term.f90.
|
inherited |
time | Time state. |
Definition at line 59 of file source_term.f90.
|
pure virtualinherited |
Definition at line 65 of file source_term.f90.
procedure, pass(this) user_source_term::user_source_term_t::compute_ | ( | class(user_source_term_t), intent(inout) | this, |
type(time_state_t), intent(in) | time | ||
) |
time | The time state. |
Definition at line 78 of file user_source_term.f90.
|
pure virtualinherited |
Definition at line 63 of file source_term.f90.
procedure, pass(this) user_source_term::user_source_term_t::free | ( | class(user_source_term_t), intent(inout) | this | ) |
Definition at line 76 of file user_source_term.f90.
|
inherited |
Definition at line 57 of file source_term.f90.
|
pure virtualinherited |
Definition at line 61 of file source_term.f90.
procedure, pass(this) user_source_term::user_source_term_t::init | ( | class(user_source_term_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 | ||
) |
This will throw, as the user source term should be initialized directly from components.
Definition at line 71 of file user_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) user_source_term::user_source_term_t::init_from_components | ( | class(user_source_term_t), intent(inout) | this, |
type(field_list_t), intent(in), target | fields, | ||
type(coef_t), intent(in), target | coef, | ||
procedure(user_source_term_intf) | user_proc, | ||
character(len=*), intent(in) | scheme_name | ||
) |
fields | A list of 3 fields for adding the source values. |
coef | The SEM coeffs. |
user_proc | The procedure user procedure to compute the source term. |
scheme_name | The name of the scheme that owns this source term. |
Definition at line 73 of file user_source_term.f90.
Definition at line 48 of file source_term.f90.
|
static |
Definition at line 67 of file user_source_term.f90.
Definition at line 62 of file user_source_term.f90.
Definition at line 52 of file source_term.f90.
|
inherited |
Definition at line 46 of file source_term.f90.
character(len=:), allocatable user_source_term::user_source_term_t::scheme_name |
Definition at line 60 of file user_source_term.f90.
Definition at line 50 of file source_term.f90.
type(field_list_t) user_source_term::user_source_term_t::user_fields |
Definition at line 65 of file user_source_term.f90.