mrt_advRel_d3q19_incomp Subroutine

public subroutine mrt_advRel_d3q19_incomp(fieldProp, inState, outState, auxField, neigh, nElems, nSolve, level, layout, params, varSys, derVarPos)

Advection relaxation routine for the MRT model. This routine has roughly 205 FLOPS per element.

This subroutine interface must match the abstract interface definition kernel in scheme/mus_scheme_type_module.f90 in order to be callable via compute function pointer.

First load all local values into temp array

Arguments

TypeIntentOptionalAttributesName
type(mus_field_prop_type), intent(in) :: fieldProp(:)

Array of field properties (fluid or species)

real(kind=rk), intent(in) :: inState(nElems*varSys%nScalars)

input pdf vector

real(kind=rk), intent(out) :: outState(nElems*varSys%nScalars)

output pdf vector

real(kind=rk), intent(inout) :: auxField(nElems*varSys%nAuxScalars)

Auxiliary field computed from pre-collision state Is updated with correct velocity field for multicomponent models

integer, intent(in) :: neigh(nElems*layout%fStencil%QQ)

connectivity vector

integer, intent(in) :: nElems

number of elements in state Array

integer, intent(in) :: nSolve

number of elements solved in kernel

integer, intent(in) :: level

current level

type(mus_scheme_layout_type), intent(in) :: layout

current layout

type(mus_param_type), intent(in) :: params

global parameters

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

variable system definition

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

position of derived quantities in varsys for all fields


Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iElem
real(kind=rk), private :: fN00
real(kind=rk), private :: f0N0
real(kind=rk), private :: f00N
real(kind=rk), private :: f100
real(kind=rk), private :: f010
real(kind=rk), private :: f001
real(kind=rk), private :: f0NN
real(kind=rk), private :: f0N1
real(kind=rk), private :: f01N
real(kind=rk), private :: f011
real(kind=rk), private :: fN0N
real(kind=rk), private :: f10N
real(kind=rk), private :: fN01
real(kind=rk), private :: f101
real(kind=rk), private :: fNN0
real(kind=rk), private :: fN10
real(kind=rk), private :: f1N0
real(kind=rk), private :: f110
real(kind=rk), private :: f000
real(kind=rk), private :: u_x
real(kind=rk), private :: u_y
real(kind=rk), private :: u_z
real(kind=rk), private :: meq2
real(kind=rk), private :: meq10
real(kind=rk), private :: meq12
real(kind=rk), private :: m2
real(kind=rk), private :: m6
real(kind=rk), private :: m8
real(kind=rk), private :: m14
real(kind=rk), private :: m15
real(kind=rk), private :: m16
real(kind=rk), private :: mout1
real(kind=rk), private :: mout2
real(kind=rk), private :: mout3
real(kind=rk), private :: mout5
real(kind=rk), private :: mout7
real(kind=rk), private :: mout9
real(kind=rk), private :: mout10
real(kind=rk), private :: mout11
real(kind=rk), private :: mout12
real(kind=rk), private :: mout13
real(kind=rk), private :: mout14
real(kind=rk), private :: mout15
real(kind=rk), private :: mout16
real(kind=rk), private :: mout17
real(kind=rk), private :: mout18
real(kind=rk), private :: mout19
real(kind=rk), private :: sum1
real(kind=rk), private :: sum2
real(kind=rk), private :: sum3
real(kind=rk), private :: sum4
real(kind=rk), private :: sum5
real(kind=rk), private :: sum6
real(kind=rk), private :: sum7
real(kind=rk), private :: sum8
real(kind=rk), private :: sum9
real(kind=rk), private :: sum10
real(kind=rk), private :: sum11
real(kind=rk), private :: sum12
real(kind=rk), private :: sum13
real(kind=rk), private :: sum14
real(kind=rk), private :: sum15
real(kind=rk), private :: c0
real(kind=rk), private :: c1
real(kind=rk), private :: c2
real(kind=rk), private :: c3
real(kind=rk), private :: c4
real(kind=rk), private :: c5
real(kind=rk), private :: c6
real(kind=rk), private :: mout5_4
real(kind=rk), private :: mout7_4
real(kind=rk), private :: mout9_4
real(kind=rk), private :: sum_c1_c2
real(kind=rk), private :: sub_c1_c2
real(kind=rk), private :: sum_5_17
real(kind=rk), private :: sub_7_18
real(kind=rk), private :: d1
real(kind=rk), private :: d2
real(kind=rk), private :: d3
real(kind=rk), private :: d4
real(kind=rk), private :: sum_9_19
real(kind=rk), private :: sub_5_17
real(kind=rk), private :: e1
real(kind=rk), private :: e2
real(kind=rk), private :: e3
real(kind=rk), private :: e4
real(kind=rk), private :: sum_7_18
real(kind=rk), private :: sub_9_19
real(kind=rk), private :: g1
real(kind=rk), private :: g2
real(kind=rk), private :: g3
real(kind=rk), private :: g4
integer, private :: dens_pos
integer, private :: vel_pos(3)
integer, private :: elemOff
real(kind=rk), private :: omegaKine
real(kind=rk), private :: omegaBulk
real(kind=rk), private :: s_mrt(QQ)