Neko
0.9.99
A portable framework for high-order spectral element flow simulations
|
Abstract class for handling source terms. More...
Public Member Functions | |
procedure, pass(this) | init_base => source_term_handler_init_base |
Constructor. More... | |
procedure, pass(this) | free => source_term_handler_free |
Destructor. More... | |
procedure, pass(this) | compute => source_term_handler_compute |
Add all the source terms to the passed right-hand side fields. More... | |
generic | add => add_source_term, add_json_source_terms |
Generic interface to add a source term to the list. More... | |
procedure, pass(this) | add_source_term => source_term_handler_add_source_term |
Append a new source term to the source_terms array. More... | |
procedure, pass(this) | add_json_source_terms => source_term_handler_add_json_source_terms |
Read from the json file and initialize the source terms. More... | |
procedure(source_term_handler_init_user_source), deferred, nopass | init_user_source |
Initialize the user source term. More... | |
Public Attributes | |
class(source_term_wrapper_t), dimension(:), allocatable | source_terms |
Array of ordinary source terms. More... | |
type(field_list_t) | rhs_fields |
The right-hand side. More... | |
type(coef_t), pointer | coef |
The coefficients of the (space, mesh) pair. More... | |
type(user_t), pointer | user |
The user object. More... | |
This class is responsible for managing the source terms and adding their contributions to the right-hand side fields. This serve as a common interface for fluid, scalar and other source terms.
In general, a derived class should implement the init_user_source
method to handle user-defined source terms and should manually implement an initializer which calls thisinit_base
.
Definition at line 63 of file source_term_handler.f90.
generic source_term_handler::source_term_handler_t::add |
Definition at line 81 of file source_term_handler.f90.
procedure, pass(this) source_term_handler::source_term_handler_t::add_json_source_terms |
Definition at line 86 of file source_term_handler.f90.
procedure, pass(this) source_term_handler::source_term_handler_t::add_source_term |
Definition at line 83 of file source_term_handler.f90.
procedure, pass(this) source_term_handler::source_term_handler_t::compute |
Definition at line 79 of file source_term_handler.f90.
procedure, pass(this) source_term_handler::source_term_handler_t::free |
Definition at line 77 of file source_term_handler.f90.
procedure, pass(this) source_term_handler::source_term_handler_t::init_base |
Definition at line 75 of file source_term_handler.f90.
procedure(source_term_handler_init_user_source), deferred, nopass source_term_handler::source_term_handler_t::init_user_source |
Definition at line 89 of file source_term_handler.f90.
type(coef_t), pointer source_term_handler::source_term_handler_t::coef |
Definition at line 69 of file source_term_handler.f90.
type(field_list_t) source_term_handler::source_term_handler_t::rhs_fields |
Definition at line 67 of file source_term_handler.f90.
class(source_term_wrapper_t), dimension(:), allocatable source_term_handler::source_term_handler_t::source_terms |
Definition at line 65 of file source_term_handler.f90.
type(user_t), pointer source_term_handler::source_term_handler_t::user |
Definition at line 71 of file source_term_handler.f90.