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

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.
 

Detailed Description

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 \]

Function/Subroutine Documentation

◆ face_advection_tvd_superbee()

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 )
Parameters
[in]velocitythe velocity \( \mathbf{u} \)
[in]density_faceface centered density field
[in,out]divupsi\( \mathbf{u^{n^*}} \)
[in]navier_boundary_conditionBoundary 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_stepthe time step \( \delta t = t^{n+1} - t^n \)

◆ harten_tvd()

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 )
Parameters
[in]dx_localgrid step
[in]vel_field_localintermediate velocity
[in,out]divupsi_local\( \mathbf{u} \mathbf{\nabla} \mathbf{u} \)
[in]index_localupper and lower index limits for given spatial direction
[in]nspatial direction
[in]local_time_steplocal time step

◆ lw_tvd_linear()

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 )
Parameters
[in]scalar_localnumerical flux
[in]vel_field_2velocity field pre operator splitting
[in,out]divupsi_local\( \mathbf{u} \mathbf{\nabla} \mathbf{u} \)
[in]index_localupper and lower index limits for given spatial direction
[in]nspatial direction
[in]vel_variable_indexwhich velocity variable is being used (1) u (2) v (3) w
[in]local_time_steplocal time step

◆ roe_sweby_tvd()

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 )
Parameters
[in]dx_localgrid step
[in]vel_field_localintermediate velocity
[in,out]divupsi_local\( \mathbf{u} \mathbf{\nabla} \mathbf{u} \)
[in]index_localupper and lower index limits for given spatial direction
[in]nspatial direction
[in]local_time_steplocal time step

◆ yee_roe_davis_tvd()

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 )
Parameters
[in]dx_localgrid step
[in]vel_field_localintermediate velocity
[in,out]divupsi_local\( \mathbf{u} \mathbf{\nabla} \mathbf{u} \)
[in]index_localupper and lower index limits for given spatial direction
[in]nspatial direction
[in]local_time_steplocal time step