Appearance
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
- weno_reconstruct_upwind_dev
- weno_reconstruct_upwind_wratio_dev
- weno_compute_convolution_device
- weno_compute_polynomials_device
- weno_compute_weights_device
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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
S | integer(kind=I4P) | in | Number of stencils used. | |
weno_a | real(kind=R8P) | in | Optimal weights. | |
weno_p | real(kind=R8P) | in | Polinomials coefficients. | |
weno_d | real(kind=R8P) | in | Smoothness indicators coefficients. | |
weno_zeps | real(kind=R8P) | in | Parameter for avoiding division by zero in computing IS. | |
weno_rmu | real(kind=R8P) | in | Inverse of the descaler (1: Jiang-Shu weights). | |
V | real(kind=R8P) | in | Variables to be reconstructed. | |
VR | real(kind=R8P) | out | Left 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
S | integer(kind=I4P) | in | Number of stencils used. | |
weno_a | real(kind=R8P) | in | Optimal weights. | |
weno_p | real(kind=R8P) | in | Polinomials coefficients. | |
weno_d | real(kind=R8P) | in | Smoothness indicators coefficients. | |
weno_zeps | real(kind=R8P) | in | Parameter for avoiding division by zero in computing IS. | |
weno_rmu | real(kind=R8P) | in | Inverse of the descaler (1: Jiang-Shu weights). | |
V | real(kind=R8P) | in | Variables to be reconstructed. | |
VR | real(kind=R8P) | out | Left and right (1,2) interface value of reconstructed V. | |
WRATIO | real(kind=R8P) | out | Left 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
S | integer(kind=I4P) | in | Number of stencils used. | |
VP | real(kind=R8P) | in | Polynomial reconstructions. | |
w | real(kind=R8P) | in | Weights of the stencils. | |
VR | real(kind=R8P) | out | Left 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
S | integer(kind=I4P) | in | Number of stencils used. | |
weno_p | real(kind=R8P) | in | Polinomials coefficients. | |
V | real(kind=R8P) | in | Variable to be reconstructed. | |
VP | real(kind=R8P) | out | Polynomial 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
S | integer(kind=I4P) | in | Number of stencils used. | |
weno_a | real(kind=R8P) | in | Optimal weights. | |
weno_d | real(kind=R8P) | in | Smoothness indicators coefficients. | |
weno_zeps | real(kind=R8P) | in | Parameter for avoiding division by zero in computing IS. | |
weno_rmu | real(kind=R8P) | in | Inverse of the descaler (1: Jiang-Shu weights). | |
V | real(kind=R8P) | in | Variable to be reconstructed. | |
w | real(kind=R8P) | out | Weights of the stencils. |
Call graph