Free the 3D DG model, including GPU BC arrays.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(DGModel3D), | intent(inout) | :: | this |
subroutine Free_DGModel3D(this)
!! Free the 3D DG model, including GPU BC arrays.
implicit none
class(DGModel3D),intent(inout) :: this
! Local
type(BoundaryCondition),pointer :: bc
! Free hyperbolic BC device arrays
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
! Free parabolic BC device arrays
bc => this%parabolicBCs%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_DGModel3D_t(this)
endsubroutine Free_DGModel3D