linear_weno Module

Applies the WENO5 and WENO7 substencil reconstructions using fixed optimal weights d_k (constants), bypassing the nonlinear beta-based weighting. In smooth regions the nonlinear WENO weights converge to d_k anyway; using them directly eliminates the residual dissipation from imperfect weight matching and preserves the full formal order of accuracy:

  • linear_weno5_reconstruct : 5th-order (same order as WENO5-JS / WENO5-Z)
  • linear_weno7_reconstruct : 7th-order (same order as WENO7-JS)

Both subroutines match reconstructor_iface and may be used as drop-in replacements for the nonlinear variants in smooth regions.

References: [1] G.-S. Jiang and C.-W. Shu, J. Comput. Phys., 126:202-228, 1996. [2] D. S. Balsara and C.-W. Shu, J. Comput. Phys., 160:405-452, 2000.



Subroutines

public pure subroutine linear_weno5_reconstruct(f_stencil, f_hat)

5th-order linear WENO reconstruction on a 5-point stencil.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: f_stencil(:,:)
real(kind=wp), intent(out) :: f_hat(:)

public pure subroutine linear_weno7_reconstruct(f_stencil, f_hat)

7th-order linear WENO reconstruction on a 7-point stencil.

Read more…

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in) :: f_stencil(:,:)
real(kind=wp), intent(out) :: f_hat(:)