Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
subroutine Free_Tensor2D(this)implicit none class(Tensor2D),intent(inout)::thisthis%interp=>null()this%nVar=0this%nElem=0! Host storage is owned by the pools in the parent type (Stage 6b/6c), so the parent Free! releases it rather than deallocating these pointers.call Free_Tensor2D_t(this)call gpuCheck(hipFree(this%interior_gpu))call gpuCheck(hipFree(this%boundary_gpu))call gpuCheck(hipFree(this%extBoundary_gpu))this%interior_gpu=c_null_ptrthis%boundary_gpu=c_null_ptrthis%extBoundary_gpu=c_null_ptrthis%alloc_interior=0this%alloc_boundary=0this%alloc_extBoundary=0endsubroutine Free_Tensor2D