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(celltype), | intent(in), | dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+2) | :: | cells | ||
type(extent), | intent(in) | :: | dims | Extent of the domain:imx,jmx,kmx |
subroutine compute_weno_NM_states(qp, x_qp_l, x_qp_r, y_qp_l, y_qp_r, z_qp_l, z_qp_r, cells, dims)
!< Call Weno scheme for all the three direction I,J, and K
implicit none
type(extent), intent(in) :: dims
!< Extent of the domain:imx,jmx,kmx
real(wp), dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var), intent(in):: qp
!< Store primitive variable at cell center
real(wp), dimension(0:dims%imx+1,1:dims%jmx-1,1:dims%kmx-1,1:dims%n_var), intent(inout) :: x_qp_l, x_qp_r
!< Store primitive state at the I-face
real(wp), dimension(1:dims%imx-1,0:dims%jmx+1,1:dims%kmx-1,1:dims%n_var), intent(inout) :: y_qp_l, y_qp_r
!< Store primitive state at the J-face
real(wp), dimension(1:dims%imx-1,1:dims%jmx-1,0:dims%kmx+1,1:dims%n_var), intent(inout) :: z_qp_l, z_qp_r
!< Store primitive state at the K-face
type(celltype), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+2), intent(in) :: cells
integer, dimension(3) :: flags
!< flags for different directions
flags=(/1,0,0/)
call compute_face_states(qp, x_qp_l, x_qp_r, flags, cells, dims)
flags=(/0,1,0/)
call compute_face_states(qp, y_qp_l, y_qp_r, flags, cells, dims)
flags=(/0,0,1/)
call compute_face_states(qp, z_qp_l, z_qp_r, flags, cells, dims)
end subroutine compute_weno_NM_states