Copy the properties of inTree to the ones in subTree.
Type | Intent | Optional | 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 |
subroutine tem_copyPropertyBitsFromTree( 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
integer :: iProp
! ---------------------------------------------------------------------------
! allocate the bitfield
allocate(subTree%elemPropertyBits(subTree%nElems))
! initialize the bitfield with 0
subTree%elemPropertyBits = 0
do iElem = 1, subTree%nElems
! get the position in the global tree
elemPos = subTree%map2global(iElem)
! copy the propertyBits in the subTree
subTree%ElemPropertyBits(iElem) = inTree%ElemPropertyBits(elemPos)
end do
! update the property information
allocate(subTree%property(subTree%global%nProperties))
do iProp=1,subTree%global%nProperties
call gather_Property( Property = subTree%Property(iProp), &
& Header = subTree%global%Property(iProp), &
& BitField = subTree%ElemPropertyBits, &
& comm = subTree%global%comm )
end do
end subroutine tem_copyPropertyBitsFromTree