Neko  0.9.99
A portable framework for high-order spectral element flow simulations
scalar_user_source_term Module Reference

Implements the scalar_user_source_term_t type.

Data Types

type  scalar_user_source_term_t
 A source-term for the scalar, with procedure pointers pointing to the actual implementation in the user file. More...
 
interface  scalar_source_compute_vector
 Computes the source term and adds the result to fields. More...
 
interface  scalar_source_compute_pointwise
 Computes the source term at a single point. More...
 

Functions/Subroutines

subroutine scalar_user_source_term_init (this, json, fields, coef)
 Constructor from JSON. More...
 
subroutine scalar_user_source_term_init_from_components (this, fields, coef, source_term_type, eval_vector, eval_pointwise)
 Constructor from components. More...
 
subroutine scalar_user_source_term_free (this)
 Destructor. More...
 
subroutine scalar_user_source_term_compute (this, t, tstep)
 Computes the source term and adds the result to fields. More...
 
subroutine pointwise_eval_driver (this, t)
 Driver for all pointwise source term evaluatons. More...
 

Function/Subroutine Documentation

◆ pointwise_eval_driver()

subroutine scalar_user_source_term::pointwise_eval_driver ( class(scalar_user_source_term_t), intent(inout)  this,
real(kind=rp), intent(in)  t 
)
private
Parameters
tThe time value.

Definition at line 218 of file scalar_user_source_term.f90.

Here is the caller graph for this function:

◆ scalar_user_source_term_compute()

subroutine scalar_user_source_term::scalar_user_source_term_compute ( class(scalar_user_source_term_t), intent(inout)  this,
real(kind=rp), intent(in)  t,
integer, intent(in)  tstep 
)
private
Parameters
tThe time value.
tstepThe current time-step.

Definition at line 198 of file scalar_user_source_term.f90.

Here is the call graph for this function:

◆ scalar_user_source_term_free()

subroutine scalar_user_source_term::scalar_user_source_term_free ( class(scalar_user_source_term_t), intent(inout)  this)
private

Definition at line 181 of file scalar_user_source_term.f90.

Here is the call graph for this function:

◆ scalar_user_source_term_init()

subroutine scalar_user_source_term::scalar_user_source_term_init ( class(scalar_user_source_term_t), intent(inout)  this,
type(json_file), intent(inout)  json,
type(field_list_t), intent(inout), target  fields,
type(coef_t), intent(inout), target  coef 
)
private

This will throw, as the user source term should be initialized directly from components.

Definition at line 122 of file scalar_user_source_term.f90.

◆ scalar_user_source_term_init_from_components()

subroutine scalar_user_source_term::scalar_user_source_term_init_from_components ( class(scalar_user_source_term_t), intent(inout)  this,
type(field_list_t), intent(inout), target  fields,
type(coef_t), intent(inout)  coef,
character(len=*)  source_term_type,
procedure(scalar_source_compute_vector), optional  eval_vector,
procedure(scalar_source_compute_pointwise), optional  eval_pointwise 
)
private
Parameters
fieldsA list with 1 field for adding the source values.
coefThe SEM coeffs.
sourc_term_typeThe type of the user source term, "user_vector" or "user_pointwise".
eval_vectorThe procedure to vector-compute the source term.
eval_pointwiseThe procedure to pointwise-compute the source term.

Definition at line 140 of file scalar_user_source_term.f90.

Here is the call graph for this function: