subroutine CalculateSolutionGradient_DGModel1D_t(this)
implicit none
class(DGModel1D_t),intent(inout) :: this
call this%solution%AverageSides()
this%solution%boundarynormal(1,:,:) = -this%solution%avgBoundary(1,:,:) ! Account for left facing normal
this%solution%boundarynormal(2,:,:) = this%solution%avgBoundary(2,:,:) ! Account for right facing normal
call this%solution%MappedDGDerivative(this%solutionGradient%interior)
! 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_t