Skip to content

test_flume_weno_interpolation_fnl_kernels ​

Unit test RV-1 (device half) of the WENO interpolation tables: the device WENO primitive on one packed stencil.

Module-level (not a contains-internal procedure): device routines must be module procedures.

Source: src/tests/flume/unit/test_flume_weno_interpolation_fnl.F90

Dependencies

Contents ​

Subroutines ​

interpolate ​

Interpolate one packed stencil with the device WENO primitive.

fortran
subroutine interpolate(S, a, p, d, zeps, sigma, v, vr)

Arguments

NameTypeIntentAttributesDescription
Sinteger(kind=I4P)inNumber of stencils used.
areal(kind=R8P)inInterpolation optimal weights.
preal(kind=R8P)inInterpolation polynomials coefficients.
dreal(kind=R8P)inSmoothness indicators coefficients.
zepsreal(kind=R8P)inParameter avoiding division by zero.
sigmareal(kind=R8P)inDescaler switch: 0 Jiang-Shu, 1 scale-invariant.
vreal(kind=R8P)inPacked stencil.
vrreal(kind=R8P)outInterface values.

Call graph

interpolate_width ​

Interpolate one packed stencil with the generic and with the per-width device WENO routines, plain and with the weights ratio: vr(:,1) generic, vr(:,2) per-width, vr(:,3) generic with ratio, vr(:,4) per-width with ratio, and wr(:,1), wr(:,2) the ratio of the last two. A width without a routine (S > 5) leaves NaN in the per-width outputs.

fortran
subroutine interpolate_width(S, a, p, d, zeps, sigma, v, vr, wr)

Arguments

NameTypeIntentAttributesDescription
Sinteger(kind=I4P)inNumber of stencils used.
areal(kind=R8P)inInterpolation optimal weights.
preal(kind=R8P)inInterpolation polynomials coefficients.
dreal(kind=R8P)inSmoothness indicators coefficients.
zepsreal(kind=R8P)inParameter avoiding division by zero.
sigmareal(kind=R8P)inDescaler switch: 0 Jiang-Shu, 1 scale-invariant.
vreal(kind=R8P)inPacked stencil.
vrreal(kind=R8P)outInterface values, see above.
wrreal(kind=R8P)outWeights ratios, generic and per-width.

Call graph