Computes the divergence of a 3-D vector using the weak form On input, the attribute of the vector is assigned and the attribute is set to the physical directions of the vector. This method will project the vector onto the contravariant basis vectors.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(MappedVector3D), | intent(in) | :: | this | |||
type(c_ptr), | intent(inout) | :: | df |
subroutine MappedDGDivergence_MappedVector3D(this,df)
!! Computes the divergence of a 3-D vector using the weak form
!! On input, the attribute of the vector
!! is assigned and the attribute is set to the physical
!! directions of the vector. This method will project the vector
!! onto the contravariant basis vectors.
implicit none
class(MappedVector3D),intent(in) :: this
type(c_ptr),intent(inout) :: df
! Contravariant projection
call ContravariantProjection_3D_gpu(this%interior_gpu, &
this%geometry%dsdx%interior_gpu,this%interp%N,this%nvar,this%nelem)
call Divergence_3D_gpu(this%interior_gpu,df,this%interp%dgMatrix_gpu, &
this%interp%N,this%nvar,this%nelem)
! Boundary terms
call DG_BoundaryContribution_3D_gpu(this%interp%bmatrix_gpu,this%interp%qweights_gpu, &
this%boundarynormal_gpu,df,this%interp%N,this%nvar,this%nelem)
call JacobianWeight_3D_gpu(df,this%geometry%J%interior_gpu,this%interp%N,this%nVar,this%nelem)
endsubroutine MappedDGDivergence_MappedVector3D