MappedDGGradient_MappedScalar2D Subroutine

public subroutine MappedDGGradient_MappedScalar2D(this, df)

Arguments

TypeIntentOptionalAttributesName
class(MappedScalar2D), intent(inout) :: this
type(c_ptr), intent(inout) :: df

Calls

proc~~mappeddggradient_mappedscalar2d~~CallsGraph proc~mappeddggradient_mappedscalar2d MappedDGGradient_MappedScalar2D interface~contravariantweight_2d_gpu ContravariantWeight_2D_gpu proc~mappeddggradient_mappedscalar2d->interface~contravariantweight_2d_gpu interface~jacobianweight_2d_gpu JacobianWeight_2D_gpu proc~mappeddggradient_mappedscalar2d->interface~jacobianweight_2d_gpu interface~normalweight_2d_gpu NormalWeight_2D_gpu proc~mappeddggradient_mappedscalar2d->interface~normalweight_2d_gpu interface~vectordivergence_2d_gpu VectorDivergence_2D_gpu proc~mappeddggradient_mappedscalar2d->interface~vectordivergence_2d_gpu interface~dg_boundarycontribution_2d_gpu DG_BoundaryContribution_2D_gpu proc~mappeddggradient_mappedscalar2d->interface~dg_boundarycontribution_2d_gpu

Contents


Source Code

  subroutine MappedDGGradient_MappedScalar2D(this,df)
    !!
    implicit none
    class(MappedScalar2D),intent(inout) :: this
    type(c_ptr),intent(inout) :: df

    call ContravariantWeight_2D_gpu(this%interior_gpu, &
                                    this%geometry%dsdx%interior_gpu,this%jas_gpu, &
                                    this%interp%N,this%nvar,this%nelem)

    ! Weak-form (DG) divergence of the contravariant-weighted field (jas)
    call VectorDivergence_2D_gpu(this%interp%dgMatrix_gpu,this%jas_gpu,df, &
                                 this%interp%N,2*this%nvar,this%nelem)

    ! Do the boundary terms
    call NormalWeight_2D_gpu(this%avgBoundary_gpu, &
                             this%geometry%nhat%boundary_gpu,this%geometry%nscale%boundary_gpu, &
                             this%boundarynormal_gpu, &
                             this%interp%N,this%nvar,this%nelem)

    call DG_BoundaryContribution_2D_gpu(this%interp%bmatrix_gpu,this%interp%qweights_gpu, &
                                        this%boundarynormal_gpu,df,this%interp%N,2*this%nvar,this%nelem)

    call JacobianWeight_2D_gpu(df,this%geometry%J%interior_gpu,this%N,2*this%nVar,this%nelem)

  endsubroutine MappedDGGradient_MappedScalar2D