anchor.diff:      &                    Node(this%NodeInd(3))%Pos(:),Node(this%NodeInd(4))%Pos(:))
     end function
     
  -  !----------------------------------------------------------
  -  ! get the k_th neighbour element index of this tetrahedron
  -  !----------------------------------------------------------
  -  ! Note: we are getting neighbour element index, not neighbour tetrahedron index, though the
  -  !       neighbour element is likely to be a tetrahedron
  +  !-------------------------------------------------------------
  +  ! get the k_th neighbour element or facet of this tetrahedron
  +  !-------------------------------------------------------------
  +  ! Note: if facet are found, the function will return the negative value of the facet index.
  +  ! Note: we are getting neighbour element or facet, not neighbour hexahedron or quadrilateral
  +  !       index, though the neighbour element (facet) is likely to be a tetrahedron (triangle).
     function getTetNeib(this,k)
       class(typeTet),intent(in)::this
       integer,intent(in)::k
  -    integer getTetNeib,lPTet(4)
  +    integer getTetNeib,lPTet(4),lPTri(3)
       logical maskTet(4)
       getTetNeib=0
       if(k<1.or.k>4)then
  
positive.code:         case default
        end select
      end do
    end function
    
    !---------------------------------------------------
  
negative.code:           maskTet(:)=.false.
            lPTet(:)=Tet(Ele(i)%ShapeInd)%NodeInd(:)
            do j=1,4
              if(any(lPTet(:)==this%NodeInd(j)))then
                maskTet(j)=.true.
              end if
            end do
  