Abstract Interfaces

Abstract InterfaceLocationDescription
boundaryRoutinemus_bc_header_module

This abstract interface defines the interface for boundary routines. All boundary routines that need to be called via fnct function pointer need to implement this interface. In case of new boundary routines, mark them with a comment reffering to fnct in order to find the routine in case the interface needs to be changed.

computationmus_control_module

Interface describes the main control routine which does computation set boundary and check flow status

derive_auxFromStatemus_derVarPos_module

Derive auxField from local state. \todo KM: pass external force to add to auxField

derive_auxFromStateFuncmus_derVarPos_module

Derive auxField from state for single element

derive_equilFromAuxmus_derVarPos_module

Derive equilibrium from auxField for given nelems

derive_equilFromAuxFuncmus_derVarPos_module

Derive equilibrium from auxField for single element

derive_FromMacromus_derVarPos_module

interface to derive equilibrium from macro. Mainly used in initial condition and boundary condition routines to avoid dublication of routines between different scheme kinds. In this interface, solver definition can be access via varSys%method%val(1)%method_data c_ptr

derive_FromPreColStatemus_derVarPos_module

Interface that takes state array as input calculate density, velocity or eq as output from FETCH state i.e. precollision state State should be AOS layout

derive_FromStatemus_derVarPos_module

Interface that takes state array as input calculate density, velocity or eq as output State should be AOS layout

getGradRhoU3mus_gradData_module

function pointers to obtain grad Rho * U^3 along main directions

getGradRhoUVZmus_gradData_module

function pointers to obtain grad Rho * u_x * u_y * u_z along main directions

getGradUmus_gradData_module

function pointers to obtain full gradient of U along all directions

getGradXXUmus_gradData_module

function pointers to obtain full gradient of U along main directions derived two times d^2U/dx^2

intpRoutinemus_interpolate_header_module

This is the interface for all interpolation methods that

intpRoutine_arbitraryValmus_interpolate_header_module

This is the interface for all interpolation methods that

kernelmus_scheme_type_module

The common subroutine interface for compute kernels. All kernels have to implement this interface in order to be callable via mus_scheme_type%compute function pointer.

mus_derive_fromPDFmus_varSys_module

This interface describes the arguments to be used for routines that do the derivation of variables from the variable system.

mus_proc_calcAuxFieldmus_auxField_module

Interface to compute auxField vars i.e. conserved macroscopic moments from pre-collision PDF for fluid and ghostFromCoarser. auxField on GhostFromFiner elements are interpolated and halo elements are exchanged For Multicomponent models: in calcAuxField function, the velocity is computed on transformed PDF such that force term can be added to it in addSrcToAuxField routine. The auxField is updated with correct velocity field in compute kernel i.e. velocity of original PDF is obtained by solving linear equation system in compute kernel

mus_proc_calcBndForcemus_bc_header_module

This abstract interface defines the interface for bndForce calculation. calcBndForce in order to find the routine in case the interface needs to be changed.

mus_proc_calcFricVelmus_turb_wallFunc_module

This abstract interface defines the interface to calculate turbulent wall friction velocity from given velocity and distance to boundary. All inputs and output are in lattice units.

mus_proc_calcStreamWiseVelmus_turb_wallFunc_module

This abstract interface defines the interface to calculate stream-wise velocity component from friction velocity and distance to boundary. All inputs and output are in lattice units.

mus_proc_mrtmus_mrtRelaxation_module

function pointers to obtain relaxation matrix for MRT collision operator

proc_addSrcToAuxFieldmus_source_type_module

Interface to add source to auxField vars in source_op_type for all nSolve elements (nFluids+nGhostFromCoarser+nGhostFromFiner). Halo elements are exchanged

proc_apply_sourcemus_source_type_module

Abstract interface to update state with source terms

proc_calc_nNwtn_visc_fromPreColPDFmus_nonNewtonian_module
proc_calc_turb_visc_fromGradUmus_turbulence_module

This function computes turbulent viscosity from gradient U

proc_calc_turb_visc_fromPreColPDFmus_turbulence_module

This function compute turbulent viscosity from pre-collision PDF

proc_updateSourceVarmus_source_type_module

Interface to update source variable which has dependency on auxField. Applied on all nSolve elements (nFluids+nGhostFromCoarser+nGhostFromFiner). Halo elements are exchanged This should be called after adding sorce term to state so that both auxField and apply_source uses same source value in one multilevel cycle.