UpdateSolution_DGModel3D Subroutine

public subroutine UpdateSolution_DGModel3D(this, dt)

Computes a solution update as , where dt is either provided through the interface or taken as the Model's stored time step size (model % dt)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D), intent(inout) :: this
real(kind=prec), intent(in), optional :: dt

Calls

proc~~updatesolution_dgmodel3d~~CallsGraph proc~updatesolution_dgmodel3d UpdateSolution_DGModel3D interface~updatesolution_gpu UpdateSolution_gpu proc~updatesolution_dgmodel3d->interface~updatesolution_gpu

Contents


Source Code

  subroutine UpdateSolution_DGModel3D(this,dt)
    !! Computes a solution update as , where dt is either provided through the interface
    !! or taken as the Model's stored time step size (model % dt)
    implicit none
    class(DGModel3D),intent(inout) :: this
    real(prec),optional,intent(in) :: dt
    ! Local
    real(prec) :: dtLoc
    integer :: ndof

    if(present(dt)) then
      dtLoc = dt
    else
      dtLoc = this%dt
    endif
    ndof = this%solution%nvar* &
           this%solution%nelem* &
           (this%solution%interp%N+1)* &
           (this%solution%interp%N+1)* &
           (this%solution%interp%N+1)

    call UpdateSolution_gpu(this%solution%interior_gpu,this%dsdt%interior_gpu,dtLoc,ndof)

  endsubroutine UpdateSolution_DGModel3D