m_time_steppers Module

@file m_time_steppers.f90 @brief Contains module m_time_steppers @author S. Bryngelson, K. Schimdmayer, V. Coralic, J. Meng, K. Maeda, T. Colonius @version 1.0 @date JUNE 06 2019 @brief The following module features a variety of time-stepping schemes. Currently, it includes the following Runge-Kutta (RK) algorithms: 1) 1st Order TVD RK 2) 2nd Order TVD RK 3) 3rd Order TVD RK where TVD designates a total-variation-diminishing time-stepper.


Uses

  • module~~m_time_steppers~~UsesGraph module~m_time_steppers m_time_steppers module~m_mpi_proxy m_mpi_proxy module~m_time_steppers->module~m_mpi_proxy m_data_output m_data_output module~m_time_steppers->m_data_output module~m_bubbles m_bubbles module~m_time_steppers->module~m_bubbles m_derived_types m_derived_types module~m_time_steppers->m_derived_types module~m_global_parameters m_global_parameters module~m_time_steppers->module~m_global_parameters m_fftw m_fftw module~m_time_steppers->m_fftw module~nvtx nvtx module~m_time_steppers->module~nvtx module~m_rhs m_rhs module~m_time_steppers->module~m_rhs module~m_mpi_proxy->m_derived_types module~m_mpi_proxy->module~m_global_parameters mpi mpi module~m_mpi_proxy->mpi module~m_bubbles->module~m_mpi_proxy module~m_bubbles->m_derived_types module~m_bubbles->module~m_global_parameters module~m_variables_conversion m_variables_conversion module~m_bubbles->module~m_variables_conversion module~m_global_parameters->m_derived_types module~m_global_parameters->mpi openacc openacc module~m_global_parameters->openacc iso_c_binding iso_c_binding module~nvtx->iso_c_binding module~m_rhs->module~m_mpi_proxy module~m_rhs->module~m_bubbles module~m_rhs->m_derived_types module~m_rhs->module~m_global_parameters module~m_rhs->module~nvtx module~m_rhs->module~m_variables_conversion m_cbc m_cbc module~m_rhs->m_cbc m_weno m_weno module~m_rhs->m_weno module~m_qbmm m_qbmm module~m_rhs->module~m_qbmm module~m_riemann_solvers m_riemann_solvers module~m_rhs->module~m_riemann_solvers module~m_variables_conversion->module~m_mpi_proxy module~m_variables_conversion->m_derived_types module~m_variables_conversion->module~m_global_parameters module~m_variables_conversion->module~nvtx module~m_qbmm->module~m_mpi_proxy module~m_qbmm->m_derived_types module~m_qbmm->module~m_global_parameters module~m_qbmm->module~m_variables_conversion module~m_riemann_solvers->module~m_mpi_proxy module~m_riemann_solvers->module~m_bubbles module~m_riemann_solvers->m_derived_types module~m_riemann_solvers->module~m_global_parameters module~m_riemann_solvers->module~m_variables_conversion

Used by

  • module~~m_time_steppers~~UsedByGraph module~m_time_steppers m_time_steppers module~m_derived_variables m_derived_variables module~m_derived_variables->module~m_time_steppers program~p_main p_main program~p_main->module~m_time_steppers program~p_main->module~m_derived_variables

Contents


Variables

TypeVisibilityAttributesNameInitial
type(vector_field), public, allocatable, dimension(:):: q_cons_ts

Cell-average conservative variables at each time-stage (TS)

type(scalar_field), public, allocatable, dimension(:):: rhs_vf

Cell-average RHS variables at the current time-stage

type(vector_field), public, allocatable, dimension(:):: q_prim_ts

Cell-average primitive variables at consecutive TIMESTEPS


Subroutines

The computation of parameters, the allocation of memory, the association of pointers and/or the execution of any other procedures that are necessary to setup the module.

Arguments

None

public subroutine s_1st_order_tvd_rk(t_step, time_avg)

1st order TVD RK time-stepping algorithm @param t_step Current time step

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: t_step
real(kind=kind(0d0)), intent(inout) :: time_avg

public subroutine s_2nd_order_tvd_rk(t_step, time_avg)

2nd order TVD RK time-stepping algorithm @param t_step Current time-step

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: t_step
real(kind=kind(0d0)), intent(inout) :: time_avg

public subroutine s_3rd_order_tvd_rk(t_step, time_avg)

3rd order TVD RK time-stepping algorithm @param t_step Current time-step

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: t_step
real(kind=kind(0d0)), intent(inout) :: time_avg

public subroutine s_time_step_cycling(t_step)

This subroutine saves the temporary q_prim_vf vector into the q_prim_ts vector that is then used in p_main @param t_step current time-step

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: t_step

Module deallocation and/or disassociation procedures

Arguments

None