Free_Vector3D Subroutine

public subroutine Free_Vector3D(this)

Arguments

TypeIntentOptionalAttributesName
class(Vector3D), intent(inout) :: this

Calls

proc~~free_vector3d~~CallsGraph proc~free_vector3d Free_Vector3D interface~hipfree hipFree proc~free_vector3d->interface~hipfree proc~gpucheck gpuCheck proc~free_vector3d->proc~gpucheck proc~hipblascheck hipblasCheck proc~free_vector3d->proc~hipblascheck interface~hipblasdestroy hipblasDestroy proc~free_vector3d->interface~hipblasdestroy

Contents

Source Code


Source Code

  subroutine Free_Vector3D(this)
    implicit none
    class(Vector3D),intent(inout) :: this

    this%interp => null()
    this%nVar = 0
    this%nElem = 0

    deallocate(this%interior)
    deallocate(this%boundary)
    deallocate(this%boundaryNormal)
    deallocate(this%extBoundary)
    deallocate(this%avgBoundary)

    deallocate(this%meta)
    deallocate(this%eqn)

    call gpuCheck(hipFree(this%interior_gpu))
    call gpuCheck(hipFree(this%boundary_gpu))
    call gpuCheck(hipFree(this%extBoundary_gpu))
    call gpuCheck(hipFree(this%avgBoundary_gpu))
    call gpuCheck(hipFree(this%boundaryNormal_gpu))
    call gpuCheck(hipFree(this%interpWork1))
    call gpuCheck(hipFree(this%interpWork2))
    call hipblasCheck(hipblasDestroy(this%blas_handle))

  endsubroutine Free_Vector3D