|
MFC
Exascale flow solver
|
WENO/WENO-Z/TENO reconstruction with optional monotonicity-preserving bounds and mapped weights. More...
Functions/Subroutines | |
| impure subroutine, public | 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 | 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 | 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 | 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 | 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 | s_finalize_weno_module () |
| Module deallocation and/or disassociation procedures. | |
Variables | |
| integer | 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 | v_rs_ws_x |
| real(wp), dimension(:, :, :, :), allocatable | v_rs_ws_y |
| real(wp), dimension(:, :, :, :), allocatable | 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 | poly_coef_cbl_x |
| real(wp), dimension(:, :, :), allocatable, target | poly_coef_cbl_y |
| real(wp), dimension(:, :, :), allocatable, target | poly_coef_cbl_z |
| real(wp), dimension(:, :, :), allocatable, target | poly_coef_cbr_x |
| real(wp), dimension(:, :, :), allocatable, target | poly_coef_cbr_y |
| real(wp), dimension(:, :, :), allocatable, target | 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 | d_cbl_x |
| real(wp), dimension(:, :), allocatable, target | d_cbl_y |
| real(wp), dimension(:, :), allocatable, target | d_cbl_z |
| real(wp), dimension(:, :), allocatable, target | d_cbr_x |
| real(wp), dimension(:, :), allocatable, target | d_cbr_y |
| real(wp), dimension(:, :), allocatable, target | 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 | beta_coef_x |
| real(wp), dimension(:, :, :), allocatable, target | beta_coef_y |
| real(wp), dimension(:, :, :), allocatable, target | beta_coef_z |
Indical bounds in the s1-, s2- and s3-directions | |
| type(int_bounds_info) | is1_weno |
| type(int_bounds_info) | is2_weno |
| type(int_bounds_info) | is3_weno |
WENO/WENO-Z/TENO reconstruction with optional monotonicity-preserving bounds and mapped weights.
| subroutine m_weno::s_compute_weno_coefficients | ( | integer, intent(in) | weno_dir, |
| type(int_bounds_info), intent(in) | 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.
| weno_dir | Coordinate direction of the WENO reconstruction |
| is | Index bounds in the s-direction |
Definition at line 1143 of file m_weno.fpp.f90.
| impure subroutine, public m_weno::s_finalize_weno_module |
Module deallocation and/or disassociation procedures.
Definition at line 5031 of file m_weno.fpp.f90.
| subroutine, public m_weno::s_initialize_weno | ( | type(scalar_field), dimension(:), intent(in) | v_vf, |
| integer, intent(in) | 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.
| v_vf | Cell-averaged variables |
| weno_dir | Coordinate direction of the WENO reconstruction |
Definition at line 4628 of file m_weno.fpp.f90.
| 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.
Definition at line 465 of file m_weno.fpp.f90.
| subroutine m_weno::s_preserve_monotonicity | ( | real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(in) | v_rs_ws, |
| real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) | vl_rs_vf, | ||
| real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) | 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.
| v_rs_ws | Reshaped cell-averaged variables |
| vL_rs_vf | Left WENO reconstructed cell-boundary values |
| vR_rs_vf | Right WENO reconstructed cell-boundary values |
Definition at line 4829 of file m_weno.fpp.f90.
| subroutine, public m_weno::s_weno | ( | type(scalar_field), dimension(1:), intent(in) | v_vf, |
| real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) | vl_rs_vf_x, | ||
| real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) | vl_rs_vf_y, | ||
| real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) | vl_rs_vf_z, | ||
| real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) | vr_rs_vf_x, | ||
| real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) | vr_rs_vf_y, | ||
| real(wp), dimension(idwbuff(1)%beg:, idwbuff(2)%beg:, idwbuff(3)%beg:, 1:), intent(inout) | vr_rs_vf_z, | ||
| integer, intent(in) | weno_dir, | ||
| type(int_bounds_info), intent(in) | is1_weno_d, | ||
| type(int_bounds_info), intent(in) | is2_weno_d, | ||
| type(int_bounds_info), intent(in) | is3_weno_d ) |
Performs WENO reconstruction of left and right cell-boundary values from cell-averaged variables.
Definition at line 2369 of file m_weno.fpp.f90.
| real(wp), dimension(:, :, :), allocatable, target m_weno::beta_coef_x |
Definition at line 410 of file m_weno.fpp.f90.
| real(wp), dimension(:, :, :), allocatable, target m_weno::beta_coef_y |
Definition at line 411 of file m_weno.fpp.f90.
| real(wp), dimension(:, :, :), allocatable, target m_weno::beta_coef_z |
Definition at line 412 of file m_weno.fpp.f90.
| real(wp), dimension(:, :), allocatable, target m_weno::d_cbl_x |
Definition at line 385 of file m_weno.fpp.f90.
| real(wp), dimension(:, :), allocatable, target m_weno::d_cbl_y |
Definition at line 386 of file m_weno.fpp.f90.
| real(wp), dimension(:, :), allocatable, target m_weno::d_cbl_z |
Definition at line 387 of file m_weno.fpp.f90.
| real(wp), dimension(:, :), allocatable, target m_weno::d_cbr_x |
Definition at line 389 of file m_weno.fpp.f90.
| real(wp), dimension(:, :), allocatable, target m_weno::d_cbr_y |
Definition at line 390 of file m_weno.fpp.f90.
| real(wp), dimension(:, :), allocatable, target m_weno::d_cbr_z |
Definition at line 391 of file m_weno.fpp.f90.
| type(int_bounds_info) m_weno::is1_weno |
Definition at line 443 of file m_weno.fpp.f90.
| type(int_bounds_info) m_weno::is2_weno |
Definition at line 443 of file m_weno.fpp.f90.
| type(int_bounds_info) m_weno::is3_weno |
Definition at line 443 of file m_weno.fpp.f90.
| real(wp), dimension(:, :, :), allocatable, target m_weno::poly_coef_cbl_x |
Definition at line 350 of file m_weno.fpp.f90.
| real(wp), dimension(:, :, :), allocatable, target m_weno::poly_coef_cbl_y |
Definition at line 351 of file m_weno.fpp.f90.
| real(wp), dimension(:, :, :), allocatable, target m_weno::poly_coef_cbl_z |
Definition at line 352 of file m_weno.fpp.f90.
| real(wp), dimension(:, :, :), allocatable, target m_weno::poly_coef_cbr_x |
Definition at line 353 of file m_weno.fpp.f90.
| real(wp), dimension(:, :, :), allocatable, target m_weno::poly_coef_cbr_y |
Definition at line 354 of file m_weno.fpp.f90.
| real(wp), dimension(:, :, :), allocatable, target m_weno::poly_coef_cbr_z |
Definition at line 355 of file m_weno.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_weno::v_rs_ws_x |
Definition at line 328 of file m_weno.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_weno::v_rs_ws_y |
Definition at line 328 of file m_weno.fpp.f90.
| real(wp), dimension(:, :, :, :), allocatable m_weno::v_rs_ws_z |
Definition at line 328 of file m_weno.fpp.f90.
| integer m_weno::v_size |
Number of WENO-reconstructed cell-average variables.
Definition at line 428 of file m_weno.fpp.f90.