fillFiner_quadratic2D_diffusive Subroutine

public subroutine fillFiner_quadratic2D_diffusive(method, fieldProp, tLevelDesc, level, sState, snSize, tState, tnSize, tAuxField, layout, nTargets, targetList, physics, time, varSys, derVarPos)

Fill Finer ghost from Coarser fluid by 2D quadratic interpolation This routine serves as a HIGH order interpolation, which means every ghost should have 9 source elements. It only works for D2Q9.

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.


class(mus_interpolation_method_type), intent(in) :: 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) :: snSize
real(kind=rk), intent(inout) :: tState(:)

State vector of TARGET GHOST elements

integer, intent(in) :: tnSize
real(kind=rk), intent(inout) :: tAuxField(:)

AuxField variable to fill on target GHOST elements

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

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


proc~~fillfiner_quadratic2d_diffusive~~CallsGraph proc~fillfiner_quadratic2d_diffusive fillFiner_quadratic2D_diffusive proc~getstrain getStrain proc~fillfiner_quadratic2d_diffusive->proc~getstrain proc~mus_intp_eq_d2q9_a mus_intp_eq_d2q9_a proc~fillfiner_quadratic2d_diffusive->proc~mus_intp_eq_d2q9_a proc~getneq getNEq proc~fillfiner_quadratic2d_diffusive->proc~getneq proc~tem_abort tem_abort proc~fillfiner_quadratic2d_diffusive->proc~tem_abort proc~get_moment get_moment proc~getstrain->proc~get_moment proc~get_momentvector get_momentVector proc~get_moment->proc~get_momentvector proc~mus_imomvector mus_iMomVector proc~get_momentvector->proc~mus_imomvector



integer, private :: sourceLevel
integer, private :: targetLevel
integer, private :: targetPos
integer, private :: iElem
integer, private :: indElem
integer, private :: ii
real(kind=rk), private :: targetCoord(2)
real(kind=rk), private :: fEq(9)
real(kind=rk), private :: fNeq(9)
real(kind=rk), private :: f(9)
real(kind=rk), private :: rho
real(kind=rk), private :: vel(2)
real(kind=rk), private :: S(2,2)
real(kind=rk), private :: sourceVals(6,9)
real(kind=rk), private :: targetVals(6)
real(kind=rk), private :: omegaSource
real(kind=rk), private :: omegaTarget
real(kind=rk), private :: pFac
real(kind=rk), private :: vFac
real(kind=rk), private :: sFac
real(kind=rk), private :: sBuf(6,tLevelDesc%sourceFromCoarser%nVals)
type(mus_fluid_type), private, pointer:: fluid

debug variables

integer, private :: nScalars