Reference: 1 Shu, C.-W., “High-order Finite Difference and Finite Volume WENO Schemes and Discontinuous Galerkin Methods for CFD,” International Journal of Computational Fluid Dynamics, vol. 17, 2003, pp. 107–118. Reference: 2 Huang, W. F., Ren, Y. X., and Jiang, X., “A simple algorithm to improve the performance of the WENO scheme on non-uniform grids,” Acta Mechanica Sinica/Lixue Xuebao, 2017, pp. 1–11.
Subroutine to calculate state at the face, generalized for all direction : I,J, and K.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var) | :: | qp | Store primitive variable at cell center |
|
real(kind=wp), | intent(inout), | dimension(1-flags(1):dims%imx-1+2*flags(1), 1-flags(2):dims%jmx-1+2*flags(2), 1-flags(3):dims%kmx-1+2*flags(3), 1:dims%n_var) | :: | f_qp_left | primitive state variable at faces |
|
real(kind=wp), | intent(inout), | dimension(1-flags(1):dims%imx-1+2*flags(1), 1-flags(2):dims%jmx-1+2*flags(2), 1-flags(3):dims%kmx-1+2*flags(3), 1:dims%n_var) | :: | f_qp_right | primitive state variable at faces |
|
integer, | intent(in), | dimension(3) | :: | flags | flags for direction switch |
|
type(extent), | intent(in) | :: | dims | Extent of the domain:imx,jmx,kmx |
Call Weno scheme for all the three direction I,J, and K
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=wp), | intent(in), | dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var) | :: | qp | Store primitive variable at cell center |
|
real(kind=wp), | intent(inout), | dimension(0:dims%imx+1,1:dims%jmx-1,1:dims%kmx-1,1:dims%n_var) | :: | x_qp_l | Store primitive state at the I-face |
|
real(kind=wp), | intent(inout), | dimension(0:dims%imx+1,1:dims%jmx-1,1:dims%kmx-1,1:dims%n_var) | :: | x_qp_r | Store primitive state at the I-face |
|
real(kind=wp), | intent(inout), | dimension(1:dims%imx-1,0:dims%jmx+1,1:dims%kmx-1,1:dims%n_var) | :: | y_qp_l | Store primitive state at the J-face |
|
real(kind=wp), | intent(inout), | dimension(1:dims%imx-1,0:dims%jmx+1,1:dims%kmx-1,1:dims%n_var) | :: | y_qp_r | Store primitive state at the J-face |
|
real(kind=wp), | intent(inout), | dimension(1:dims%imx-1,1:dims%jmx-1,0:dims%kmx+1,1:dims%n_var) | :: | z_qp_l | Store primitive state at the K-face |
|
real(kind=wp), | intent(inout), | dimension(1:dims%imx-1,1:dims%jmx-1,0:dims%kmx+1,1:dims%n_var) | :: | z_qp_r | Store primitive state at the K-face |
|
type(extent), | intent(in) | :: | dims | Extent of the domain:imx,jmx,kmx |