Free_ECAdvection3D Subroutine

public subroutine Free_ECAdvection3D(this)

Free EC Advection 3D, including GPU BC arrays.

Arguments

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

Calls

proc~~free_ecadvection3d~~CallsGraph proc~free_ecadvection3d Free_ECAdvection3D interface~hipfree hipFree proc~free_ecadvection3d->interface~hipfree proc~free_ecdgmodel3d_t Free_ECDGModel3D_t proc~free_ecadvection3d->proc~free_ecdgmodel3d_t proc~gpucheck gpuCheck proc~free_ecadvection3d->proc~gpucheck proc~free_dgmodel3d_t Free_DGModel3D_t proc~free_ecdgmodel3d_t->proc~free_dgmodel3d_t

Contents

Source Code


Source Code

  subroutine Free_ECAdvection3D(this)
    !! Free EC Advection 3D, including GPU BC arrays.
    implicit none
    class(ECAdvection3D),intent(inout) :: this
    ! Local
    type(BoundaryCondition),pointer :: bc

    bc => this%hyperbolicBCs%head
    do while(associated(bc))
      if(c_associated(bc%elements_gpu)) call gpuCheck(hipFree(bc%elements_gpu))
      if(c_associated(bc%sides_gpu)) call gpuCheck(hipFree(bc%sides_gpu))
      bc%elements_gpu = c_null_ptr
      bc%sides_gpu = c_null_ptr
      bc => bc%next
    enddo

    call Free_ECDGModel3D_t(this)

  endsubroutine Free_ECAdvection3D