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


Components

Type Visibility Attributes Name Initial
integer, public :: srcTerm_varPos

Position of this source term variable in the varSys

integer, public :: data_varPos

Position of data variable provided in config file in the varSys

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

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

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

Function to update state with source term

character(len=labelLen), public :: varname

to use source field array name of the source variable

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

Function pointer to append source field to auxilary variable

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

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

integer, public :: 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), public :: absLayer

Additional config information for absorbLayer

type(mus_turbChannelForce_type), public :: turbChanForce

Contains information to compute average bulk velocity for dynamic_force