GetProjectionOfdNdXt
There are several interfaces to this generic method. In general, it takes the projection on the convective velocity , that is:
Here, is the convective velocity, (that is a vector variable). It can be
- a constant
- a function of spatial coordinates given in terms of
- spatial nodal values
- quadrature values
If changes in space then it should be wrapped inside an instance of [[FEVariable_]].
You can learn about this method from the following pages
- [[ElemshapeData_test_11]] for [[ReferenceTriangle]], constant velocity
- [[ElemshapeData_test_12]] for [[ReferenceTriangle]], nodal values of velocity
- [[ElemshapeData_test_13]] for [[ReferenceTriangle]], velocity is defined at the quadrature points.
This subroutine computes the projcetion cdNdXt on the vector val. Here the vector val is constant in space and time.
MODULE PURE SUBROUTINE GetProjectionOfdNdXt(obj, cdNdXt, val)
CLASS(ElemshapeData_), INTENT(IN) :: obj
REAL(DFP), ALLOCATABLE, INTENT(INOUT) :: cdNdXt(:, :)
!! returned $c_{i}\frac{\partial N^{I}}{\partial x_{i}}$
REAL(DFP), INTENT(IN) :: val(:)
!! constant value of vector
END SUBROUTINE GetProjectionOfdNdXt
The following subroutine computes the projcetion cdNdXt on the vector val. Here the vector val is constant in space and time.
MODULE PURE SUBROUTINE GetProjectionOfdNdXt(obj, cdNdXt, val)
CLASS(ElemshapeData_), INTENT(IN) :: obj
!! ElemshapeData object
REAL(DFP), ALLOCATABLE, INTENT(INOUT) :: cdNdXt(:, :)
!! returned $c_{i}\frac{\partial N^{I}}{\partial x_{i}}$
CLASS(FEVariable_), INTENT(IN) :: val
!! constant value of vector
END SUBROUTINE GetProjectionOfdNdXt