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_pack_weno_input_arr (v_vf)
subroutine, public s_weno (v_vf, vl_rs_vf_x, vr_rs_vf_x, 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 s_preserve_monotonicity (v_rs_ws, vl_rs_vf, vr_rs_vf, weno_dir)
 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.
logical, dimension(3) uniform_grid
 True if grid spacing is uniform in each direction.
The cell-average variables that will be WENO-reconstructed unpacked into an array for performance
real(wp), dimension(:,:,:,:), allocatable v_rs_weno
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 1081 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 5713 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 486 of file m_weno.fpp.f90.

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

◆ s_pack_weno_input_arr()

subroutine, public m_weno::s_pack_weno_input_arr ( type(scalar_field), dimension(1:), intent(in) v_vf)

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

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,
integer, intent(in) weno_dir )

Enforce monotonicity-preserving bounds on the WENO reconstruction.

Definition at line 5357 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) vr_rs_vf_x,
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 3153 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 420 of file m_weno.fpp.f90.

◆ beta_coef_y

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

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

◆ beta_coef_z

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

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

◆ d_cbl_x

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

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

◆ d_cbl_y

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

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

◆ d_cbl_z

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

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

◆ d_cbr_x

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

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

◆ d_cbr_y

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

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

◆ d_cbr_z

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

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

◆ is1_weno

type(int_bounds_info) m_weno::is1_weno

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

◆ is2_weno

type(int_bounds_info) m_weno::is2_weno

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

◆ is3_weno

type(int_bounds_info) m_weno::is3_weno

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

◆ poly_coef_cbl_x

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

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

◆ poly_coef_cbl_y

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

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

◆ poly_coef_cbl_z

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

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

◆ poly_coef_cbr_x

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

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

◆ poly_coef_cbr_y

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

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

◆ poly_coef_cbr_z

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

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

◆ uniform_grid

logical, dimension(3) m_weno::uniform_grid

True if grid spacing is uniform in each direction.

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

◆ v_rs_weno

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

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

◆ v_size

integer m_weno::v_size

Number of WENO-reconstructed cell-average variables.

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