op_obj_Final Subroutine

private pure subroutine op_obj_Final(this)

Finalizes object and frees memory.

Type Bound

op_obj

Arguments

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

Differential operators utility


Source Code

    pure subroutine op_obj_Final(this)
      !> Finalizes object and frees memory.
      implicit none
      class(op_obj), intent(inout) :: this                                     !! Differential operators utility

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

      if (allocated(this%morinishi_int)) deallocate(this%morinishi_int)
      if (allocated(this%morinishi_ddx)) deallocate(this%morinishi_ddx)
      if (allocated(this%alpha))         deallocate(this%alpha)
      if (allocated(this%c_intrp1m))     deallocate(this%c_intrp1m)
      if (allocated(this%c_intrp2m))     deallocate(this%c_intrp2m)
      if (allocated(this%c_intrp3m))     deallocate(this%c_intrp3m)
      if (allocated(this%c_intrp1))      deallocate(this%c_intrp1)
      if (allocated(this%c_intrp2))      deallocate(this%c_intrp2)
      if (allocated(this%c_intrp3))      deallocate(this%c_intrp3)
      if (allocated(this%c_d1dx1m))      deallocate(this%c_d1dx1m)
      if (allocated(this%c_d1dx2m))      deallocate(this%c_d1dx2m)
      if (allocated(this%c_d1dx3m))      deallocate(this%c_d1dx3m)
      if (allocated(this%c_d1dx1))       deallocate(this%c_d1dx1)
      if (allocated(this%c_d1dx2))       deallocate(this%c_d1dx2)
      if (allocated(this%c_d1dx3))       deallocate(this%c_d1dx3)

      return
    end subroutine op_obj_Final