Loading [MathJax]/extensions/tex2jax.js
Neko 0.9.99
A portable framework for high-order spectral element flow simulations
All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Pages
source_term Module Reference

Implements the source_term_t type and a wrapper source_term_wrapper_t.

Data Types

type  allocator_entry
 Called in user modules to add an allocator for custom types. More...
 
interface  source_term_allocate
 Source term factory. Both constructs and initializes the object. More...
 
interface  source_term_compute
 Computes the source term and adds the result to fields. More...
 
interface  source_term_free
 Destructor. More...
 
interface  source_term_init
 The common constructor using a JSON object. More...
 
type  source_term_t
 Base abstract type for source terms. More...
 
type  source_term_wrapper_t
 A helper type that is needed to have an array of polymorphic objects. More...
 

Functions/Subroutines

subroutine source_term_init_base (this, fields, coef, start_time, end_time)
 Constructor for the source_term_t (base) type.
 
subroutine source_term_free_base (this)
 Destructor for the source_term_t (base) type.
 
subroutine source_term_wrapper_free (this)
 Destructor for the source_term_wrapper_t type.
 
subroutine source_term_compute_wrapper (this, t, tstep)
 Executes compute_ based on time conditions.
 

Variables

type(allocator_entry), dimension(:), allocatable source_term_registry
 Registry of source term allocators for user-defined types.
 
integer source_term_registry_size = 0
 The size of the source_term_registry
 

Function/Subroutine Documentation

◆ source_term_compute_wrapper()

subroutine source_term::source_term_compute_wrapper ( class(source_term_t), intent(inout this,
real(kind=rp), intent(in t,
integer, intent(in tstep 
)
private
Parameters
tTime value.
tstepCurrent time step.

Definition at line 225 of file source_term.f90.

◆ source_term_free_base()

subroutine source_term::source_term_free_base ( class(source_term_t), intent(inout this)
private

Definition at line 204 of file source_term.f90.

◆ source_term_init_base()

subroutine source_term::source_term_init_base ( class(source_term_t), intent(inout this,
type(field_list_t fields,
type(coef_t), intent(in), target  coef,
real(kind=rp), intent(in start_time,
real(kind=rp), intent(in end_time 
)
private
Parameters
fieldsA list of pointers to fields to be updated by the source term.
coefSEM coefs.
start_timeWhen to start adding the source term.
end_timeWhen to stop adding the source term.

Definition at line 181 of file source_term.f90.

◆ source_term_wrapper_free()

subroutine source_term::source_term_wrapper_free ( class(source_term_wrapper_t), intent(inout this)
private

Definition at line 212 of file source_term.f90.

Variable Documentation

◆ source_term_registry

type(allocator_entry), dimension(:), allocatable source_term::source_term_registry

Definition at line 165 of file source_term.f90.

◆ source_term_registry_size

integer source_term::source_term_registry_size = 0
private

Definition at line 168 of file source_term.f90.