Neko  0.9.0
A portable framework for high-order spectral element flow simulations
fluid_user_source_term Module Reference

Implements the fluid_user_source_term_t type.

Data Types

type  fluid_user_source_term_t
 A source-term for the fluid, with procedure pointers pointing to the actual implementation in the user file. More...
 
interface  fluid_source_compute_vector
 Computes the source term and adds the result to fields. More...
 
interface  fluid_source_compute_pointwise
 Computes the source term at a single point. More...
 

Functions/Subroutines

subroutine fluid_user_source_term_init (this, json, fields, coef)
 Costructor from JSON. More...
 
subroutine fluid_user_source_term_init_from_components (this, fields, coef, source_term_type, eval_vector, eval_pointwise)
 Costructor from components. More...
 
subroutine fluid_user_source_term_free (this)
 Destructor. More...
 
subroutine fluid_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

◆ fluid_user_source_term_compute()

subroutine fluid_user_source_term::fluid_user_source_term_compute ( class(fluid_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 221 of file fluid_user_source_term.f90.

Here is the call graph for this function:

◆ fluid_user_source_term_free()

subroutine fluid_user_source_term::fluid_user_source_term_free ( class(fluid_user_source_term_t), intent(inout)  this)
private

Definition at line 200 of file fluid_user_source_term.f90.

Here is the call graph for this function:

◆ fluid_user_source_term_init()

subroutine fluid_user_source_term::fluid_user_source_term_init ( class(fluid_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 134 of file fluid_user_source_term.f90.

◆ fluid_user_source_term_init_from_components()

subroutine fluid_user_source_term::fluid_user_source_term_init_from_components ( class(fluid_user_source_term_t), intent(inout)  this,
type(field_list_t), intent(inout), target  fields,
type(coef_t), intent(inout), target  coef,
character(len=*)  source_term_type,
procedure(fluid_source_compute_vector), optional  eval_vector,
procedure(fluid_source_compute_pointwise), optional  eval_pointwise 
)
private
Parameters
fieldsA list of 3 fields for adding the source values.
coefThe SEM coeffs.
sourc_termtypeThe 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 151 of file fluid_user_source_term.f90.

Here is the call graph for this function:

◆ pointwise_eval_driver()

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

Definition at line 245 of file fluid_user_source_term.f90.

Here is the caller graph for this function: