fillFinerGhostsFromMe_quadLES_feq_fneq Subroutine

public subroutine fillFinerGhostsFromMe_quadLES_feq_fneq(method, fieldProp, tLevelDesc, level, sState, sNeigh, snSize, sAuxField, tState, tNeigh, tnSize, layout, nTargets, targetList, physics, time, varSys, derVarPos)

Fill fine ghost from coarse fluid by quadratic interpolation for D2Q9 stencil. 1. Compute moments for all source elements, save in momBuf 2. For each target, interpolate moments (den, vel, tau) (10 moments for 3D and 6 moments for 2D) 3. calculate fEq and use it to calculate high order moments 4. convert moments to PDF This routine is used by acoustic quadratic interpolation.

This subroutine's interface must match the abstract interface definition intpRoutine in intp/mus_interpolate_header_module.f90 in order to be callable via do_intp function pointer.

Arguments

Type IntentOptional Attributes Name
class(mus_interpolation_method_type), intent(inout) :: method
type(mus_field_prop_type), intent(in), target :: fieldProp(:)

Array of field properties (fluid or species)

type(tem_levelDesc_type), intent(in) :: tLevelDesc

level descriptor on target level

integer, intent(in) :: level

my refinement level

real(kind=rk), intent(in) :: sState(:)

State vector of SOURCE FLUID elements

integer, intent(in) :: sNeigh(:)
integer, intent(in) :: snSize
real(kind=rk), intent(inout) :: sAuxField(:)

AuxField variable to read rho and vel from source elements

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

State vector of TARGET GHOST elements

integer, intent(in) :: tNeigh(:)
integer, intent(in) :: tnSize
type(mus_scheme_layout_type), intent(in) :: layout

the layout used

integer, intent(in) :: nTargets

List of target elements ( their position in depSource list )

integer, intent(in) :: targetList(nTargets)
type(mus_physics_type), intent(in) :: physics

physics type to convert lattice to physics SI unit and vice versa

Todo

This can be replaced by scale factor by level

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

time required to compute viscosity on target element barycenter

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

scheme variable system

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

position of all derive variable in varSys for all fields


Calls

proc~~fillfinerghostsfromme_quadles_feq_fneq~~CallsGraph proc~fillfinerghostsfromme_quadles_feq_fneq fillFinerGhostsFromMe_quadLES_feq_fneq auxfield_varpos auxfield_varpos proc~fillfinerghostsfromme_quadles_feq_fneq->auxfield_varpos proc~getnoneqfac_intp_coarse_to_fine getNonEqFac_intp_coarse_to_fine proc~fillfinerghostsfromme_quadles_feq_fneq->proc~getnoneqfac_intp_coarse_to_fine proc~mus_calcomegafromvisc mus_calcOmegaFromVisc proc~fillfinerghostsfromme_quadles_feq_fneq->proc~mus_calcomegafromvisc proc~mus_interpolate_quad3d_leastsq mus_interpolate_quad3D_leastSq proc~fillfinerghostsfromme_quadles_feq_fneq->proc~mus_interpolate_quad3d_leastsq val val proc~fillfinerghostsfromme_quadles_feq_fneq->val proc~getnoneqfac_intp getNonEqFac_intp proc~getnoneqfac_intp_coarse_to_fine->proc~getnoneqfac_intp