Resize_Scalar3D Subroutine

public subroutine Resize_Scalar3D(this, interp, nVar, nElem)

Rebind to a new element count, reusing host pools and device buffers where they fit. Deliberately does NOT call UpdateDevice: Init uploads freshly zeroed arrays, which in the adaptive loop is pure waste because the solution transfer overwrites them immediately.

Arguments

TypeIntentOptionalAttributesName
class(Scalar3D), intent(inout) :: this
type(Lagrange), intent(in), target:: interp
integer, intent(in) :: nVar
integer, intent(in) :: nElem

Calls

proc~~resize_scalar3d~~CallsGraph proc~resize_scalar3d Resize_Scalar3D proc~resize_scalar3d_t Resize_Scalar3D_t proc~resize_scalar3d->proc~resize_scalar3d_t proc~ensuredevicebuffers_scalar3d EnsureDeviceBuffers_Scalar3D proc~resize_scalar3d->proc~ensuredevicebuffers_scalar3d ensuredevicebuffer ensuredevicebuffer proc~ensuredevicebuffers_scalar3d->ensuredevicebuffer

Contents

Source Code


Source Code

  subroutine Resize_Scalar3D(this,interp,nVar,nElem)
    !! Rebind to a new element count, reusing host pools and device buffers where they fit.
    !! Deliberately does NOT call UpdateDevice: Init uploads freshly zeroed arrays, which in the
    !! adaptive loop is pure waste because the solution transfer overwrites them immediately.
    implicit none
    class(Scalar3D),intent(inout) :: this
    type(Lagrange),intent(in),target :: interp
    integer,intent(in) :: nVar
    integer,intent(in) :: nElem

    call Resize_Scalar3D_t(this,interp,nVar,nElem)
    call EnsureDeviceBuffers_Scalar3D(this)

  endsubroutine Resize_Scalar3D