Neko 1.99.9
A portable framework for high-order spectral element flow simulations
Loading...
Searching...
No Matches
source_term_handler Module Reference

Implements the source_term_handler_t type.

Data Types

interface  source_term_handler_init_user_source
 
type  source_term_handler_t
 Abstract class for handling source terms. More...
 

Functions/Subroutines

subroutine source_term_handler_init_base (this, rhs_fields, coef, user, scheme_name)
 Constructor.
 
subroutine source_term_handler_free (this)
 Destructor.
 
subroutine source_term_handler_compute (this, time, extrapolate, scale)
 Add source terms to the right-hand side fields.
 
subroutine source_term_handler_count_unextrapolated (this)
 Count the source terms that are not extrapolated in time.
 
subroutine source_term_handler_add_json_source_terms (this, json, name)
 Read from the json file and initialize the source terms.
 
subroutine source_term_handler_add_source_term (this, source_term)
 Add new source term to the list.
 

Function/Subroutine Documentation

◆ source_term_handler_add_json_source_terms()

subroutine source_term_handler::source_term_handler_add_json_source_terms ( class(source_term_handler_t), intent(inout)  this,
type(json_file), intent(inout)  json,
character(len=*), intent(in)  name 
)
private

Definition at line 252 of file source_term_handler.f90.

Here is the call graph for this function:

◆ source_term_handler_add_source_term()

subroutine source_term_handler::source_term_handler_add_source_term ( class(source_term_handler_t), intent(inout)  this,
class(source_term_t), intent(in)  source_term 
)
private
Parameters
source_termThe source term to be added.

Definition at line 312 of file source_term_handler.f90.

Here is the call graph for this function:

◆ source_term_handler_compute()

subroutine source_term_handler::source_term_handler_compute ( class(source_term_handler_t), intent(inout)  this,
type(time_state_t), intent(in)  time,
logical, intent(in)  extrapolate,
type(field_t), intent(in), optional  scale 
)
private

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.

Parameters
timeThe time state.
extrapolateSelect the terms by their extrapolate attribute.
scaleField multiplying the contributions, e.g. the density.

Definition at line 168 of file source_term_handler.f90.

Here is the call graph for this function:

◆ source_term_handler_count_unextrapolated()

subroutine source_term_handler::source_term_handler_count_unextrapolated ( class(source_term_handler_t), intent(inout)  this)
private

Definition at line 236 of file source_term_handler.f90.

Here is the caller graph for this function:

◆ source_term_handler_free()

subroutine source_term_handler::source_term_handler_free ( class(source_term_handler_t), intent(inout)  this)
private

Definition at line 134 of file source_term_handler.f90.

◆ source_term_handler_init_base()

subroutine source_term_handler::source_term_handler_init_base ( class(source_term_handler_t), intent(inout)  this,
type(field_list_t), intent(in)  rhs_fields,
type(coef_t), intent(in), target  coef,
type(user_t), intent(in), target  user,
character(len=*), intent(in)  scheme_name 
)
private

Definition at line 114 of file source_term_handler.f90.