ResPart_set_Final Subroutine

private impure subroutine ResPart_set_Final(this)

Finalizes the ResPart_set type. This subourtine replaces the inheritted lagrangian_final.

Type Bound

ResPart_set

Arguments

Type IntentOptional Attributes Name
class(ResPart_set), intent(inout) :: this

Set of resolved partilces


Calls

proc~~respart_set_final~~CallsGraph proc~respart_set_final ResPart_set%ResPart_set_Final none~finalize~27 marker_set%Finalize proc~respart_set_final->none~finalize~27 proc~lagrangian_set_freempitype lagrangian_set%lagrangian_set_FreeMPIType proc~respart_set_final->proc~lagrangian_set_freempitype none~finalize~27->proc~respart_set_final mpi_type_free mpi_type_free proc~lagrangian_set_freempitype->mpi_type_free

Called by

proc~~respart_set_final~~CalledByGraph proc~respart_set_final ResPart_set%ResPart_set_Final none~finalize~27 marker_set%Finalize proc~respart_set_final->none~finalize~27 none~finalize~26 ResPart_set%Finalize none~finalize~26->proc~respart_set_final none~finalize~27->proc~respart_set_final none~finalize~28 particle_set%Finalize none~finalize~28->proc~respart_set_final none~finalize~29 solid_obj%Finalize none~finalize~29->proc~respart_set_final proc~cdifs_obj_final cdifs_obj%cdifs_obj_Final proc~cdifs_obj_final->none~finalize~26 proc~grans_obj_final grans_obj%grans_obj_Final proc~grans_obj_final->none~finalize~26 proc~setupcaseib SetUpCaseIB proc~setupcaseib->none~finalize~27 proc~setupcaseib~2 SetUpCaseIB proc~setupcaseib~2->none~finalize~27 proc~setupcaseib~3 SetUpCaseIB proc~setupcaseib~3->none~finalize~27 proc~setupcaseib~4 SetUpCaseIB proc~setupcaseib~4->none~finalize~27 proc~setupcasepp SetUpCasePP proc~setupcasepp->none~finalize~28 proc~setupcasepp~2 SetUpCasePP proc~setupcasepp~2->none~finalize~28 proc~setupcaserespart SetUpCaseResPart proc~setupcaserespart->none~finalize~26 proc~setupcaserespart~2 SetUpCaseResPart proc~setupcaserespart~2->none~finalize~26 proc~setupcaserp SetUpCaseRP proc~setupcaserp->none~finalize~26 proc~setupcaserp~2 SetUpCaseRP proc~setupcaserp~2->none~finalize~26 proc~setupcaserp~3 SetUpCaseRP proc~setupcaserp~3->none~finalize~26 proc~solid_set_final solid_set%solid_set_Final proc~solid_set_final->none~finalize~29 program~main main program~main->proc~setupcaserespart program~main~14 main program~main~14->proc~setupcaseib~4 program~main~2 main program~main~2->proc~setupcaseib program~main~2->proc~setupcaserp program~main~4 main program~main~4->proc~setupcaseib~2 program~main~4->proc~setupcaserp~2 program~main~6 main program~main~6->proc~setupcasepp program~main~6->proc~setupcaserp~3 program~main~7 main program~main~7->proc~setupcasepp~2 program~main~9 main program~main~9->proc~setupcaseib~3 program~main~9->proc~setupcaserespart~2

Source Code

    impure subroutine ResPart_set_Final(this)
      !> Finalizes the ResPart_set type.
      ! This subourtine replaces the inheritted lagrangian_final.
      class(ResPart_set), intent(inout) :: this                                !! Set of resolved partilces

      ! Remove all centroids and deallocate
      this%count_= 0
      this%count = 0
      if(allocated(this%p))          deallocate(this%p)
      if(allocated(this%count_proc)) deallocate(this%count_proc)

      ! Deallocate additional child-type arrays
      if(allocated(this%ranks))      deallocate(this%ranks)
      if(allocated(this%lookup))     deallocate(this%lookup)

      ! Finalize IB
      call this%ib%Finalize()

      ! Nullify pointers
      this%parallel => null()
      this%block    => null()

      ! Free MPI Type
      call this%FreeMPIType()

      ! Turn off flag
      this%is_initialized = .false.

      return
    end subroutine ResPart_set_Final