Resize_Vector2D Subroutine

public subroutine Resize_Vector2D(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 is pure waste in the adaptive loop because the fields are rewritten immediately after.

Arguments

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

Calls

proc~~resize_vector2d~~CallsGraph proc~resize_vector2d Resize_Vector2D proc~resize_vector2d_t Resize_Vector2D_t proc~resize_vector2d->proc~resize_vector2d_t proc~ensuredevicebuffers_vector2d EnsureDeviceBuffers_Vector2D proc~resize_vector2d->proc~ensuredevicebuffers_vector2d ensuredevicebuffer ensuredevicebuffer proc~ensuredevicebuffers_vector2d->ensuredevicebuffer

Contents

Source Code


Source Code

  subroutine Resize_Vector2D(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 is
    !! pure waste in the adaptive loop because the fields are rewritten immediately after.
    implicit none
    class(Vector2D),intent(inout) :: this
    type(Lagrange),target,intent(in) :: interp
    integer,intent(in) :: nVar
    integer,intent(in) :: nElem

    call Resize_Vector2D_t(this,interp,nVar,nElem)
    call EnsureDeviceBuffers_Vector2D(this)

  endsubroutine Resize_Vector2D