66 type(
field_t),
pointer,
intent(in) :: f_x, f_y, f_z
67 type(
coef_t),
target,
intent(in) :: coef
68 type(
user_t),
target,
intent(in) :: user
69 character(len=*),
intent(in) :: scheme_name
74 call rhs_fields%init(3)
75 call rhs_fields%assign(1, f_x)
76 call rhs_fields%assign(2, f_y)
77 call rhs_fields%assign(3, f_z)
79 call this%init_base(rhs_fields, coef,
user, scheme_name)
90 class(
source_term_t),
allocatable,
intent(inout) :: source_term
92 type(
coef_t),
intent(in) :: coef
93 type(
user_t),
intent(in) :: user
94 character(len=*),
intent(in) :: scheme_name
100 call source_term%init_from_components(rhs_fields, coef, &
101 user%source_term, scheme_name)
Implements the fluid_source_term_t type.
subroutine fluid_init_user_source(source_term, rhs_fields, coef, user, scheme_name)
Initialize the user source term.
subroutine fluid_source_term_init(this, f_x, f_y, f_z, coef, user, scheme_name)
Constructor.
Implements the source_term_handler_t type.
Implements the source_term_t type and a wrapper source_term_wrapper_t.
Interfaces for user interaction with NEKO.
Implements the user_source_term_t type.
Coefficients defined on a given (mesh, ) tuple. Arrays use indices (i,j,k,e): element e,...
field_list_t, To be able to group fields together
Wrapper contaning and executing the fluid source terms.
Base abstract type for source terms.
Abstract class for handling source terms.
A type collecting all the overridable user routines and flag to suppress type injection from custom m...
A source term wrapping the user source term routine. Stores fields that are passed to the user routin...