|
Neko 1.99.9
A portable framework for high-order spectral element flow simulations
|
Wrapper contaning and executing the scalar source terms. More...


Public Member Functions | |
| procedure, pass(this) | init (this, f, coef, user, scheme_name) |
| Constructor. | |
| procedure, pass(this) | init_base (this, rhs_fields, coef, user, scheme_name) |
| Constructor. | |
| procedure, pass(this) | free (this) |
| Destructor. | |
| procedure, pass(this) | compute (this, time, extrapolate, scale) |
| Add source terms to the right-hand side fields. | |
| generic | add (this, source_term) |
| Generic interface to add a source term to the list. | |
| generic | add (this, json, name) |
| Generic interface to add a source term to the list. | |
| procedure, pass(this) | add_source_term (this, source_term) |
| Append a new source term to the source_terms array. | |
| procedure, pass(this) | add_json_source_terms (this, json, name) |
| Read from the json file and initialize the source terms. | |
Static Public Member Functions | |
| procedure, nopass | init_user_source (source_term, rhs_fields, coef, user, scheme_name) |
| Initialize the user source term. | |
Public Attributes | |
| class(source_term_wrapper_t), dimension(:), allocatable | source_terms |
| Array of ordinary source terms. | |
| type(field_list_t) | rhs_fields |
| The right-hand side. | |
| type(coef_t), pointer | coef |
| The coefficients of the (space, mesh) pair. | |
| type(user_t), pointer | user |
| The user object. | |
| character(len=:), allocatable | scheme_name |
| The name of the scheme that owns this source term handler. | |
| integer | n_unextrapolated = 0 |
| Number of source terms that are not extrapolated in time, counted when the terms are added. | |
Exists mainly to keep the scalar_scheme_t type smaller and also as placeholder for future optimizations.
Definition at line 50 of file scalar_source_term.f90.
|
inherited |
Definition at line 87 of file source_term_handler.f90.
|
inherited |
| source_term | The source term to be added. |
Definition at line 87 of file source_term_handler.f90.
|
inherited |
Definition at line 92 of file source_term_handler.f90.
|
inherited |
| source_term | The source term to be added. |
Definition at line 89 of file source_term_handler.f90.
|
inherited |
The source terms whose extrapolate attribute equals extrapolate are summed and multiplied by the mass matrix and, if present, by scale. For .true. the result replaces the right-hand side, for .false. it is added to it. A scheme that extrapolates its explicit terms in time calls the .true. form before and the .false. form after the extrapolation, so that the latter terms enter the step as computed.
| time | The time state. |
| extrapolate | Select the terms by their extrapolate attribute. |
| scale | Field multiplying the contributions, e.g. the density. |
Definition at line 85 of file source_term_handler.f90.
|
inherited |
Definition at line 83 of file source_term_handler.f90.
| procedure, pass(this) scalar_source_term::scalar_source_term_t::init | ( | class(scalar_source_term_t), intent(inout) | this, |
| type(field_t), intent(in), pointer | f, | ||
| type(coef_t), intent(in), target | coef, | ||
| type(user_t), intent(in), target | user, | ||
| character(len=*), intent(in) | scheme_name | ||
| ) |
Definition at line 54 of file scalar_source_term.f90.
|
inherited |
Definition at line 81 of file source_term_handler.f90.
|
staticvirtual |
| source_term | The allocatable source term to be initialized to a user. |
| rhs_fields | The field list with the right-hand-side. |
| coef | The SEM coefs. "user_poinwise". |
| user | The user type containing the user source term routines. |
| scheme_name | The name of the scalar scheme that owns this source term. |
Implements source_term_handler::source_term_handler_t.
Definition at line 56 of file scalar_source_term.f90.
Definition at line 70 of file source_term_handler.f90.
|
inherited |
Definition at line 77 of file source_term_handler.f90.
|
inherited |
Definition at line 68 of file source_term_handler.f90.
|
inherited |
Definition at line 74 of file source_term_handler.f90.
|
inherited |
Definition at line 66 of file source_term_handler.f90.
Definition at line 72 of file source_term_handler.f90.