Neko  0.8.99
A portable framework for high-order spectral element flow simulations
source_term_handler::source_term_handler_t Type Reference

Abstract class for handling source terms. More...

Inheritance diagram for source_term_handler::source_term_handler_t:
Collaboration diagram for source_term_handler::source_term_handler_t:

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_trhs_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...
 

Detailed Description

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 61 of file source_term_handler.f90.

Member Function/Subroutine Documentation

◆ add()

generic source_term_handler::source_term_handler_t::add

Definition at line 79 of file source_term_handler.f90.

◆ add_json_source_terms()

procedure, pass(this) source_term_handler::source_term_handler_t::add_json_source_terms

Definition at line 84 of file source_term_handler.f90.

◆ add_source_term()

procedure, pass(this) source_term_handler::source_term_handler_t::add_source_term

Definition at line 81 of file source_term_handler.f90.

◆ compute()

procedure, pass(this) source_term_handler::source_term_handler_t::compute

Definition at line 77 of file source_term_handler.f90.

◆ free()

procedure, pass(this) source_term_handler::source_term_handler_t::free

Definition at line 75 of file source_term_handler.f90.

◆ init_base()

procedure, pass(this) source_term_handler::source_term_handler_t::init_base

Definition at line 73 of file source_term_handler.f90.

◆ init_user_source()

procedure(source_term_handler_init_user_source), deferred, nopass source_term_handler::source_term_handler_t::init_user_source

Definition at line 87 of file source_term_handler.f90.

Member Data Documentation

◆ coef

type(coef_t), pointer source_term_handler::source_term_handler_t::coef

Definition at line 67 of file source_term_handler.f90.

◆ rhs_fields

type(field_list_t) source_term_handler::source_term_handler_t::rhs_fields

Definition at line 65 of file source_term_handler.f90.

◆ source_terms

class(source_term_wrapper_t), dimension(:), allocatable source_term_handler::source_term_handler_t::source_terms

Definition at line 63 of file source_term_handler.f90.

◆ user

type(user_t), pointer source_term_handler::source_term_handler_t::user

Definition at line 69 of file source_term_handler.f90.


The documentation for this type was generated from the following file: