weno_NM Module

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.


Uses

  • module~~weno_nm~~UsesGraph module~weno_nm weno_NM module~vartypes vartypes module~weno_nm->module~vartypes iso_fortran_env iso_fortran_env module~vartypes->iso_fortran_env

Used by

  • module~~weno_nm~~UsedByGraph module~weno_nm weno_NM module~face_interpolant face_interpolant module~face_interpolant->module~weno_nm module~boundary_state_reconstruction boundary_state_reconstruction module~boundary_state_reconstruction->module~face_interpolant module~time time module~time->module~face_interpolant module~ausmp ausmP module~ausmp->module~face_interpolant module~scheme scheme module~scheme->module~face_interpolant module~scheme->module~ausmp module~update update module~update->module~face_interpolant module~update->module~boundary_state_reconstruction module~update->module~time module~update->module~scheme module~solver solver module~solver->module~time module~solver->module~scheme module~solver->module~update program~main main program~main->module~solver

Contents


Subroutines

private subroutine compute_face_states(qp, f_qp_left, f_qp_right, flags, cells, dims)

Subroutine to calculate state at the face, generalized for all direction : I,J, and K.

Arguments

Type IntentOptional AttributesName
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 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 at faces

integer, intent(in), dimension(3):: flags

flags for direction switch

type(celltype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+2):: cells

Input cell quantities: volume

type(extent), intent(in) :: dims

Extent of the domain:imx,jmx,kmx

public 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

Arguments

Type IntentOptional AttributesName
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