deriveMixVelMS Subroutine

private recursive subroutine deriveMixVelMS(fun, varSys, elempos, time, tree, nElems, nDofs, res)

Calculate mixture velocity of a given element from the momentum and density stored in auxField array for liquid mixture. auxField was updated with momentum of untransformed PDF which was computed by solving LSE in compute kernel.

Arguments

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

Description of the method to obtain the variables, here some preset values might be stored, like the space time function to use or the required variables.

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

The variable system to obtain the variable from.

integer, intent(in) :: elempos(:)

Position of the TreeID of the element to get the variable for in the global treeID list.

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

Point in time at which to evaluate the variable.

type(treelmesh_type), intent(in) :: tree

global treelm mesh info

integer, intent(in) :: nElems

Number of values to obtain for this variable (vectorized access).

integer, intent(in) :: nDofs

Number of degrees of freedom within an element.

real(kind=rk), intent(out) :: res(:)

Resulting values for the requested variable.

Linearized array dimension: (n requested entries) x (nComponents of this variable) x (nDegrees of freedom) Access: (iElem-1)fun%nComponentsnDofs + (iDof-1)*fun%nComponents + iComp


Calls

proc~~derivemixvelms~~CallsGraph proc~derivemixvelms deriveMixVelMS auxfield auxfield proc~derivemixvelms->auxfield levelpointer levelpointer proc~derivemixvelms->levelpointer proc~tem_levelof tem_LevelOf proc~derivemixvelms->proc~tem_levelof

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: statePos
integer, private :: iElem
integer, private :: iLevel
integer, private :: elemOff
integer, private :: iField
type(mus_varSys_data_type), private, pointer:: fPtr
integer, private :: dens_pos
integer, private :: mom_pos(3)
real(kind=rk), private :: vel(3,varSys%nStateVars)
real(kind=rk), private :: mixVel(3)
real(kind=rk), private :: inv_rho
real(kind=rk), private, dimension(varSys%nStateVars):: mass_dens
real(kind=rk), private, dimension(varSys%nStateVars):: massFrac