Explicit dimensional splitting Lax-Wendroff TVD SuperBee (LW-TVD-SB) scheme for the advection equation. More...
Functions/Subroutines | |
subroutine | yee_roe_davis_tvd (dx_local, vel_field_local, divupsi_local, index_local, n, local_time_step) |
Fills \( \mathbf{u} \mathbf{\nabla} \mathbf{u} \) for the TVD scheme (Yee-Roe-Davis Symmetric Scheme) | |
subroutine | roe_sweby_tvd (dx_local, vel_field_local, divupsi_local, index_local, n, local_time_step) |
Fills \( \mathbf{u} \mathbf{\nabla} \mathbf{u} \) for the TVD scheme (Roe-Sweby Upwind TVD limiters) | |
subroutine | harten_tvd (dx_local, vel_field_local, divupsi_local, index_local, n, local_time_step) |
Fills \( \mathbf{u} \mathbf{\nabla} \mathbf{u} \) for the TVD scheme (Harten-Yee Upwind TVD limiters with new and old formation) w/ minmod. | |
subroutine | lw_tvd_linear (scalar_local, vel_field_2, divupsi_local, index_local, n, vel_variable_index, local_time_step) |
Fills \( \mathbf{u} \mathbf{\nabla} \mathbf{u} \) for the LW-TVD-SB scheme. | |
subroutine | face_tvd_superbee_splitting (vel_field, vel_field_2, divupsi, local_time_step, navier_splitting_time_coeff, navier_has_immersed_boundaries, navier_ib_has_one_sided_inner_discretization, navier_isd_target, navier_ib_inner_discretization_order, navier_boundary_condition, index_local_u, index_local_v, index_local_w, n) |
subroutine | face_advection_tvd_superbee (velocity, density_face, divupsi, navier_boundary_condition, navier_nonlinear_term_splitting_scheme, navier_has_immersed_boundaries, navier_ib_has_one_sided_inner_discretization, navier_isd_target, navier_ib_inner_discretization_order, navier_splitting_time_coeff, time_step) |
Calculates \( \partial \mathbf{u}/\partial t = - \mathbf{u} \mathbf{\nabla} \mathbf{u} \) with the LW-TVD-SB scheme. | |
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 \mathbf{u}}{\partial t} + \mathbf{u} \mathbf{\nabla} \mathbf{u} = 0 \]
subroutine mod_face_advection_tvd_superbee::face_advection_tvd_superbee | ( | type(t_face_field), intent(in) | velocity, |
type(t_face_field), intent(in) | density_face, | ||
type(t_face_field), intent(inout) | divupsi, | ||
type(t_boundary_condition_face), intent(in) | navier_boundary_condition, | ||
integer, intent(in) | navier_nonlinear_term_splitting_scheme, | ||
logical, intent(in) | navier_has_immersed_boundaries, | ||
logical, intent(in) | navier_ib_has_one_sided_inner_discretization, | ||
integer, dimension(:), intent(in) | navier_isd_target, | ||
integer, dimension(:), intent(in) | navier_ib_inner_discretization_order, | ||
double precision, dimension(3), intent(in) | navier_splitting_time_coeff, | ||
double precision, intent(in) | time_step ) |
[in] | velocity | the velocity \( \mathbf{u} \) |
[in] | density_face | face centered density field |
[in,out] | divupsi | \( \mathbf{u^{n^*}} \) |
[in] | navier_boundary_condition | Boundary conditions |
[in] | navier_nonlinear_term_splitting_scheme | |
[in] | navier_has_immersed_boundaries | |
[in] | navier_ib_has_one_sided_inner_discretization | |
[in] | navier_isd_target | |
[in] | navier_ib_inner_discretization_order | |
[in] | navier_splitting_time_coeff | |
[in] | time_step | the time step \( \delta t = t^{n+1} - t^n \) |
subroutine mod_face_advection_tvd_superbee::harten_tvd | ( | double precision, dimension (:), intent(in) | dx_local, |
double precision, dimension (:,:,:), intent(in) | vel_field_local, | ||
double precision, dimension (:,:,:), intent(inout) | divupsi_local, | ||
integer, dimension (:,:), intent(in) | index_local, | ||
integer, intent(in) | n, | ||
double precision, intent(in) | local_time_step ) |
[in] | dx_local | grid step |
[in] | vel_field_local | intermediate velocity |
[in,out] | divupsi_local | \( \mathbf{u} \mathbf{\nabla} \mathbf{u} \) |
[in] | index_local | upper and lower index limits for given spatial direction |
[in] | n | spatial direction |
[in] | local_time_step | local time step |
subroutine mod_face_advection_tvd_superbee::lw_tvd_linear | ( | double precision, dimension (:,:,:), intent(in) | scalar_local, |
type(t_face_field), intent(in) | vel_field_2, | ||
double precision, dimension (:,:,:), intent(inout) | divupsi_local, | ||
integer, dimension (:,:), intent(in) | index_local, | ||
integer, intent(in) | n, | ||
integer, intent(in) | vel_variable_index, | ||
double precision, intent(in) | local_time_step ) |
[in] | scalar_local | numerical flux |
[in] | vel_field_2 | velocity field pre operator splitting |
[in,out] | divupsi_local | \( \mathbf{u} \mathbf{\nabla} \mathbf{u} \) |
[in] | index_local | upper and lower index limits for given spatial direction |
[in] | n | spatial direction |
[in] | vel_variable_index | which velocity variable is being used (1) u (2) v (3) w |
[in] | local_time_step | local time step |
subroutine mod_face_advection_tvd_superbee::roe_sweby_tvd | ( | double precision, dimension (:), intent(in) | dx_local, |
double precision, dimension (:,:,:), intent(in) | vel_field_local, | ||
double precision, dimension (:,:,:), intent(inout) | divupsi_local, | ||
integer, dimension (:,:), intent(in) | index_local, | ||
integer, intent(in) | n, | ||
double precision, intent(in) | local_time_step ) |
[in] | dx_local | grid step |
[in] | vel_field_local | intermediate velocity |
[in,out] | divupsi_local | \( \mathbf{u} \mathbf{\nabla} \mathbf{u} \) |
[in] | index_local | upper and lower index limits for given spatial direction |
[in] | n | spatial direction |
[in] | local_time_step | local time step |
subroutine mod_face_advection_tvd_superbee::yee_roe_davis_tvd | ( | double precision, dimension (:), intent(in) | dx_local, |
double precision, dimension (:,:,:), intent(in) | vel_field_local, | ||
double precision, dimension (:,:,:), intent(inout) | divupsi_local, | ||
integer, dimension (:,:), intent(in) | index_local, | ||
integer, intent(in) | n, | ||
double precision, intent(in) | local_time_step ) |
[in] | dx_local | grid step |
[in] | vel_field_local | intermediate velocity |
[in,out] | divupsi_local | \( \mathbf{u} \mathbf{\nabla} \mathbf{u} \) |
[in] | index_local | upper and lower index limits for given spatial direction |
[in] | n | spatial direction |
[in] | local_time_step | local time step |