version 0.6.0
Loading...
Searching...
No Matches
mod_compute_cell_cons_advection_term_exp_generic_weno Module Reference

Explicit WENO scheme (generic) for the advection equation.

Functions/Subroutines

subroutine compute_cell_cons_advection_term_exp_upwind_generic_weno (velocity, time_step, scalar, divut, flux_type, directions, weno_scheme_backward, weno_scheme_forward)
 Fills divuT with \( div(u \cdot T) \) with a generic weno scheme Non regular grid.
 
subroutine compute_cell_cons_advection_term_exp_centered_generic_weno (velocity, time_step, scalar, divut, flux_type, directions, weno_scheme_centered)
 Fills divuT with \( div(u \cdot T) \) with a generic weno scheme Non regular grid.
 
subroutine compute_cell_advection_term_explicit_weno3_fd_wrapper (velocity, time_step, scalar, flux_type, directions, divut)
 Wrapper function for compute_cell_advection_term_explicit_weno3_fd.
 
subroutine compute_cell_advection_term_explicit_weno5_fd_wrapper (velocity, time_step, scalar, flux_type, directions, divut)
 Wrapper function for compute_cell_advection_term_explicit_weno5_fd.
 
subroutine compute_cell_advection_term_explicit_weno5_fd (velocity, scalar, divut)
 Fills \( \nabla \cdot (u \cdot T) \) with a \( 5^{th} \) order finite difference based WENO scheme [1].
 
subroutine weno5_gen (flux_in, flux_out, weno_select)
 Computes flux for a \( 5^{th} \) order finite difference based WENO scheme.
 
subroutine compute_cell_advection_term_explicit_weno3_fd (velocity, scalar, divut)
 Fills \( \nabla \cdot (u \cdot T) \) with a \( 3^{rd} \) order finite difference based WENO scheme [2].
 
subroutine weno3_gen (flux_in, flux_out, weno_select)
 Computes flux for a \( 3^{th} \) order finite difference based WENO scheme.
 

Function/Subroutine Documentation

◆ compute_cell_advection_term_explicit_weno3_fd()

subroutine mod_compute_cell_cons_advection_term_exp_generic_weno::compute_cell_advection_term_explicit_weno3_fd ( type(t_face_field), intent(in) velocity,
double precision, dimension(:,:,:), intent(in) scalar,
double precision, dimension(:,:,:), intent(inout) divut )
Parameters
[in]velocityvelocity field
[in]scalarscalar cell centered field
[in,out]divut\( div(u \cdot T) \) [2] Jiang, G.-S. and Peng, D., Weighted ENO Schemes for Hamilton–Jacobi Equations, SIAM J. Sci. Comput., Vol. 21, No. 6, Dec. 1999, pp. 2126–2143.
Todo
[AJ]: Generalize for rectilinear grids. Only supports Cartesian grids.

◆ compute_cell_advection_term_explicit_weno3_fd_wrapper()

subroutine mod_compute_cell_cons_advection_term_exp_generic_weno::compute_cell_advection_term_explicit_weno3_fd_wrapper ( type(t_face_field), intent(in) velocity,
double precision, intent(in) time_step,
double precision, dimension(:,:,:), intent(in) scalar,
type(t_fv_flux), intent(in) flux_type,
integer, dimension(:), intent(in) directions,
double precision, dimension(:,:,:), intent(inout) divut )

◆ compute_cell_advection_term_explicit_weno5_fd()

subroutine mod_compute_cell_cons_advection_term_exp_generic_weno::compute_cell_advection_term_explicit_weno5_fd ( type(t_face_field), intent(in) velocity,
double precision, dimension(:,:,:), intent(in) scalar,
double precision, dimension(:,:,:), intent(inout) divut )
Parameters
[in]velocityvelocity field
[in]scalarscalar cell centered field
[in,out]divut\( div(u \cdot T) \)

[1] Jiang, G.-S. and Shu, C.-W., Efficient Implementation of Weighted ENO Schemes, Journal of Computational Physics, Vol. 126, No. 1, 1996, pp. 202-228 .

Todo
[AJ]: Generalize for rectilinear grids. Only supports Cartesian grids.

◆ compute_cell_advection_term_explicit_weno5_fd_wrapper()

subroutine mod_compute_cell_cons_advection_term_exp_generic_weno::compute_cell_advection_term_explicit_weno5_fd_wrapper ( type(t_face_field), intent(in) velocity,
double precision, intent(in) time_step,
double precision, dimension(:,:,:), intent(in) scalar,
type(t_fv_flux), intent(in) flux_type,
integer, dimension(:), intent(in) directions,
double precision, dimension(:,:,:), intent(inout) divut )

◆ compute_cell_cons_advection_term_exp_centered_generic_weno()

subroutine mod_compute_cell_cons_advection_term_exp_generic_weno::compute_cell_cons_advection_term_exp_centered_generic_weno ( type(t_face_field), intent(in) velocity,
double precision, intent(in) time_step,
double precision, dimension(:,:,:), intent(in) scalar,
double precision, dimension(:,:,:), intent(inout) divut,
type(t_fv_flux), intent(in) flux_type,
integer, dimension(:), intent(in) directions,
class(t_int_weno_scheme), intent(inout) weno_scheme_centered )
Parameters
[in]velocitythe velocity u
[in]scalarthe scalar T to be advected
[in]flux_typethe flux type
[in]time_stepthe time step \( \delta t^{n} = t^{n+1} - t^{n} \)
[in]directionsthe vector made of directions ([1,2,3] for all of them). This is used for splitted methods.
[in,out]weno_scheme_centeredthe given WENO scheme for centered interpolation
[in,out]divutthe resulting explicit term

◆ compute_cell_cons_advection_term_exp_upwind_generic_weno()

subroutine mod_compute_cell_cons_advection_term_exp_generic_weno::compute_cell_cons_advection_term_exp_upwind_generic_weno ( type(t_face_field), intent(in) velocity,
double precision, intent(in) time_step,
double precision, dimension(:,:,:), intent(in) scalar,
double precision, dimension(:,:,:), intent(inout) divut,
type(t_fv_flux), intent(in) flux_type,
integer, dimension(:), intent(in) directions,
class(t_int_weno_scheme), intent(inout) weno_scheme_backward,
class(t_int_weno_scheme), intent(inout) weno_scheme_forward )
Parameters
[in]velocitythe velocity u
[in]scalarthe scalar T to be advected
[in]flux_typethe flux type
[in]time_stepthe time step \( \delta t^{n} = t^{n+1} - t^{n} \)
[in]directionsthe vector made of directions ([1,2,3] for all of them or [1] for only "x"). This is used for splitted methods.
[in,out]weno_scheme_backwardthe given WENO scheme for backward interpolation
[in,out]weno_scheme_forwardthe given WENO scheme for forward interpolation
[in,out]divutthe resulting explicit term

◆ weno3_gen()

subroutine mod_compute_cell_cons_advection_term_exp_generic_weno::weno3_gen ( double precision, dimension (:), intent(in) flux_in,
double precision, intent(out) flux_out,
integer, intent(in) weno_select )
Parameters
[in]flux_ininput values to determine WENO flux
[out]flux_outWENO flux
[in]weno_selectupwinding direction

◆ weno5_gen()

subroutine mod_compute_cell_cons_advection_term_exp_generic_weno::weno5_gen ( double precision, dimension (:,:), intent(in) flux_in,
double precision, dimension (:), intent(out) flux_out,
integer, intent(in) weno_select )
Parameters
[in]flux_ininput values to determine WENO flux
[out]flux_outWENO flux
[in]weno_selectupwinding direction