mus_init_pdf Subroutine

private subroutine mus_init_pdf(me, tree, fac, scaling, field, iField, state, nElems, nSize, iLevel)

Initialize the flow from pressure, velocity and strain rate.\n First equilibirium pdf (fEq) is calculated from pressure and velocity. Then non-equilibirium (fnEq) is calculated from strain rate. At last set the pdf of each element by sum up these two parts (fEq+fnEq).


type(mus_scheme_type), intent(in) :: me

Scheme type

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

tree type

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

Global parameters

character(len=*), intent(in) :: scaling


type(mus_field_type), intent(inout) :: field

Field type

integer, intent(in) :: iField

Field index

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


integer, intent(in) :: nElems

Number of local elements

integer, intent(in) :: nSize

number of elements as size

integer, intent(in) :: iLevel

Level index


proc~~mus_init_pdf~~CallsGraph proc~mus_init_pdf mus_init_pdf proc~tem_baryofid tem_BaryOfId proc~mus_init_pdf->proc~tem_baryofid proc~getneq_acoustic getNEq_acoustic proc~mus_init_pdf->proc~getneq_acoustic proc~getneq_diffusive getNEq_diffusive proc~mus_init_pdf->proc~getneq_diffusive interface~tem_spatial_for tem_spatial_for proc~mus_init_pdf->interface~tem_spatial_for proc~convprepost convPrePost proc~getneq_acoustic->proc~convprepost proc~getneq_diffusive->proc~convprepost

Called by

proc~~mus_init_pdf~~CalledByGraph proc~mus_init_pdf mus_init_pdf proc~mus_init_byic mus_init_byIC proc~mus_init_byic->proc~mus_init_pdf proc~mus_init_flow mus_init_flow proc~mus_init_flow->proc~mus_init_byic proc~mus_initialize mus_initialize proc~mus_initialize->proc~mus_init_flow program~musubi musubi program~musubi->proc~mus_initialize



integer, private :: iDir
integer, private :: iElem
real(kind=rk), private, allocatable:: fEq(:)
real(kind=rk), private, allocatable:: fnEq(:)
real(kind=rk), private, allocatable:: rho(:)
real(kind=rk), private, allocatable:: xc(:,:)
real(kind=rk), private, allocatable:: vel(:,:)
real(kind=rk), private, allocatable:: Sxx(:,:)
integer, private :: iChunk
integer, private :: nChunks
integer, private :: chunkSize
integer, private :: nChunkElems
integer, private :: elemOff
integer, private :: elemPos
integer, private :: QQ
integer, private :: idx_iDir(me%layout%fStencil%QQ)
integer, private :: offset
real(kind=rk), private :: inv_p
real(kind=rk), private :: inv_v
real(kind=rk), private :: inv_s