MappedDivergence_MappedTwoPointVector2D Subroutine

public subroutine MappedDivergence_MappedTwoPointVector2D(this, df)

GPU implementation of the physical-space split-form divergence for a 2-D two-point vector on a curvilinear mesh.

interior_gpu must already contain pre-projected SCALAR contravariant two-point fluxes (see MappedDivergence_MappedTwoPointVector2D_t). Applies the reference-element split-form sum then divides by J.

Arguments

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

Calls

proc~~mappeddivergence_mappedtwopointvector2d~~CallsGraph proc~mappeddivergence_mappedtwopointvector2d MappedDivergence_MappedTwoPointVector2D interface~twopointvectordivergence_2d_gpu TwoPointVectorDivergence_2D_gpu proc~mappeddivergence_mappedtwopointvector2d->interface~twopointvectordivergence_2d_gpu interface~jacobianweight_2d_gpu JacobianWeight_2D_gpu proc~mappeddivergence_mappedtwopointvector2d->interface~jacobianweight_2d_gpu

Contents


Source Code

  subroutine MappedDivergence_MappedTwoPointVector2D(this,df)
    !! GPU implementation of the physical-space split-form divergence for
    !! a 2-D two-point vector on a curvilinear mesh.
    !!
    !! interior_gpu must already contain pre-projected SCALAR contravariant
    !! two-point fluxes (see MappedDivergence_MappedTwoPointVector2D_t).
    !! Applies the reference-element split-form sum then divides by J.
    implicit none
    class(MappedTwoPointVector2D),intent(inout) :: this
    type(c_ptr),intent(out) :: df

    call TwoPointVectorDivergence_2D_gpu(this%interior_gpu,df, &
                                         this%interp%dSplitMatrix_gpu, &
                                         this%interp%N,this%nVar,this%nElem)

    call JacobianWeight_2D_gpu(df,this%geometry%J%interior_gpu, &
                               this%interp%N,this%nVar,this%nElem)

  endsubroutine MappedDivergence_MappedTwoPointVector2D