Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(tem_communication_type), | intent(inout) | :: | me |
communication type to be destroyed |
||
type(tem_commPattern_type), | intent(in) | :: | commPattern |
Communication pattern |
subroutine tem_comm_destroy( me, commPattern )
! -------------------------------------------------------------------------!
!> communication type to be destroyed
type(tem_communication_type), intent(inout) :: me
!> Communication pattern
type(tem_commPattern_type), intent(in) :: commPattern
! -------------------------------------------------------------------------!
integer :: iProc
! -------------------------------------------------------------------------!
do iProc = 1, me%nProcs
call commPattern%finbuf_real( me%buf_real(iProc) )
call commPattern%finbuf_long( me%buf_long(iProc) )
call commPattern%finbuf_int( me%buf_int(iProc) )
end do
deallocate( me%buf_real )
deallocate( me%buf_long )
deallocate( me%buf_int )
deallocate( me%proc )
deallocate( me%nElemsProc )
do iProc = 1, me%nProcs
call destroy( me%elemPos(iProc) )
end do
deallocate( me%elemPos )
deallocate( me%rqHandle )
end subroutine tem_comm_destroy