Compute smoothness indicators.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
class(smoothness_indicators), | intent(inout) | :: | self | Smoothness indicators. |
||
integer(kind=I_P), | intent(in) | :: | S | Number of stencils used. |
||
real(kind=R_P), | intent(in) | :: | stencil(1:,1-S:) | Stencil used for the interpolation, [1:2, 1-S:-1+S]. |
||
integer(kind=I_P), | intent(in) | :: | f1 | Faces to be computed. |
||
integer(kind=I_P), | intent(in) | :: | f2 | Faces to be computed. |
||
integer(kind=I_P), | intent(in) | :: | ff | Faces to be computed. |
pure subroutine compute(self, S, stencil, f1, f2, ff)
!< Compute smoothness indicators.
class(smoothness_indicators), intent(inout) :: self !< Smoothness indicators.
integer(I_P), intent(in) :: S !< Number of stencils used.
real(R_P), intent(in) :: stencil(1:, 1 - S:) !< Stencil used for the interpolation, [1:2, 1-S:-1+S].
integer(I_P), intent(in) :: f1, f2, ff !< Faces to be computed.
#ifndef DEBUG
! error stop in pure procedure is a F2015 feature not yet supported in debug mode
error stop 'smoothness_indicators%compute to be implemented by your concrete smoothness indicators object'
#endif
endsubroutine compute