Skip to content

adam_fdv_operators_library

ADAM, finite difference/volume operators approximations library.

Source: src/lib/common/adam_fdv_operators_library.F90

Dependencies

Contents

Variables

NameTypeAttributesDescription
S_MAXinteger(kind=I4P)parameterMaximum (half) stencil length.
FDV_S_MAXinteger(kind=I4P)parameterPublic name of S_MAX.
FD0_CC_S1real(kind=R8P)parameterFD0C, S1.
FD0_CC_S2real(kind=R8P)parameterFD0C, S2.
FD0_CC_S3real(kind=R8P)parameterFD0C, S3.
FD0_CC_S4real(kind=R8P)parameterFD0C, S4.
FD0_CC_S5real(kind=R8P)parameterFD0C, S5.
FD0_CCreal(kind=R8P)parameterFinite difference derivative 0 centered coefficients.
FD1_CC_S1real(kind=R8P)parameterFD1C, S1.
FD1_CC_S2real(kind=R8P)parameterFD1C, S2.
FD1_CC_S3real(kind=R8P)parameterFD1C, S3.
FD1_CC_S4real(kind=R8P)parameterFD1C, S4.
FD1_CC_S5real(kind=R8P)parameterFD1C, S5.
FD1_CCreal(kind=R8P)parameterFinite difference derivative 1 centered coefficients.
FD2_CC_S1real(kind=R8P)parameterFD2C, S1.
FD2_CC_S2real(kind=R8P)parameterFD2C, S2.
FD2_CC_S3real(kind=R8P)parameterFD2C, S3.
FD2_CC_S4real(kind=R8P)parameterFD2C, S4.
FD2_CC_S5real(kind=R8P)parameterFD2C, S5.
FD2_CCreal(kind=R8P)parameterFinite difference derivative 2 centered coefficients.
FD3_CC_S1real(kind=R8P)parameterFD3C,S1.
FD3_CC_S2real(kind=R8P)parameterFD3C,S2.
FD3_CC_S3real(kind=R8P)parameterFD3C,S3.
FD3_CC_S4real(kind=R8P)parameterFD3C,S4.
FD3_CC_S5real(kind=R8P)parameterFD3C,S5.
FD3_CCreal(kind=R8P)parameterFinite difference derivative 3 centered coefficients.
FD4_CC_S1real(kind=R8P)parameterFD4C,S1.
FD4_CC_S2real(kind=R8P)parameterFD4C,S2.
FD4_CC_S3real(kind=R8P)parameterFD4C,S3.
FD4_CC_S4real(kind=R8P)parameterFD4C,S4.
FD4_CC_S5real(kind=R8P)parameterFD4C,S5.
FD4_CCreal(kind=R8P)parameterFinite difference derivative 4 centered coefficients.
FD5_CC_S2real(kind=R8P)parameterFD5C,S1.
FD5_CC_S1real(kind=R8P)parameterFD5C,S2.
FD5_CC_S3real(kind=R8P)parameterFD5C,S3.
FD5_CC_S4real(kind=R8P)parameterFD5C,S4.
FD5_CC_S5real(kind=R8P)parameterFD5C,S5.
FD5_CCreal(kind=R8P)parameterFinite difference derivative 5 centered coefficients.
FD6_CC_S2real(kind=R8P)parameterFD6C,S1.
FD6_CC_S1real(kind=R8P)parameterFD6C,S2.
FD6_CC_S3real(kind=R8P)parameterFD6C,S3.
FD6_CC_S4real(kind=R8P)parameterFD6C,S4.
FD6_CC_S5real(kind=R8P)parameterFD6C,S5.
FD6_CCreal(kind=R8P)parameterFinite difference derivative 6 centered coefficients.
FV1_CC_S1real(kind=R8P)parameterFV1C, S1.
FV1_CC_S2real(kind=R8P)parameterFV1C, S2.
FV1_CC_S3real(kind=R8P)parameterFV1C, S3.
FV1_CC_S4real(kind=R8P)parameterFV1C, S4.
FV1_CC_S5real(kind=R8P)parameterFV1C, S5.
FV1_CCreal(kind=R8P)parameterFinite volume centered reconstruction coefficients.
FVR1_CC_S1real(kind=R8P)parameter
FVR1_CC_S2real(kind=R8P)parameter
FVR1_CC_S3real(kind=R8P)parameter
FVR1_CC_S4real(kind=R8P)parameter
FVR1_CC_S5real(kind=R8P)parameter
FVR1_CCreal(kind=R8P)parameterFVR1_CC table.
FVR2_CC_S1real(kind=R8P)parameter
FVR2_CC_S2real(kind=R8P)parameter
FVR2_CC_S3real(kind=R8P)parameter
FVR2_CC_S4real(kind=R8P)parameter
FVR2_CC_S5real(kind=R8P)parameter
FVR2_CCreal(kind=R8P)parameterFVR2_CC table.
FVR3_CC_S1real(kind=R8P)parameter
FVR3_CC_S2real(kind=R8P)parameter
FVR3_CC_S3real(kind=R8P)parameter
FVR3_CC_S4real(kind=R8P)parameter
FVR3_CC_S5real(kind=R8P)parameter
FVR3_CCreal(kind=R8P)parameterFVR3_CC table.
FVR4_CC_S1real(kind=R8P)parameter
FVR4_CC_S2real(kind=R8P)parameter
FVR4_CC_S3real(kind=R8P)parameter
FVR4_CC_S4real(kind=R8P)parameter
FVR4_CC_S5real(kind=R8P)parameter
FVR4_CCreal(kind=R8P)parameterFVR4_CC table.
FVR5_CC_S1real(kind=R8P)parameter
FVR5_CC_S2real(kind=R8P)parameter
FVR5_CC_S3real(kind=R8P)parameter
FVR5_CC_S4real(kind=R8P)parameter
FVR5_CC_S5real(kind=R8P)parameter
FVR5_CCreal(kind=R8P)parameterFVR5_CC table.
DECONV_A2P_S1real(kind=R8P)parameter
DECONV_A2P_S2real(kind=R8P)parameter
DECONV_A2P_S3real(kind=R8P)parameter
DECONV_A2P_S4real(kind=R8P)parameter
DECONV_A2P_S5real(kind=R8P)parameter
DECONV_A2Preal(kind=R8P)parameterDECONV_A2P table.
DECONV_P2A_S1real(kind=R8P)parameter
DECONV_P2A_S2real(kind=R8P)parameter
DECONV_P2A_S3real(kind=R8P)parameter
DECONV_P2A_S4real(kind=R8P)parameter
DECONV_P2A_S5real(kind=R8P)parameter
DECONV_P2Areal(kind=R8P)parameterDECONV_P2A table.
FV1_UR_S1real(kind=R8P)parameterFV1UR, S1.
FV1_UR_S2real(kind=R8P)parameterFV1UR, S2.
FV1_UR_S3real(kind=R8P)parameterFV1UR, S3.
FV1_UR_S4real(kind=R8P)parameterFV1UR, S4.
FV1_UR_S5real(kind=R8P)parameterFV1UR, S5.
FV1_URreal(kind=R8P)parameterFinite volume right-upwind reconstruction coefficients.
FV1_UL_S1real(kind=R8P)parameterFV1UL, S1.
FV1_UL_S2real(kind=R8P)parameterFV1UL, S2.
FV1_UL_S3real(kind=R8P)parameterFV1UL, S3.
FV1_UL_S4real(kind=R8P)parameterFV1UL, S4.
FV1_UL_S5real(kind=R8P)parameterFV1UL, S5.
FV1_ULreal(kind=R8P)parameterFinite volume left-upwind reconstruction coefficients.
FVUR1_CC_S1real(kind=R8P)parameter
FVUR1_CC_S2real(kind=R8P)parameter
FVUR1_CC_S3real(kind=R8P)parameter
FVUR1_CC_S4real(kind=R8P)parameter
FVUR1_CC_S5real(kind=R8P)parameter
FVUR1_CCreal(kind=R8P)parameterFVUR1_CC table.
FVUR2_CC_S1real(kind=R8P)parameter
FVUR2_CC_S2real(kind=R8P)parameter
FVUR2_CC_S3real(kind=R8P)parameter
FVUR2_CC_S4real(kind=R8P)parameter
FVUR2_CC_S5real(kind=R8P)parameter
FVUR2_CCreal(kind=R8P)parameterFVUR2_CC table.
FVUR3_CC_S1real(kind=R8P)parameter
FVUR3_CC_S2real(kind=R8P)parameter
FVUR3_CC_S3real(kind=R8P)parameter
FVUR3_CC_S4real(kind=R8P)parameter
FVUR3_CC_S5real(kind=R8P)parameter
FVUR3_CCreal(kind=R8P)parameterFVUR3_CC table.
FVUR4_CC_S1real(kind=R8P)parameter
FVUR4_CC_S2real(kind=R8P)parameter
FVUR4_CC_S3real(kind=R8P)parameter
FVUR4_CC_S4real(kind=R8P)parameter
FVUR4_CC_S5real(kind=R8P)parameter
FVUR4_CCreal(kind=R8P)parameterFVUR4_CC table.
FVUL1_CC_S1real(kind=R8P)parameter
FVUL1_CC_S2real(kind=R8P)parameter
FVUL1_CC_S3real(kind=R8P)parameter
FVUL1_CC_S4real(kind=R8P)parameter
FVUL1_CC_S5real(kind=R8P)parameter
FVUL1_CCreal(kind=R8P)parameterFVUL1_CC table.
FVUL2_CC_S1real(kind=R8P)parameter
FVUL2_CC_S2real(kind=R8P)parameter
FVUL2_CC_S3real(kind=R8P)parameter
FVUL2_CC_S4real(kind=R8P)parameter
FVUL2_CC_S5real(kind=R8P)parameter
FVUL2_CCreal(kind=R8P)parameterFVUL2_CC table.
FVUL3_CC_S1real(kind=R8P)parameter
FVUL3_CC_S2real(kind=R8P)parameter
FVUL3_CC_S3real(kind=R8P)parameter
FVUL3_CC_S4real(kind=R8P)parameter
FVUL3_CC_S5real(kind=R8P)parameter
FVUL3_CCreal(kind=R8P)parameterFVUL3_CC table.
FVUL4_CC_S1real(kind=R8P)parameter
FVUL4_CC_S2real(kind=R8P)parameter
FVUL4_CC_S3real(kind=R8P)parameter
FVUL4_CC_S4real(kind=R8P)parameter
FVUL4_CC_S5real(kind=R8P)parameter
FVUL4_CCreal(kind=R8P)parameterFVUL4_CC table.

Interfaces

compute_curl_fdv_interface

compute_derivative1_fdv_interface

compute_derivative2_fdv_interface

compute_derivative3_fdv_interface

compute_derivative4_fdv_interface

compute_derivative5_fdv_interface

compute_derivative6_fdv_interface

compute_divergence_fdv_interface

compute_gradient_fdv_interface

compute_laplacian_fdv_interface

Subroutines

compute_curl_fd_centered

Compute curl of q vector field with finite difference centered scheme.

Attributes: pure

fortran
subroutine compute_curl_fd_centered(s, dxyz, q, curl)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
dxyzreal(kind=R8P)inSpace steps [1:3].
qreal(kind=R8P)inVector field over the stencil [1:3,1-s:1+s,1-s:1+s,1-s:1+s].
curlreal(kind=R8P)outCurl of q [1:3].

Call graph

compute_derivative1_fd_centered

Compute derivative of order 1 with finite difference centered scheme.

Attributes: pure

fortran
subroutine compute_derivative1_fd_centered(s, ds, q, dq_ds)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, order=2*s.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s].
dq_dsreal(kind=R8P)outDerivative of order 1 of q, dq/ds.

Call graph

compute_derivative2_fd_centered

Compute derivative of order 2 with finite difference centered scheme.

Attributes: pure

fortran
subroutine compute_derivative2_fd_centered(s, ds, q, d2q_ds2)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, order=2*s.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s].
d2q_ds2real(kind=R8P)outDerivative of order 2 of q, d2q/ds2.

Call graph

compute_derivative3_fd_centered

Compute derivative of order 3 with finite difference centered scheme.

Attributes: pure

fortran
subroutine compute_derivative3_fd_centered(s, ds, q, d3q_ds3)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, order=2*s.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s].
d3q_ds3real(kind=R8P)outDerivative of order 3 of q, d3q/ds3.

compute_derivative4_fd_centered

Compute derivative of order 4 with finite difference centered scheme.

Attributes: pure

fortran
subroutine compute_derivative4_fd_centered(s, ds, q, d4q_ds4)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, order=2*s-2.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s].
d4q_ds4real(kind=R8P)outDerivative of order 4 of q, d4q/ds4.

Call graph

compute_derivative5_fd_centered

Compute derivative of order 5 with finite difference centered scheme.

Attributes: pure

fortran
subroutine compute_derivative5_fd_centered(s, ds, q, d5q_ds5)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, order=2*s.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s].
d5q_ds5real(kind=R8P)outDerivative of order 5 of q, d5q/ds5.

compute_derivative6_fd_centered

Compute derivative of order 6 with finite difference centered scheme.

Attributes: pure

fortran
subroutine compute_derivative6_fd_centered(s, ds, q, d6q_ds6)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, order=2*s-4.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s].
d6q_ds6real(kind=R8P)outDerivative of order 6 of q, d6q/ds6.

compute_divergence_fd_centered

Compute divergence of q vector field with finite difference centered scheme.

Attributes: pure

fortran
subroutine compute_divergence_fd_centered(s, dxyz, q, divergence)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
dxyzreal(kind=R8P)inSpace steps [1:3].
qreal(kind=R8P)inVector field over the stencil [1:3,1-s:1+s,1-s:1+s,1-s:1+s].
divergencereal(kind=R8P)outDivergence of q.

Call graph

compute_gradient_fd_centered

Compute gradient of q scalar field with finite difference centered scheme.

Attributes: pure

fortran
subroutine compute_gradient_fd_centered(s, dxyz, q, gradient)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
dxyzreal(kind=R8P)inSpace steps [1:3].
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s,1-s:1+s,1-s:1+s].
gradientreal(kind=R8P)outGradient of q [1:3].

Call graph

compute_laplacian_fd_centered

Compute laplacian of q scalar field with finite difference centered scheme.

Attributes: pure

fortran
subroutine compute_laplacian_fd_centered(s, dxyz, q, laplacian)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
dxyzreal(kind=R8P)inSpace steps [1:3].
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s,1-s:1+s,1-s:1+s].
laplacianreal(kind=R8P)outLaplacian of q.

Call graph

compute_reconstruction_r_fd_centered

Compute reconstruction at right interface from cell center average values. Centered schemes.

Attributes: pure

fortran
subroutine compute_reconstruction_r_fd_centered(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
qreal(kind=R8P)inScalar field over the stencil [1-s:s].
qrreal(kind=R8P)outReconstruction at right interface of field.

compute_curl_fv_centered

Compute curl of q vector field with finite volume centered scheme.

Attributes: pure

fortran
subroutine compute_curl_fv_centered(s, dxyz, q, curl)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
dxyzreal(kind=R8P)inSpace steps [1:3].
qreal(kind=R8P)inVector field over the stencil [1:3,1-s:1+s,1-s:1+s,1-s:1+s].
curlreal(kind=R8P)outCurl of q [1:3].

Call graph

compute_derivative1_fv_centered

Compute derivative of order 1 with finite volume centered scheme.

Attributes: pure

fortran
subroutine compute_derivative1_fv_centered(s, ds, q, dq_ds)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s].
dq_dsreal(kind=R8P)outDerivative of order 1 of q, dq/ds.

Call graph

compute_derivative2_fv_centered

Compute derivative of order 2 with finite volume centered scheme. SOTA: flux difference of the d1 face reconstruction, d2|i = (g-g_{i-1/2})/ds with g=FVR1. Returns the cell-AVERAGED second derivative (true FV semantics); apply compute_avg_to_point for the point value at high order.

Attributes: pure

fortran
subroutine compute_derivative2_fv_centered(s, ds, q, d2q_ds2)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s].
d2q_ds2real(kind=R8P)outDerivative of order 2 of q, d2q/ds2.

Call graph

compute_derivative3_fv_centered

Compute derivative of order 3 with finite volume centered scheme. SOTA: flux difference of the d2 face reconstruction (g=FVR2). Cell-averaged third derivative.

Attributes: pure

fortran
subroutine compute_derivative3_fv_centered(s, ds, q, d3q_ds3)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s].
d3q_ds3real(kind=R8P)outDerivative of order 3 of q, d3q/ds3.

Call graph

compute_derivative4_fv_centered

Compute derivative of order 4 with finite volume centered scheme. SOTA: flux difference of the d3 face reconstruction (g=FVR3). Cell-averaged fourth derivative.

Attributes: pure

fortran
subroutine compute_derivative4_fv_centered(s, ds, q, d4q_ds4)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s].
d4q_ds4real(kind=R8P)outDerivative of order 4 of q, d4q/ds4.

Call graph

compute_derivative5_fv_centered

Compute derivative of order 5 with finite volume centered scheme. SOTA: flux difference of the d4 face reconstruction (g=FVR4). Cell-averaged fifth derivative.

Attributes: pure

fortran
subroutine compute_derivative5_fv_centered(s, ds, q, d5q_ds5)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s].
d5q_ds5real(kind=R8P)outDerivative of order 5 of q, d5q/ds5.

Call graph

compute_derivative6_fv_centered

Compute derivative of order 6 with finite volume centered scheme. SOTA: flux difference of the d5 face reconstruction (g=FVR5). Cell-averaged sixth derivative.

Attributes: pure

fortran
subroutine compute_derivative6_fv_centered(s, ds, q, d6q_ds6)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s].
d6q_ds6real(kind=R8P)outDerivative of order 6 of q, d6q/ds6.

Call graph

compute_divergence_fv_centered

Compute divergence of q vector field with finite volume centered scheme.

Attributes: pure

fortran
subroutine compute_divergence_fv_centered(s, dxyz, q, divergence)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
dxyzreal(kind=R8P)inSpace steps [1:3].
qreal(kind=R8P)inVector field over the stencil [1:3,1-s:1+s,1-s:1+s,1-s:1+s].
divergencereal(kind=R8P)outDivergence of q.

Call graph

compute_gradient_fv_centered

Compute gradient of q scalar field with finite volume centered scheme.

Attributes: pure

fortran
subroutine compute_gradient_fv_centered(s, dxyz, q, gradient)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
dxyzreal(kind=R8P)inSpace steps [1:3].
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s,1-s:1+s,1-s:1+s].
gradientreal(kind=R8P)outGradient of q [1:3].

Call graph

compute_laplacian_fv_centered

Compute laplacian of q scalar field with finite volume centered scheme.

Attributes: pure

fortran
subroutine compute_laplacian_fv_centered(s, dxyz, q, laplacian)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
dxyzreal(kind=R8P)inSpace steps [1:3].
qreal(kind=R8P)inScalar field over the stencil [1-s:1+s,1-s:1+s,1-s:1+s].
laplacianreal(kind=R8P)outLaplacian of q.

Call graph

compute_reconstruction_r_fv_centered

Compute reconstruction at right interface from cell center average values. Centered schemes.

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_centered(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
qreal(kind=R8P)inScalar field over the stencil [1-s:s].
qrreal(kind=R8P)outReconstruction at right interface of field.

Call graph

compute_reconstruction_r_fv_centered_d1

Reconstruct d1 q at the right interface i+1/2 from cell averages, centered (antisymmetric, FVR1_CC). Specialized branch-free kernel (one per derivative order): the FV derivative ladder differences two adjacent face reconstructions. Avoids per-call dispatch in hot device loops.

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_centered_d1(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
qreal(kind=R8P)inScalar field over the stencil [1-s:s].
qrreal(kind=R8P)outReconstruction of d1 at right interface.

Call graph

compute_reconstruction_r_fv_centered_d2

Reconstruct d2 q at the right interface i+1/2 from cell averages, centered (symmetric, FVR2_CC).

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_centered_d2(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
qreal(kind=R8P)inScalar field over the stencil [1-s:s].
qrreal(kind=R8P)outReconstruction of d2 at right interface.

Call graph

compute_reconstruction_r_fv_centered_d3

Reconstruct d3 q at the right interface i+1/2 from cell averages, centered (antisymmetric, FVR3_CC).

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_centered_d3(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
qreal(kind=R8P)inScalar field over the stencil [1-s:s].
qrreal(kind=R8P)outReconstruction of d3 at right interface.

Call graph

compute_reconstruction_r_fv_centered_d4

Reconstruct d4 q at the right interface i+1/2 from cell averages, centered (symmetric, FVR4_CC).

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_centered_d4(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
qreal(kind=R8P)inScalar field over the stencil [1-s:s].
qrreal(kind=R8P)outReconstruction of d4 at right interface.

Call graph

compute_reconstruction_r_fv_centered_d5

Reconstruct d5 q at the right interface i+1/2 from cell averages, centered (antisymmetric, FVR5_CC).

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_centered_d5(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
qreal(kind=R8P)inScalar field over the stencil [1-s:s].
qrreal(kind=R8P)outReconstruction of d5 at right interface.

Call graph

compute_avg_to_point

q_i = <q>_i + (h^2/24) d2<q> + ... (McCorquodale & Colella 2011; Mignone 2014, Eq.52). Apply after an FV (cell-averaged) derivative to obtain its high-order point value.

Attributes: pure

fortran
subroutine compute_avg_to_point(s, q, qp)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
qreal(kind=R8P)inCell averages over the stencil [1-s:1+s] (centered on cell i at index 1).
qpreal(kind=R8P)outCell-center point value at cell i.

compute_point_to_avg

<q>_i = q_i + (h^2/24) d2 q + ... (inverse of compute_avg_to_point).

Attributes: pure

fortran
subroutine compute_point_to_avg(s, q, qa)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, half of accuracy order.
qreal(kind=R8P)inCell-center point values over the stencil [1-s:1+s] (cell i at index 1).
qareal(kind=R8P)outCell average at cell i.

compute_derivative1_fv_rupwind

Compute derivative of order 1 with finite volume right-upwind scheme.

Attributes: pure

fortran
subroutine compute_derivative1_fv_rupwind(s, ds, q, dq_ds)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the stencil [0:1+s].
dq_dsreal(kind=R8P)outDerivative of order 1 of q, dq/ds.

Call graph

compute_derivative2_fv_rupwind

Compute derivative of order 2 with finite volume right-upwind scheme (SOTA flux difference). d2|i = (g-g_{i-1/2})/ds^2, g = d1 face reconstruction (FVUR1). Cell-averaged d2. Window q(0:s): cell i at q(1); g_{i+1/2} uses q(1:s) (cells i..i-s+1), g_{i-1/2} uses q(0:s-1).

Attributes: pure

fortran
subroutine compute_derivative2_fv_rupwind(s, ds, q, d2q_ds2)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inOne-sided stencil [1-s:1], cell i at q(1) (reaches cells i-s..i).
d2q_ds2real(kind=R8P)outDerivative of order 2 of q, d2q/ds2.

Call graph

compute_derivative3_fv_rupwind

Compute derivative of order 3 with finite volume right-upwind scheme (flux diff of FVUR2). Cell-avg d3.

Attributes: pure

fortran
subroutine compute_derivative3_fv_rupwind(s, ds, q, d3q_ds3)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inOne-sided stencil [1-s:1], cell i at q(1) (reaches cells i-s..i).
d3q_ds3real(kind=R8P)outDerivative of order 3 of q, d3q/ds3.

Call graph

compute_derivative4_fv_rupwind

Compute derivative of order 4 with finite volume right-upwind scheme (flux diff of FVUR3). Cell-avg d4.

Attributes: pure

fortran
subroutine compute_derivative4_fv_rupwind(s, ds, q, d4q_ds4)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inOne-sided stencil [1-s:1], cell i at q(1) (reaches cells i-s..i).
d4q_ds4real(kind=R8P)outDerivative of order 4 of q, d4q/ds4.

Call graph

compute_derivative5_fv_rupwind

Compute derivative of order 5 with finite volume right-upwind scheme (flux diff of FVUR4). Cell-avg d5.

Attributes: pure

fortran
subroutine compute_derivative5_fv_rupwind(s, ds, q, d5q_ds5)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inOne-sided stencil [1-s:1], cell i at q(1) (reaches cells i-s..i).
d5q_ds5real(kind=R8P)outDerivative of order 5 of q, d5q/ds5.

Call graph

compute_derivative6_fv_rupwind

Compute derivative of order 6 with finite volume right-upwind scheme. UNSUPPORTED at FDV_S_MAX=5: the SOTA construction needs the m=5 face reconstruction, a 6-cell one-sided stencil (FVUR5), which requires S_MAX>=6. Returns 0 as an inert sentinel; raise S_MAX and add FVUR5_CC to enable. (Not error_stop: this routine is pure / device-callable.)

Attributes: pure

fortran
subroutine compute_derivative6_fv_rupwind(s, ds, q, d6q_ds6)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the one-sided stencil.
d6q_ds6real(kind=R8P)outDerivative of order 6 of q (returns 0: unsupported at S_MAX=5).

compute_reconstruction_r_fv_rupwind

Compute reconstruction at right interface from cell center average values, left-upwind schemes.

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_rupwind(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, accuracy order.
qreal(kind=R8P)inScalar field over the stencil [0:s].
qrreal(kind=R8P)outReconstruction at right interface of field.

Call graph

compute_reconstruction_r_fv_rupwind_d1

Right-upwind reconstruction of d1 q at the face right of the at-face cell (FVUR1_CC). Specialized branch-free kernel. Window q(1:s) one-sided: q(k) = cell c-(k-1) (c, c-1, ..., c-(s-1)). The upwind d2 ladder flux-differences two adjacent of these.

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_rupwind_d1(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len.
qreal(kind=R8P)inCell averages, one-sided window: q(k)=cell c-(k-1).
qrreal(kind=R8P)outReconstruction of d1 at the face.

Call graph

compute_reconstruction_r_fv_rupwind_d2

Right-upwind reconstruction of d2 q at the face (FVUR2_CC). Window q(1:s): q(k)=cell c-(k-1).

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_rupwind_d2(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len.
qreal(kind=R8P)inCell averages over the one-sided window.
qrreal(kind=R8P)outReconstruction of d2 at the face.

Call graph

compute_reconstruction_r_fv_rupwind_d3

Right-upwind reconstruction of d3 q at the face (FVUR3_CC). Window q(1:s): q(k)=cell c-(k-1).

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_rupwind_d3(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len.
qreal(kind=R8P)inCell averages over the one-sided window.
qrreal(kind=R8P)outReconstruction of d3 at the face.

Call graph

compute_reconstruction_r_fv_rupwind_d4

Right-upwind reconstruction of d4 q at the face (FVUR4_CC). Window q(1:s): q(k)=cell c-(k-1).

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_rupwind_d4(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len.
qreal(kind=R8P)inCell averages over the one-sided window.
qrreal(kind=R8P)outReconstruction of d4 at the face.

Call graph

compute_derivative1_fv_lupwind

Compute derivative of order 1 with finite volume left-upwind scheme.

Attributes: pure

fortran
subroutine compute_derivative1_fv_lupwind(s, ds, q, dq_ds)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the stencil [-s:0].
dq_dsreal(kind=R8P)outDerivative of order 1 of q, dq/ds.

Call graph

compute_derivative2_fv_lupwind

Compute derivative of order 2 with finite volume left-upwind scheme (SOTA flux difference). d2|i = (g-g_{i-1/2})/ds^2, g = d1 face reconstruction (FVUL1). Cell-averaged d2. Window q(0:s): cell i at q(0); g_{i+1/2} uses q(1:s) (cells i+1..i+s), g_{i-1/2} uses q(0:s-1).

Attributes: pure

fortran
subroutine compute_derivative2_fv_lupwind(s, ds, q, d2q_ds2)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inOne-sided stencil [0:s] ahead, cell i at q(0).
d2q_ds2real(kind=R8P)outDerivative of order 2 of q, d2q/ds2.

Call graph

compute_derivative3_fv_lupwind

Compute derivative of order 3 with finite volume left-upwind scheme (flux diff of FVUL2). Cell-avg d3.

Attributes: pure

fortran
subroutine compute_derivative3_fv_lupwind(s, ds, q, d3q_ds3)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inOne-sided stencil [0:s] ahead, cell i at q(0).
d3q_ds3real(kind=R8P)outDerivative of order 3 of q, d3q/ds3.

Call graph

compute_derivative4_fv_lupwind

Compute derivative of order 4 with finite volume left-upwind scheme (flux diff of FVUL3). Cell-avg d4.

Attributes: pure

fortran
subroutine compute_derivative4_fv_lupwind(s, ds, q, d4q_ds4)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inOne-sided stencil [0:s] ahead, cell i at q(0).
d4q_ds4real(kind=R8P)outDerivative of order 4 of q, d4q/ds4.

Call graph

compute_derivative5_fv_lupwind

Compute derivative of order 5 with finite volume left-upwind scheme (flux diff of FVUL4). Cell-avg d5.

Attributes: pure

fortran
subroutine compute_derivative5_fv_lupwind(s, ds, q, d5q_ds5)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inOne-sided stencil [0:s] ahead, cell i at q(0).
d5q_ds5real(kind=R8P)outDerivative of order 5 of q, d5q/ds5.

Call graph

compute_derivative6_fv_lupwind

Compute derivative of order 6 with finite volume left-upwind scheme. UNSUPPORTED at FDV_S_MAX=5: needs the m=5 face reconstruction (FVUL5, 6-cell one-sided), i.e. S_MAX>=6. Returns 0 as an inert sentinel; raise S_MAX and add FVUL5_CC to enable. (pure / device-callable.)

Attributes: pure

fortran
subroutine compute_derivative6_fv_lupwind(s, ds, q, d6q_ds6)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, accuracy order.
dsreal(kind=R8P)inSpace step.
qreal(kind=R8P)inScalar field over the one-sided stencil.
d6q_ds6real(kind=R8P)outDerivative of order 6 of q (returns 0: unsupported at S_MAX=5).

compute_reconstruction_r_fv_lupwind

Compute reconstruction at right interface from cell center average values, left-upwind schemes.

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_lupwind(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len, accuracy order.
qreal(kind=R8P)inScalar field over the stencil [1-s:0].
qrreal(kind=R8P)outReconstruction at right interface of field.

Call graph

compute_reconstruction_r_fv_lupwind_d1

Left-upwind reconstruction of d1 q at the face from one-sided cells ahead {c+1..c+s} (FVUL1_CC). Specialized branch-free kernel. Ascending window q(1:s): q(1)=cell c+1, q(s)=cell c+s.

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_lupwind_d1(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len.
qreal(kind=R8P)inCell averages, one-sided window ahead: q(1)=cell c+1.
qrreal(kind=R8P)outReconstruction of d1 at the face.

Call graph

compute_reconstruction_r_fv_lupwind_d2

Left-upwind reconstruction of d2 q at the face (FVUL2_CC). Ascending window q(1:s): q(1)=cell c+1.

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_lupwind_d2(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len.
qreal(kind=R8P)inCell averages over the one-sided window ahead.
qrreal(kind=R8P)outReconstruction of d2 at the face.

Call graph

compute_reconstruction_r_fv_lupwind_d3

Left-upwind reconstruction of d3 q at the face (FVUL3_CC). Ascending window q(1:s): q(1)=cell c+1.

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_lupwind_d3(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len.
qreal(kind=R8P)inCell averages over the one-sided window ahead.
qrreal(kind=R8P)outReconstruction of d3 at the face.

Call graph

compute_reconstruction_r_fv_lupwind_d4

Left-upwind reconstruction of d4 q at the face (FVUL4_CC). Ascending window q(1:s): q(1)=cell c+1.

Attributes: pure

fortran
subroutine compute_reconstruction_r_fv_lupwind_d4(s, q, qr)

Arguments

NameTypeIntentAttributesDescription
sinteger(kind=I4P)inStencil len.
qreal(kind=R8P)inCell averages over the one-sided window ahead.
qrreal(kind=R8P)outReconstruction of d4 at the face.

Call graph