mus_source_op_type Derived Type

type, public :: mus_source_op_type

Description contains list of elements on which source is active and function pointer to update source


Inherits

type~~mus_source_op_type~~InheritsGraph type~mus_source_op_type mus_source_op_type type~mus_source_elems_type mus_source_elems_type type~mus_source_op_type->type~mus_source_elems_type elemLvl type~mus_turbchannelforce_type mus_turbChannelForce_type type~mus_source_op_type->type~mus_turbchannelforce_type turbChanForce type~mus_absorblayer_type mus_absorbLayer_type type~mus_source_op_type->type~mus_absorblayer_type absLayer type~mus_absorblayer_dynavg_type mus_absorbLayer_dynAvg_type type~mus_source_elems_type->type~mus_absorblayer_dynavg_type dynAvg type~mus_hrrcorrectionterm_type mus_HRRCorrectionTerm_type type~mus_source_elems_type->type~mus_hrrcorrectionterm_type HRR_Corr type~tem_shape_type tem_shape_type type~mus_turbchannelforce_type->type~tem_shape_type geom_utau, geom_umean type~tem_subtree_type tem_subTree_type type~mus_turbchannelforce_type->type~tem_subtree_type subTree_utau, subTree_umean type~absorblayer_config_type absorbLayer_config_type type~mus_absorblayer_type->type~absorblayer_config_type config

Inherited by

type~~mus_source_op_type~~InheritedByGraph type~mus_source_op_type mus_source_op_type type~mus_source_type mus_source_type type~mus_source_type->type~mus_source_op_type method type~mus_field_type mus_field_type type~mus_field_type->type~mus_source_type source type~mus_scheme_type mus_scheme_type type~mus_scheme_type->type~mus_source_type globSrc type~mus_scheme_type->type~mus_field_type field type~mus_varsys_solverdata_type mus_varSys_solverData_type type~mus_varsys_solverdata_type->type~mus_scheme_type scheme type~mus_varsys_data_type mus_varSys_data_type type~mus_varsys_data_type->type~mus_varsys_solverdata_type solverData

Contents


Components

TypeVisibilityAttributesNameInitial
integer, private :: srcTerm_varPos

Position of this source term variable in the varSys

integer, private :: data_varPos

Position of data variable provided in config file in the varSys

type(mus_source_elems_type), private, allocatable:: elemLvl(:)

Contains source elements position in state array/total list for each level

procedure(proc_apply_source), private, pointer:: applySrc=> null()

Function to update state with source term

character(len=labelLen), private :: varname

to use source field array name of the source variable

procedure(proc_addSrcToAuxField), private, pointer:: addSrcToAuxField=> null()

Function pointer to append source field to auxilary variable

procedure(proc_updateSourceVar), private, pointer:: updateSourceVar=> null()

Function pointer to update source variable which are dependent on auxField.

integer, private :: order

Order of approximation for source like force, electric_field, charge_density. Order = 1, uses force term in BE approximated by forward Euler method Order = 2, uses force term in BE approximated by Trapezoidal method. For order 2, macroscopic source is also added to auxField. For fluid, fluid_incompressible, multispecies_liquid: source is added to momentum and for poisson: source is added to potential. Default: order = 2.

type(mus_absorbLayer_type), private :: absLayer

Additional config information for absorbLayer

type(mus_turbChannelForce_type), private :: turbChanForce

Contains information to compute average bulk velocity for dynamic_force