CalculateSolutionGradient_DGModel1D Subroutine

public subroutine CalculateSolutionGradient_DGModel1D(this)

Arguments

TypeIntentOptionalAttributesName
class(DGModel1D), intent(inout) :: this

Calls

proc~~calculatesolutiongradient_dgmodel1d~~CallsGraph proc~calculatesolutiongradient_dgmodel1d CalculateSolutionGradient_DGModel1D interface~gradientnormal_1d_gpu GradientNormal_1D_gpu proc~calculatesolutiongradient_dgmodel1d->interface~gradientnormal_1d_gpu

Contents


Source Code

  subroutine CalculateSolutionGradient_DGModel1D(this)
    implicit none
    class(DGModel1D),intent(inout) :: this
    ! Local
    integer :: ndof

    call this%solution%AverageSides()

    ! Account for the outward pointing normal before computing dg derivative
    ndof = this%solution%nvar*this%solution%nelem*2
    call GradientNormal_1D_gpu(this%solution%boundarynormal_gpu, &
                               this%solution%avgBoundary_gpu,ndof)

    call this%solution%MappedDGDerivative(this%solutionGradient%interior_gpu)

    ! interpolate the solutiongradient to the element boundaries
    call this%solutionGradient%BoundaryInterp()

    ! perform the side exchange to populate the
    ! solutionGradient % extBoundary attribute
    call this%solutionGradient%SideExchange(this%mesh)

  endsubroutine CalculateSolutionGradient_DGModel1D