applySrc_brinkmanForce_TRT Subroutine

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

Update state with source variable Brinkman force obtained from Brinkman coefficient. The force update is for TRT collision model.

Reference: 1) Zhaoli Guo and T. S. Zhao. “Lattice Boltzmann Model for Incompressible Flows through Porous Media”. In: Physical Review E 66.3 (2002), p. 036304. doi: 10.1103/PhysRevE.66.036304. 2) Irina Ginzburg. “Consistent lattice Boltzmann schemes for the Brinkman model of porous flow and infinite Chapman-Enskog expansion”. In: Phys. Rev. E 77 (6 June 2008), p. 066704. doi: 10.1103/PhysRevE.77.066704.

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