fill_neighBuffer Subroutine

private subroutine fill_neighBuffer(prevstate, currstate, neigh, globBC, nBCs, field, varSys, QQ, nSize, iLevel)

Transfer pre- and post-collision PDF of neighbors of boundary elements into neighBufferPre and neighBufferPost. Access to state array

  • NeighBufferPre: FETCH
  • NeighBufferPost: SAVE @todo: for PUSH, post-collision is not correct yet.


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

Previous state vector of iLevel

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

Current state vector of iLevel

integer, intent(in) :: neigh(:)

connectivity array corresponding to state vector

type(glob_boundary_type), intent(in) :: globBC(:)

scheme global boundary type

integer, intent(in) :: nBCs

number of total BC

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

fluid parameters and properties

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

scheme variable system

integer, intent(in) :: QQ

number of total links

integer, intent(in) :: nSize

number of elements in state vector

integer, intent(in) :: iLevel

the iLevel on which this boundary was invoked


proc~~fill_neighbuffer~~CallsGraph proc~fill_neighbuffer fill_neighBuffer proc~tem_starttimer tem_startTimer proc~fill_neighbuffer->proc~tem_starttimer proc~tem_stoptimer tem_stopTimer proc~fill_neighbuffer->proc~tem_stoptimer

Called by

proc~~fill_neighbuffer~~CalledByGraph proc~fill_neighbuffer fill_neighBuffer proc~set_boundary set_boundary proc~set_boundary->proc~fill_neighbuffer proc~do_recursive_multilevel do_recursive_multiLevel proc~do_recursive_multilevel->proc~set_boundary proc~do_benchmark do_benchmark proc~do_benchmark->proc~set_boundary proc~do_fast_singlelevel do_fast_singleLevel proc~do_fast_singlelevel->proc~set_boundary



integer, private :: iField
integer, private :: iElem
integer, private :: iDir
integer, private :: iBnd
integer, private :: iNeigh
integer, private :: pdfVarPos(QQ)
integer, private :: neighPos
integer, private :: myPos