Skip to content

adam_fnl_weno_kernels ​

ADAM, WENO class FNL kernels (FNL backend of weno_fnl_object).

Source: src/lib/fnl/adam_fnl_weno_kernels.F90

Dependencies

Contents ​

Subroutines ​

weno_reconstruct_upwind_dev ​

Reconstruct by WENO upwind method of 2S-1 order, non TBP.

fortran
subroutine weno_reconstruct_upwind_dev(S, weno_a, weno_p, weno_d, weno_zeps, weno_rmu, V, VR)

Arguments

NameTypeIntentAttributesDescription
Sinteger(kind=I4P)inNumber of stencils used.
weno_areal(kind=R8P)inOptimal weights.
weno_preal(kind=R8P)inPolinomials coefficients.
weno_dreal(kind=R8P)inSmoothness indicators coefficients.
weno_zepsreal(kind=R8P)inParameter for avoiding division by zero in computing IS.
weno_rmureal(kind=R8P)inInverse of the descaler (1: Jiang-Shu weights).
Vreal(kind=R8P)inVariables to be reconstructed.
VRreal(kind=R8P)outLeft and right (1,2) interface value of reconstructed V.

Call graph

weno_reconstruct_upwind_wratio_dev ​

Reconstruct (or interpolate) by WENO upwind method of 2S-1 order, returning also the smoothness ratio of each interface, WRATIO(f) = min_k w(f,k) / weno_a(f,k,S); device twin of weno_reconstruct_upwind_wratio, non TBP.

fortran
subroutine weno_reconstruct_upwind_wratio_dev(S, weno_a, weno_p, weno_d, weno_zeps, weno_rmu, V, VR, WRATIO)

Arguments

NameTypeIntentAttributesDescription
Sinteger(kind=I4P)inNumber of stencils used.
weno_areal(kind=R8P)inOptimal weights.
weno_preal(kind=R8P)inPolinomials coefficients.
weno_dreal(kind=R8P)inSmoothness indicators coefficients.
weno_zepsreal(kind=R8P)inParameter for avoiding division by zero in computing IS.
weno_rmureal(kind=R8P)inInverse of the descaler (1: Jiang-Shu weights).
Vreal(kind=R8P)inVariables to be reconstructed.
VRreal(kind=R8P)outLeft and right (1,2) interface value of reconstructed V.
WRATIOreal(kind=R8P)outLeft and right (1,2) interface smoothness ratio.

Call graph

weno_compute_convolution_device ​

Compute WENO convulution, non TBP.

fortran
subroutine weno_compute_convolution_device(S, VP, w, VR)

Arguments

NameTypeIntentAttributesDescription
Sinteger(kind=I4P)inNumber of stencils used.
VPreal(kind=R8P)inPolynomial reconstructions.
wreal(kind=R8P)inWeights of the stencils.
VRreal(kind=R8P)outLeft and right (1,2) interface value of reconstructed V.

Call graph

weno_compute_polynomials_device ​

Compute WENO polynomials, non TBP.

fortran
subroutine weno_compute_polynomials_device(S, weno_p, V, VP)

Arguments

NameTypeIntentAttributesDescription
Sinteger(kind=I4P)inNumber of stencils used.
weno_preal(kind=R8P)inPolinomials coefficients.
Vreal(kind=R8P)inVariable to be reconstructed.
VPreal(kind=R8P)outPolynomial reconstructions.

Call graph

weno_compute_weights_device ​

Compute WENO weights, non TBP: a = d / (zeps + (IS rmu) rmu)**wexp, rmu the inverse of the descaler (host twin).

fortran
subroutine weno_compute_weights_device(S, weno_a, weno_d, weno_zeps, weno_rmu, V, w)

Arguments

NameTypeIntentAttributesDescription
Sinteger(kind=I4P)inNumber of stencils used.
weno_areal(kind=R8P)inOptimal weights.
weno_dreal(kind=R8P)inSmoothness indicators coefficients.
weno_zepsreal(kind=R8P)inParameter for avoiding division by zero in computing IS.
weno_rmureal(kind=R8P)inInverse of the descaler (1: Jiang-Shu weights).
Vreal(kind=R8P)inVariable to be reconstructed.
wreal(kind=R8P)outWeights of the stencils.

Call graph