applySrc_force1stOrd Subroutine

public subroutine applySrc_force1stOrd(fun, inState, outState, neigh, auxField, nPdfSize, iLevel, varSys, time, phyConvFac, derVarPos)

Update state with source variable "force_1stOrd" Force term used here is from: "A D3Q27 multiple-relaxation-time lattice Boltzmann method for turbulent flows", K. Suga, Y. Kuwata, K. Takashima, R. Chikasue

Force must be defined as body force per unit volume This force term can be applied for both compressible and incompressible LBM models

Similar to derive routine but it updates the state whereas derive is used for tracking

This subroutine's interface must match the abstract interface definition proc_apply_source in derived/mus_source_var_module.f90 in order to be callable via applySrc function pointer.

Arguments

TypeIntentOptionalAttributesName
class(mus_source_op_type), intent(in) :: fun

Description of method to apply source terms

real(kind=rk), intent(in) :: inState(:)

input pdf vector

real(kind=rk), intent(inout) :: outState(:)

output pdf vector

integer, intent(in) :: neigh(:)

connectivity Array corresponding to state vector

real(kind=rk), intent(in) :: auxField(:)

auxField array

integer, intent(in) :: nPdfSize

number of elements in state Array

integer, intent(in) :: iLevel

current level

type(tem_varSys_type), intent(in) :: varSys

variable system

type(tem_time_type), intent(in) :: time

Point in time at which to evaluate the variable.

type(mus_convertFac_type), intent(in) :: phyConvFac

Physics conversion factor for current level

type(mus_derVarPos_type), intent(in) :: derVarPos(:)

position of derived quantities in varsys


Contents


Variables

TypeVisibilityAttributesNameInitial
type(mus_varSys_data_type), private, pointer:: fPtr
type(mus_scheme_type), private, pointer:: scheme
real(kind=rk), private :: forceField(fun%elemLvl(iLevel)%nElems*3)
real(kind=rk), private :: FF_elem(3)
real(kind=rk), private :: forceTerm
integer, private :: nElems
integer, private :: iElem
integer, private :: iDir
integer, private :: QQ
integer, private :: nScalars
integer, private :: posInTotal