subroutine CalculateTendency_DGModel3D(this)
implicit none
class(DGModel3D),intent(inout) :: this
! Local
integer :: ndof
call this%solution%BoundaryInterp()
call this%solution%SideExchange(this%mesh)
call this%PreTendency() ! User-supplied
call this%SetBoundaryCondition() ! User-supplied
if(this%gradient_enabled) then
call this%solution%AverageSides()
call this%CalculateSolutionGradient()
call this%SetGradientBoundaryCondition() ! User-supplied
call this%solutionGradient%AverageSides()
endif
call this%SourceMethod() ! User supplied
call this%BoundaryFlux() ! User supplied
call this%FluxMethod() ! User supplied
call this%flux%MappedDGDivergence(this%fluxDivergence%interior_gpu)
ndof = this%solution%nvar* &
this%solution%nelem* &
(this%solution%interp%N+1)* &
(this%solution%interp%N+1)* &
(this%solution%interp%N+1)
call CalculateDSDt_gpu(this%fluxDivergence%interior_gpu,this%source%interior_gpu, &
this%dsdt%interior_gpu,ndof)
endsubroutine CalculateTendency_DGModel3D