MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_weno.fpp.f90 File Reference

Contains module m_weno. More...

Go to the source code of this file.

Modules

module  m_weno
 WENO/WENO-Z/TENO reconstruction with optional monotonicity-preserving bounds and mapped weights.

Functions/Subroutines

impure subroutine, public m_weno::s_initialize_weno_module
 The computation of parameters, the allocation of memory, the association of pointers and/or the execution of any other procedures that are necessary to setup the module.
subroutine m_weno::s_compute_weno_coefficients (weno_dir, is)
 The purpose of this subroutine is to compute the grid dependent coefficients of the WENO polynomials, ideal weights and smoothness indicators, provided the order, the coordinate direction and the location of the WENO reconstruction.
subroutine, public m_weno::s_weno (v_vf, vl_rs_vf_x, vl_rs_vf_y, vl_rs_vf_z, vr_rs_vf_x, vr_rs_vf_y, vr_rs_vf_z, weno_dir, is1_weno_d, is2_weno_d, is3_weno_d)
 Performs WENO reconstruction of left and right cell-boundary values from cell-averaged variables.
subroutine, public m_weno::s_initialize_weno (v_vf, weno_dir)
 The computation of parameters, the allocation of memory, the association of pointers and/or the execution of any other procedures that are required for the setup of the WENO reconstruction.
subroutine m_weno::s_preserve_monotonicity (v_rs_ws, vl_rs_vf, vr_rs_vf)
 The goal of this subroutine is to ensure that the WENO reconstruction is monotonic. The latter is achieved by enforcing monotonicity preserving bounds of Suresh and Huynh (1997). The resulting MPWENO reconstruction, see Balsara and Shu (2000), ensures that the reconstructed values do not reside outside the range spanned by WENO stencil.
impure subroutine, public m_weno::s_finalize_weno_module ()
 Module deallocation and/or disassociation procedures.

Variables

integer m_weno::v_size
 Number of WENO-reconstructed cell-average variables.
The cell-average variables that will be WENO-reconstructed. Formerly, they

are stored in v_vf. However, they are transferred to v_rs_wsL and v_rs_wsR as to be reshaped (RS) and/or characteristically decomposed. The reshaping allows the WENO procedure to be independent of the coordinate direction of the reconstruction. Lastly, notice that the left (L) and right (R) results of the characteristic decomposition are stored in custom-constructed WENO- stencils (WS) that are annexed to each position of a given scalar field.

real(wp), dimension(:, :, :, :), allocatable m_weno::v_rs_ws_x
real(wp), dimension(:, :, :, :), allocatable m_weno::v_rs_ws_y
real(wp), dimension(:, :, :, :), allocatable m_weno::v_rs_ws_z
Polynomial coefficients at the left and right cell-boundaries (CB) and at

the left and right quadrature points (QP), in the x-, y- and z-directions. Note that the first dimension of the array identifies the polynomial, the second dimension identifies the position of its coefficients and the last dimension denotes the cell-location in the relevant coordinate direction.

real(wp), dimension(:, :, :), allocatable, target m_weno::poly_coef_cbl_x
real(wp), dimension(:, :, :), allocatable, target m_weno::poly_coef_cbl_y
real(wp), dimension(:, :, :), allocatable, target m_weno::poly_coef_cbl_z
real(wp), dimension(:, :, :), allocatable, target m_weno::poly_coef_cbr_x
real(wp), dimension(:, :, :), allocatable, target m_weno::poly_coef_cbr_y
real(wp), dimension(:, :, :), allocatable, target m_weno::poly_coef_cbr_z
The ideal weights at the left and the right cell-boundaries and at the

left and the right quadrature points, in x-, y- and z-directions. Note that the first dimension of the array identifies the weight, while the last denotes the cell-location in the relevant coordinate direction.

real(wp), dimension(:, :), allocatable, target m_weno::d_cbl_x
real(wp), dimension(:, :), allocatable, target m_weno::d_cbl_y
real(wp), dimension(:, :), allocatable, target m_weno::d_cbl_z
real(wp), dimension(:, :), allocatable, target m_weno::d_cbr_x
real(wp), dimension(:, :), allocatable, target m_weno::d_cbr_y
real(wp), dimension(:, :), allocatable, target m_weno::d_cbr_z
Smoothness indicator coefficients in the x-, y-, and z-directions. Note

that the first array dimension identifies the smoothness indicator, the second identifies the position of its coefficients and the last denotes the cell-location in the relevant coordinate direction.

real(wp), dimension(:, :, :), allocatable, target m_weno::beta_coef_x
real(wp), dimension(:, :, :), allocatable, target m_weno::beta_coef_y
real(wp), dimension(:, :, :), allocatable, target m_weno::beta_coef_z
Indical bounds in the s1-, s2- and s3-directions
type(int_bounds_infom_weno::is1_weno
type(int_bounds_infom_weno::is2_weno
type(int_bounds_infom_weno::is3_weno

Detailed Description

Contains module m_weno.

Definition in file m_weno.fpp.f90.