rearrange_bc_elems Subroutine

public subroutine rearrange_bc_elems(minLevel, maxLevel, nValid, posInBCElem, nElems, elemLvl)

It removes non-valid elements while still maintaining the origianl order. The given bc elements (elems) contains both valid and non-valid elements. Position of valid elements are given by posInBCElem. Valid elements are moved towards the start of the elems so that they become continuous in the elems.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: minLevel
integer, intent(in) :: maxLevel
integer, intent(in) :: nValid(minLevel:maxLevel)

number of valid BC elements

integer, intent(in) :: posInBCElem(maxval(nElems),minLevel:maxLevel)

their position in bc_elems_type

integer, intent(in) :: nElems(minLevel:maxLevel)

BC elements information

type(bc_elems_type), intent(inout) :: elemLvl(minLevel:maxLevel)

BC elements information