MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_weno Module Reference

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

Functions/Subroutines

impure subroutine, public s_initialize_weno_module
 Initialize the WENO module.
subroutine s_compute_weno_coefficients (weno_dir, is)
 Compute WENO polynomial coefficients, ideal weights, and smoothness indicators for a given direction.
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)
 Perform WENO reconstruction of left and right cell-boundary values from cell-averaged variables.
subroutine, public s_initialize_weno (v_vf, weno_dir)
 Set up the WENO reconstruction for a given direction.
subroutine s_preserve_monotonicity (v_rs_ws, vl_rs_vf, vr_rs_vf)
 Enforce monotonicity-preserving bounds on the WENO reconstruction.
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_infois1_weno
type(int_bounds_infois2_weno
type(int_bounds_infois3_weno

Detailed Description

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

Function/Subroutine Documentation

◆ s_compute_weno_coefficients()

subroutine m_weno::s_compute_weno_coefficients ( integer, intent(in) weno_dir,
type(int_bounds_info), intent(in) is )

Compute WENO polynomial coefficients, ideal weights, and smoothness indicators for a given direction.

Definition at line 1138 of file m_weno.fpp.f90.

Here is the caller graph for this function:

◆ s_finalize_weno_module()

impure subroutine, public m_weno::s_finalize_weno_module

Module deallocation and/or disassociation procedures.

Definition at line 5494 of file m_weno.fpp.f90.

Here is the caller graph for this function:

◆ s_initialize_weno()

subroutine, public m_weno::s_initialize_weno ( type(scalar_field), dimension(:), intent(in) v_vf,
integer, intent(in) weno_dir )

Set up the WENO reconstruction for a given direction.

Definition at line 5208 of file m_weno.fpp.f90.

Here is the caller graph for this function:

◆ s_initialize_weno_module()

impure subroutine, public m_weno::s_initialize_weno_module

Initialize the WENO module.

Definition at line 475 of file m_weno.fpp.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ s_preserve_monotonicity()

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 )

Enforce monotonicity-preserving bounds on the WENO reconstruction.

Definition at line 5370 of file m_weno.fpp.f90.

Here is the caller graph for this function:

◆ s_weno()

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 )

Perform WENO reconstruction of left and right cell-boundary values from cell-averaged variables.

Definition at line 3149 of file m_weno.fpp.f90.

Here is the call graph for this function:

Variable Documentation

◆ beta_coef_x

real(wp), dimension(:,:,:), allocatable, target m_weno::beta_coef_x

Definition at line 422 of file m_weno.fpp.f90.

◆ beta_coef_y

real(wp), dimension(:,:,:), allocatable, target m_weno::beta_coef_y

Definition at line 423 of file m_weno.fpp.f90.

◆ beta_coef_z

real(wp), dimension(:,:,:), allocatable, target m_weno::beta_coef_z

Definition at line 424 of file m_weno.fpp.f90.

◆ d_cbl_x

real(wp), dimension(:,:), allocatable, target m_weno::d_cbl_x

Definition at line 399 of file m_weno.fpp.f90.

◆ d_cbl_y

real(wp), dimension(:,:), allocatable, target m_weno::d_cbl_y

Definition at line 400 of file m_weno.fpp.f90.

◆ d_cbl_z

real(wp), dimension(:,:), allocatable, target m_weno::d_cbl_z

Definition at line 401 of file m_weno.fpp.f90.

◆ d_cbr_x

real(wp), dimension(:,:), allocatable, target m_weno::d_cbr_x

Definition at line 402 of file m_weno.fpp.f90.

◆ d_cbr_y

real(wp), dimension(:,:), allocatable, target m_weno::d_cbr_y

Definition at line 403 of file m_weno.fpp.f90.

◆ d_cbr_z

real(wp), dimension(:,:), allocatable, target m_weno::d_cbr_z

Definition at line 404 of file m_weno.fpp.f90.

◆ is1_weno

type(int_bounds_info) m_weno::is1_weno

Definition at line 455 of file m_weno.fpp.f90.

◆ is2_weno

type(int_bounds_info) m_weno::is2_weno

Definition at line 455 of file m_weno.fpp.f90.

◆ is3_weno

type(int_bounds_info) m_weno::is3_weno

Definition at line 455 of file m_weno.fpp.f90.

◆ poly_coef_cbl_x

real(wp), dimension(:,:,:), allocatable, target m_weno::poly_coef_cbl_x

Definition at line 365 of file m_weno.fpp.f90.

◆ poly_coef_cbl_y

real(wp), dimension(:,:,:), allocatable, target m_weno::poly_coef_cbl_y

Definition at line 366 of file m_weno.fpp.f90.

◆ poly_coef_cbl_z

real(wp), dimension(:,:,:), allocatable, target m_weno::poly_coef_cbl_z

Definition at line 367 of file m_weno.fpp.f90.

◆ poly_coef_cbr_x

real(wp), dimension(:,:,:), allocatable, target m_weno::poly_coef_cbr_x

Definition at line 368 of file m_weno.fpp.f90.

◆ poly_coef_cbr_y

real(wp), dimension(:,:,:), allocatable, target m_weno::poly_coef_cbr_y

Definition at line 369 of file m_weno.fpp.f90.

◆ poly_coef_cbr_z

real(wp), dimension(:,:,:), allocatable, target m_weno::poly_coef_cbr_z

Definition at line 370 of file m_weno.fpp.f90.

◆ v_rs_ws_x

real(wp), dimension(:,:,:,:), allocatable m_weno::v_rs_ws_x

Definition at line 344 of file m_weno.fpp.f90.

◆ v_rs_ws_y

real(wp), dimension(:,:,:,:), allocatable m_weno::v_rs_ws_y

Definition at line 344 of file m_weno.fpp.f90.

◆ v_rs_ws_z

real(wp), dimension(:,:,:,:), allocatable m_weno::v_rs_ws_z

Definition at line 344 of file m_weno.fpp.f90.

◆ v_size

integer m_weno::v_size

Number of WENO-reconstructed cell-average variables.

Definition at line 440 of file m_weno.fpp.f90.