Explicit dimensional splitting Lax-Wendroff TVD SuperBee (LW-TVD-SB) scheme for the advection equation. More...
Functions/Subroutines | |
double precision function | superbee (beta_coef, teta) |
double precision function | vanleer (teta) |
double precision function | minmod (teta) |
double precision function | mc (teta) |
double precision function | tvd_al (beta_coef, teta, time_iter_local) |
double precision function | tvd_blend (beta_coef, teta) |
double precision function | flux_limiter (beta_coef, teta, time_iter_local) |
subroutine | scalar_advection_tvd_superbee (divut, scalar_field, boundary_condition, velocity, time_step, equation_advection_term_splitting_scheme, equation_splitting_time_coef, equation_has_immersed_boundaries, equation_ib_has_one_sided_inner_discretization, equation_ib_inner_discretization_order, ibc_variable, equation_isd_target) |
Fills divuT with \(u \cdot \nabla \phi\) with a LW-TVD-SB. | |
subroutine | scalar_tvd_superbee_splitting (divut, scalar_field_0, boundary_condition, velocity, velocity_grad, local_time_step, n, equation_splitting_time_coef, equation_has_immersed_boundaries, equation_ib_has_one_sided_inner_discretization, equation_ib_inner_discretization_order, ibc_variable, equation_isd_target) |
Variables | |
logical, parameter | force_first_order = .false. |
Be aware that this is not a conservative scheme but a traditional advection scheme.
The equation solved is:
\[ \frac{\partial \phi}{\partial t} + u \cdot \nabla \phi = 0 \]
Solve advection equation with Lax-Wendroff TVD Scheme with a Superbee limiter Splitting Method: Lie Splitting (globally second order for scalar advection)
subroutine mod_scalar_advection_tvd_superbee::scalar_advection_tvd_superbee | ( | double precision, dimension(nx,ny,nz), intent(inout) | divut, |
double precision, dimension(nx,ny,nz), intent(in) | scalar_field, | ||
type(t_boundary_condition), intent(in) | boundary_condition, | ||
type(t_face_field), intent(in) | velocity, | ||
double precision, intent(in) | time_step, | ||
integer, intent(in) | equation_advection_term_splitting_scheme, | ||
double precision, dimension (3), intent(in) | equation_splitting_time_coef, | ||
logical, intent(in) | equation_has_immersed_boundaries, | ||
logical, intent(in) | equation_ib_has_one_sided_inner_discretization, | ||
integer, dimension(:), intent(in) | equation_ib_inner_discretization_order, | ||
type(t_immersed_boundary_condition), dimension(:), intent(in) | ibc_variable, | ||
integer, dimension (:), intent(in) | equation_isd_target ) |
[in,out] | divut | the resulting field |
[in] | scalar_field | the scalar T to be advected |
[in] | boundary_condition | Boundary conditions |
[in] | velocity | the velocity \( \mathbf{u} \) |
[in] | time_step | the time step \( \delta t = t^{n+1} - t^n \) |
[in] | equation_advection_term_splitting_scheme | |
[in] | equation_splitting_time_coef | |
[in] | equation_has_immersed_boundaries | Flag to enable immersed boundaries. |
[in] | equation_ib_has_one_sided_inner_discretization | |
[in] | equation_ib_inner_discretization_order | |
[in] | ibc_variable | boundary conditions on immersed boundaries. |
[in] | equation_isd_target | Subset of immersed boundaries. |