tem_updatePropertyBits Subroutine

public subroutine tem_updatePropertyBits(inTree, subTree)

Update the property of subTree with the ones from inTree, if something changed update the logical meshChange.

Arguments

Type IntentOptional Attributes Name
type(treelmesh_type), intent(in) :: inTree

tree to get information from

type(tem_subTree_type), intent(inout) :: subTree

tree to pass information to


Called by

proc~~tem_updatepropertybits~~CalledByGraph proc~tem_updatepropertybits tem_updatePropertyBits proc~hvs_output_open hvs_output_open proc~hvs_output_open->proc~tem_updatepropertybits proc~tem_tracker tem_tracker proc~tem_tracker->proc~hvs_output_open

Contents


Source Code

  subroutine tem_updatePropertyBits( inTree, subTree )
    ! ---------------------------------------------------------------------------
    !> tree to get information from
    type(treelmesh_type), intent(in) :: inTree
    !> tree to pass information to
    type(tem_subTree_type), intent(inout) :: subTree
    ! ---------------------------------------------------------------------------
    integer :: iElem
    integer :: elemPos
    ! ---------------------------------------------------------------------------

    do iElem = 1, subTree%nElems
      ! get the position in the global tree
      elemPos = subTree%map2global(iElem)
      ! test the individual property bits
      if ( inTree%ElemPropertyBits(elempos)   &
        &  /= subTree%ElemPropertyBits(iElem) ) then
        ! update the propertyBits in the subTree
        subTree%ElemPropertyBits(iElem) = inTree%ElemPropertyBits(elemPos)
        subTree%global%meshChange = .true.
      end if
    end do

  end subroutine tem_updatePropertyBits