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. | |
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 ) |
[in] | velocity | velocity field |
[in] | scalar | scalar 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. |
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 ) |
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 ) |
[in] | velocity | velocity field |
[in] | scalar | scalar 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 .
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 ) |
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 ) |
[in] | velocity | the velocity u |
[in] | scalar | the scalar T to be advected |
[in] | flux_type | the flux type |
[in] | time_step | the time step \( \delta t^{n} = t^{n+1} - t^{n} \) |
[in] | directions | the vector made of directions ([1,2,3] for all of them). This is used for splitted methods. |
[in,out] | weno_scheme_centered | the given WENO scheme for centered interpolation |
[in,out] | divut | the resulting explicit term |
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 ) |
[in] | velocity | the velocity u |
[in] | scalar | the scalar T to be advected |
[in] | flux_type | the flux type |
[in] | time_step | the time step \( \delta t^{n} = t^{n+1} - t^{n} \) |
[in] | directions | the 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_backward | the given WENO scheme for backward interpolation |
[in,out] | weno_scheme_forward | the given WENO scheme for forward interpolation |
[in,out] | divut | the resulting explicit term |
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 ) |
[in] | flux_in | input values to determine WENO flux |
[out] | flux_out | WENO flux |
[in] | weno_select | upwinding direction |
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 ) |
[in] | flux_in | input values to determine WENO flux |
[out] | flux_out | WENO flux |
[in] | weno_select | upwinding direction |