Appearance
adam_fdv_operators_library
ADAM, finite difference/volume operators approximations library.
Source: src/lib/common/adam_fdv_operators_library.F90
Dependencies
Contents
- 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
- compute_curl_fd_centered
- compute_derivative1_fd_centered
- compute_derivative2_fd_centered
- compute_derivative3_fd_centered
- compute_derivative4_fd_centered
- compute_derivative5_fd_centered
- compute_derivative6_fd_centered
- compute_divergence_fd_centered
- compute_gradient_fd_centered
- compute_laplacian_fd_centered
- compute_reconstruction_r_fd_centered
- compute_curl_fv_centered
- compute_derivative1_fv_centered
- compute_derivative2_fv_centered
- compute_derivative3_fv_centered
- compute_derivative4_fv_centered
- compute_derivative5_fv_centered
- compute_derivative6_fv_centered
- compute_divergence_fv_centered
- compute_gradient_fv_centered
- compute_laplacian_fv_centered
- compute_reconstruction_r_fv_centered
- compute_reconstruction_r_fv_centered_d1
- compute_reconstruction_r_fv_centered_d2
- compute_reconstruction_r_fv_centered_d3
- compute_reconstruction_r_fv_centered_d4
- compute_reconstruction_r_fv_centered_d5
- compute_avg_to_point
- compute_point_to_avg
- compute_derivative1_fv_rupwind
- compute_derivative2_fv_rupwind
- compute_derivative3_fv_rupwind
- compute_derivative4_fv_rupwind
- compute_derivative5_fv_rupwind
- compute_derivative6_fv_rupwind
- compute_reconstruction_r_fv_rupwind
- compute_reconstruction_r_fv_rupwind_d1
- compute_reconstruction_r_fv_rupwind_d2
- compute_reconstruction_r_fv_rupwind_d3
- compute_reconstruction_r_fv_rupwind_d4
- compute_derivative1_fv_lupwind
- compute_derivative2_fv_lupwind
- compute_derivative3_fv_lupwind
- compute_derivative4_fv_lupwind
- compute_derivative5_fv_lupwind
- compute_derivative6_fv_lupwind
- compute_reconstruction_r_fv_lupwind
- compute_reconstruction_r_fv_lupwind_d1
- compute_reconstruction_r_fv_lupwind_d2
- compute_reconstruction_r_fv_lupwind_d3
- compute_reconstruction_r_fv_lupwind_d4
Variables
| Name | Type | Attributes | Description |
|---|---|---|---|
S_MAX | integer(kind=I4P) | parameter | Maximum (half) stencil length. |
FDV_S_MAX | integer(kind=I4P) | parameter | Public name of S_MAX. |
FD0_CC_S1 | real(kind=R8P) | parameter | FD0C, S1. |
FD0_CC_S2 | real(kind=R8P) | parameter | FD0C, S2. |
FD0_CC_S3 | real(kind=R8P) | parameter | FD0C, S3. |
FD0_CC_S4 | real(kind=R8P) | parameter | FD0C, S4. |
FD0_CC_S5 | real(kind=R8P) | parameter | FD0C, S5. |
FD0_CC | real(kind=R8P) | parameter | Finite difference derivative 0 centered coefficients. |
FD1_CC_S1 | real(kind=R8P) | parameter | FD1C, S1. |
FD1_CC_S2 | real(kind=R8P) | parameter | FD1C, S2. |
FD1_CC_S3 | real(kind=R8P) | parameter | FD1C, S3. |
FD1_CC_S4 | real(kind=R8P) | parameter | FD1C, S4. |
FD1_CC_S5 | real(kind=R8P) | parameter | FD1C, S5. |
FD1_CC | real(kind=R8P) | parameter | Finite difference derivative 1 centered coefficients. |
FD2_CC_S1 | real(kind=R8P) | parameter | FD2C, S1. |
FD2_CC_S2 | real(kind=R8P) | parameter | FD2C, S2. |
FD2_CC_S3 | real(kind=R8P) | parameter | FD2C, S3. |
FD2_CC_S4 | real(kind=R8P) | parameter | FD2C, S4. |
FD2_CC_S5 | real(kind=R8P) | parameter | FD2C, S5. |
FD2_CC | real(kind=R8P) | parameter | Finite difference derivative 2 centered coefficients. |
FD3_CC_S1 | real(kind=R8P) | parameter | FD3C,S1. |
FD3_CC_S2 | real(kind=R8P) | parameter | FD3C,S2. |
FD3_CC_S3 | real(kind=R8P) | parameter | FD3C,S3. |
FD3_CC_S4 | real(kind=R8P) | parameter | FD3C,S4. |
FD3_CC_S5 | real(kind=R8P) | parameter | FD3C,S5. |
FD3_CC | real(kind=R8P) | parameter | Finite difference derivative 3 centered coefficients. |
FD4_CC_S1 | real(kind=R8P) | parameter | FD4C,S1. |
FD4_CC_S2 | real(kind=R8P) | parameter | FD4C,S2. |
FD4_CC_S3 | real(kind=R8P) | parameter | FD4C,S3. |
FD4_CC_S4 | real(kind=R8P) | parameter | FD4C,S4. |
FD4_CC_S5 | real(kind=R8P) | parameter | FD4C,S5. |
FD4_CC | real(kind=R8P) | parameter | Finite difference derivative 4 centered coefficients. |
FD5_CC_S2 | real(kind=R8P) | parameter | FD5C,S1. |
FD5_CC_S1 | real(kind=R8P) | parameter | FD5C,S2. |
FD5_CC_S3 | real(kind=R8P) | parameter | FD5C,S3. |
FD5_CC_S4 | real(kind=R8P) | parameter | FD5C,S4. |
FD5_CC_S5 | real(kind=R8P) | parameter | FD5C,S5. |
FD5_CC | real(kind=R8P) | parameter | Finite difference derivative 5 centered coefficients. |
FD6_CC_S2 | real(kind=R8P) | parameter | FD6C,S1. |
FD6_CC_S1 | real(kind=R8P) | parameter | FD6C,S2. |
FD6_CC_S3 | real(kind=R8P) | parameter | FD6C,S3. |
FD6_CC_S4 | real(kind=R8P) | parameter | FD6C,S4. |
FD6_CC_S5 | real(kind=R8P) | parameter | FD6C,S5. |
FD6_CC | real(kind=R8P) | parameter | Finite difference derivative 6 centered coefficients. |
FV1_CC_S1 | real(kind=R8P) | parameter | FV1C, S1. |
FV1_CC_S2 | real(kind=R8P) | parameter | FV1C, S2. |
FV1_CC_S3 | real(kind=R8P) | parameter | FV1C, S3. |
FV1_CC_S4 | real(kind=R8P) | parameter | FV1C, S4. |
FV1_CC_S5 | real(kind=R8P) | parameter | FV1C, S5. |
FV1_CC | real(kind=R8P) | parameter | Finite volume centered reconstruction coefficients. |
FVR1_CC_S1 | real(kind=R8P) | parameter | |
FVR1_CC_S2 | real(kind=R8P) | parameter | |
FVR1_CC_S3 | real(kind=R8P) | parameter | |
FVR1_CC_S4 | real(kind=R8P) | parameter | |
FVR1_CC_S5 | real(kind=R8P) | parameter | |
FVR1_CC | real(kind=R8P) | parameter | FVR1_CC table. |
FVR2_CC_S1 | real(kind=R8P) | parameter | |
FVR2_CC_S2 | real(kind=R8P) | parameter | |
FVR2_CC_S3 | real(kind=R8P) | parameter | |
FVR2_CC_S4 | real(kind=R8P) | parameter | |
FVR2_CC_S5 | real(kind=R8P) | parameter | |
FVR2_CC | real(kind=R8P) | parameter | FVR2_CC table. |
FVR3_CC_S1 | real(kind=R8P) | parameter | |
FVR3_CC_S2 | real(kind=R8P) | parameter | |
FVR3_CC_S3 | real(kind=R8P) | parameter | |
FVR3_CC_S4 | real(kind=R8P) | parameter | |
FVR3_CC_S5 | real(kind=R8P) | parameter | |
FVR3_CC | real(kind=R8P) | parameter | FVR3_CC table. |
FVR4_CC_S1 | real(kind=R8P) | parameter | |
FVR4_CC_S2 | real(kind=R8P) | parameter | |
FVR4_CC_S3 | real(kind=R8P) | parameter | |
FVR4_CC_S4 | real(kind=R8P) | parameter | |
FVR4_CC_S5 | real(kind=R8P) | parameter | |
FVR4_CC | real(kind=R8P) | parameter | FVR4_CC table. |
FVR5_CC_S1 | real(kind=R8P) | parameter | |
FVR5_CC_S2 | real(kind=R8P) | parameter | |
FVR5_CC_S3 | real(kind=R8P) | parameter | |
FVR5_CC_S4 | real(kind=R8P) | parameter | |
FVR5_CC_S5 | real(kind=R8P) | parameter | |
FVR5_CC | real(kind=R8P) | parameter | FVR5_CC table. |
DECONV_A2P_S1 | real(kind=R8P) | parameter | |
DECONV_A2P_S2 | real(kind=R8P) | parameter | |
DECONV_A2P_S3 | real(kind=R8P) | parameter | |
DECONV_A2P_S4 | real(kind=R8P) | parameter | |
DECONV_A2P_S5 | real(kind=R8P) | parameter | |
DECONV_A2P | real(kind=R8P) | parameter | DECONV_A2P table. |
DECONV_P2A_S1 | real(kind=R8P) | parameter | |
DECONV_P2A_S2 | real(kind=R8P) | parameter | |
DECONV_P2A_S3 | real(kind=R8P) | parameter | |
DECONV_P2A_S4 | real(kind=R8P) | parameter | |
DECONV_P2A_S5 | real(kind=R8P) | parameter | |
DECONV_P2A | real(kind=R8P) | parameter | DECONV_P2A table. |
FV1_UR_S1 | real(kind=R8P) | parameter | FV1UR, S1. |
FV1_UR_S2 | real(kind=R8P) | parameter | FV1UR, S2. |
FV1_UR_S3 | real(kind=R8P) | parameter | FV1UR, S3. |
FV1_UR_S4 | real(kind=R8P) | parameter | FV1UR, S4. |
FV1_UR_S5 | real(kind=R8P) | parameter | FV1UR, S5. |
FV1_UR | real(kind=R8P) | parameter | Finite volume right-upwind reconstruction coefficients. |
FV1_UL_S1 | real(kind=R8P) | parameter | FV1UL, S1. |
FV1_UL_S2 | real(kind=R8P) | parameter | FV1UL, S2. |
FV1_UL_S3 | real(kind=R8P) | parameter | FV1UL, S3. |
FV1_UL_S4 | real(kind=R8P) | parameter | FV1UL, S4. |
FV1_UL_S5 | real(kind=R8P) | parameter | FV1UL, S5. |
FV1_UL | real(kind=R8P) | parameter | Finite volume left-upwind reconstruction coefficients. |
FVUR1_CC_S1 | real(kind=R8P) | parameter | |
FVUR1_CC_S2 | real(kind=R8P) | parameter | |
FVUR1_CC_S3 | real(kind=R8P) | parameter | |
FVUR1_CC_S4 | real(kind=R8P) | parameter | |
FVUR1_CC_S5 | real(kind=R8P) | parameter | |
FVUR1_CC | real(kind=R8P) | parameter | FVUR1_CC table. |
FVUR2_CC_S1 | real(kind=R8P) | parameter | |
FVUR2_CC_S2 | real(kind=R8P) | parameter | |
FVUR2_CC_S3 | real(kind=R8P) | parameter | |
FVUR2_CC_S4 | real(kind=R8P) | parameter | |
FVUR2_CC_S5 | real(kind=R8P) | parameter | |
FVUR2_CC | real(kind=R8P) | parameter | FVUR2_CC table. |
FVUR3_CC_S1 | real(kind=R8P) | parameter | |
FVUR3_CC_S2 | real(kind=R8P) | parameter | |
FVUR3_CC_S3 | real(kind=R8P) | parameter | |
FVUR3_CC_S4 | real(kind=R8P) | parameter | |
FVUR3_CC_S5 | real(kind=R8P) | parameter | |
FVUR3_CC | real(kind=R8P) | parameter | FVUR3_CC table. |
FVUR4_CC_S1 | real(kind=R8P) | parameter | |
FVUR4_CC_S2 | real(kind=R8P) | parameter | |
FVUR4_CC_S3 | real(kind=R8P) | parameter | |
FVUR4_CC_S4 | real(kind=R8P) | parameter | |
FVUR4_CC_S5 | real(kind=R8P) | parameter | |
FVUR4_CC | real(kind=R8P) | parameter | FVUR4_CC table. |
FVUL1_CC_S1 | real(kind=R8P) | parameter | |
FVUL1_CC_S2 | real(kind=R8P) | parameter | |
FVUL1_CC_S3 | real(kind=R8P) | parameter | |
FVUL1_CC_S4 | real(kind=R8P) | parameter | |
FVUL1_CC_S5 | real(kind=R8P) | parameter | |
FVUL1_CC | real(kind=R8P) | parameter | FVUL1_CC table. |
FVUL2_CC_S1 | real(kind=R8P) | parameter | |
FVUL2_CC_S2 | real(kind=R8P) | parameter | |
FVUL2_CC_S3 | real(kind=R8P) | parameter | |
FVUL2_CC_S4 | real(kind=R8P) | parameter | |
FVUL2_CC_S5 | real(kind=R8P) | parameter | |
FVUL2_CC | real(kind=R8P) | parameter | FVUL2_CC table. |
FVUL3_CC_S1 | real(kind=R8P) | parameter | |
FVUL3_CC_S2 | real(kind=R8P) | parameter | |
FVUL3_CC_S3 | real(kind=R8P) | parameter | |
FVUL3_CC_S4 | real(kind=R8P) | parameter | |
FVUL3_CC_S5 | real(kind=R8P) | parameter | |
FVUL3_CC | real(kind=R8P) | parameter | FVUL3_CC table. |
FVUL4_CC_S1 | real(kind=R8P) | parameter | |
FVUL4_CC_S2 | real(kind=R8P) | parameter | |
FVUL4_CC_S3 | real(kind=R8P) | parameter | |
FVUL4_CC_S4 | real(kind=R8P) | parameter | |
FVUL4_CC_S5 | real(kind=R8P) | parameter | |
FVUL4_CC | real(kind=R8P) | parameter | FVUL4_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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
dxyz | real(kind=R8P) | in | Space steps [1:3]. | |
q | real(kind=R8P) | in | Vector field over the stencil [1:3,1-s:1+s,1-s:1+s,1-s:1+s]. | |
curl | real(kind=R8P) | out | Curl 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, order=2*s. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s]. | |
dq_ds | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, order=2*s. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s]. | |
d2q_ds2 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, order=2*s. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s]. | |
d3q_ds3 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, order=2*s-2. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s]. | |
d4q_ds4 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, order=2*s. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s]. | |
d5q_ds5 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, order=2*s-4. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s]. | |
d6q_ds6 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
dxyz | real(kind=R8P) | in | Space steps [1:3]. | |
q | real(kind=R8P) | in | Vector field over the stencil [1:3,1-s:1+s,1-s:1+s,1-s:1+s]. | |
divergence | real(kind=R8P) | out | Divergence 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
dxyz | real(kind=R8P) | in | Space steps [1:3]. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s,1-s:1+s,1-s:1+s]. | |
gradient | real(kind=R8P) | out | Gradient 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
dxyz | real(kind=R8P) | in | Space steps [1:3]. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s,1-s:1+s,1-s:1+s]. | |
laplacian | real(kind=R8P) | out | Laplacian 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:s]. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
dxyz | real(kind=R8P) | in | Space steps [1:3]. | |
q | real(kind=R8P) | in | Vector field over the stencil [1:3,1-s:1+s,1-s:1+s,1-s:1+s]. | |
curl | real(kind=R8P) | out | Curl 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s]. | |
dq_ds | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s]. | |
d2q_ds2 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s]. | |
d3q_ds3 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s]. | |
d4q_ds4 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s]. | |
d5q_ds5 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s]. | |
d6q_ds6 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
dxyz | real(kind=R8P) | in | Space steps [1:3]. | |
q | real(kind=R8P) | in | Vector field over the stencil [1:3,1-s:1+s,1-s:1+s,1-s:1+s]. | |
divergence | real(kind=R8P) | out | Divergence 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
dxyz | real(kind=R8P) | in | Space steps [1:3]. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s,1-s:1+s,1-s:1+s]. | |
gradient | real(kind=R8P) | out | Gradient 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
dxyz | real(kind=R8P) | in | Space steps [1:3]. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:1+s,1-s:1+s,1-s:1+s]. | |
laplacian | real(kind=R8P) | out | Laplacian 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:s]. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:s]. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:s]. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:s]. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:s]. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:s]. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
q | real(kind=R8P) | in | Cell averages over the stencil [1-s:1+s] (centered on cell i at index 1). | |
qp | real(kind=R8P) | out | Cell-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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, half of accuracy order. | |
q | real(kind=R8P) | in | Cell-center point values over the stencil [1-s:1+s] (cell i at index 1). | |
qa | real(kind=R8P) | out | Cell 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the stencil [0:1+s]. | |
dq_ds | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | One-sided stencil [1-s:1], cell i at q(1) (reaches cells i-s..i). | |
d2q_ds2 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | One-sided stencil [1-s:1], cell i at q(1) (reaches cells i-s..i). | |
d3q_ds3 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | One-sided stencil [1-s:1], cell i at q(1) (reaches cells i-s..i). | |
d4q_ds4 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | One-sided stencil [1-s:1], cell i at q(1) (reaches cells i-s..i). | |
d5q_ds5 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the one-sided stencil. | |
d6q_ds6 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, accuracy order. | |
q | real(kind=R8P) | in | Scalar field over the stencil [0:s]. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len. | |
q | real(kind=R8P) | in | Cell averages, one-sided window: q(k)=cell c-(k-1). | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len. | |
q | real(kind=R8P) | in | Cell averages over the one-sided window. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len. | |
q | real(kind=R8P) | in | Cell averages over the one-sided window. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len. | |
q | real(kind=R8P) | in | Cell averages over the one-sided window. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the stencil [-s:0]. | |
dq_ds | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | One-sided stencil [0:s] ahead, cell i at q(0). | |
d2q_ds2 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | One-sided stencil [0:s] ahead, cell i at q(0). | |
d3q_ds3 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | One-sided stencil [0:s] ahead, cell i at q(0). | |
d4q_ds4 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | One-sided stencil [0:s] ahead, cell i at q(0). | |
d5q_ds5 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, accuracy order. | |
ds | real(kind=R8P) | in | Space step. | |
q | real(kind=R8P) | in | Scalar field over the one-sided stencil. | |
d6q_ds6 | real(kind=R8P) | out | Derivative 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len, accuracy order. | |
q | real(kind=R8P) | in | Scalar field over the stencil [1-s:0]. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len. | |
q | real(kind=R8P) | in | Cell averages, one-sided window ahead: q(1)=cell c+1. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len. | |
q | real(kind=R8P) | in | Cell averages over the one-sided window ahead. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len. | |
q | real(kind=R8P) | in | Cell averages over the one-sided window ahead. | |
qr | real(kind=R8P) | out | Reconstruction 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
| Name | Type | Intent | Attributes | Description |
|---|---|---|---|---|
s | integer(kind=I4P) | in | Stencil len. | |
q | real(kind=R8P) | in | Cell averages over the one-sided window ahead. | |
qr | real(kind=R8P) | out | Reconstruction of d4 at the face. |
Call graph