applySrc_force_MRT_d3q27 Subroutine

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

Update state with source variable "force" for MRT collision model. Force term used here is from: Chai, Z., & Zhao, T. (2012). Effect of the forcing term in the multiple-relaxation-time lattice Boltzmann equation on the shear stress or the strain rate tensor. Physical Review E, 86(1), 1–11. Force term for MRT is and

\vec{F} is the force that must be defined as body force per unit volume

Simuilar 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

Type IntentOptional Attributes Name
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


Calls

proc~~applysrc_force_mrt_d3q27~~CallsGraph proc~applysrc_force_mrt_d3q27 applySrc_force_MRT_d3q27 a a proc~applysrc_force_mrt_d3q27->a auxfield_varpos auxfield_varpos proc~applysrc_force_mrt_d3q27->auxfield_varpos get_valofindex get_valofindex proc~applysrc_force_mrt_d3q27->get_valofindex val val proc~applysrc_force_mrt_d3q27->val