MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_time_steppers Module Reference

Total-variation-diminishing (TVD) Runge–Kutta time integrators (1st-, 2nd-, and 3rd-order SSP). More...

Functions/Subroutines

impure subroutine s_initialize_time_steppers_module
 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.
impure subroutine s_tvd_rk (t_step, time_avg, nstage)
 Advances the solution one full step using a TVD Runge-Kutta time integrator.
impure subroutine s_adaptive_dt_bubble (stage)
 Bubble source part in Strang operator splitting scheme.
impure subroutine s_compute_dt ()
 Computes the global time step size from CFL stability constraints across all cells.
subroutine s_apply_bodyforces (q_cons_vf, q_prim_vf_in, rhs_vf_in, ldt)
 This subroutine applies the body forces source term at each Runge-Kutta stage.
subroutine s_propagate_immersed_boundaries (s)
 Updates immersed boundary positions and velocities at the current Runge-Kutta stage.
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.
impure subroutine s_finalize_time_steppers_module
 Module deallocation and/or disassociation procedures.

Variables

type(vector_field), dimension(:), allocatable q_cons_ts
 Cell-average conservative variables at each time-stage (TS).
type(scalar_field), dimension(:), allocatable q_prim_vf
 Cell-average primitive variables at the current time-stage.
type(scalar_field), dimension(:), allocatable rhs_vf
 Cell-average RHS variables at the current time-stage.
type(integer_field), dimension(:, :), allocatable bc_type
 Boundary condition identifiers.
type(vector_field), dimension(:), allocatable q_prim_ts1
type(vector_field), dimension(:), allocatable q_prim_ts2
 Cell-average primitive variables at consecutive TIMESTEPS.
real(wp), dimension(:, :, :, :, :), allocatable rhs_pb
type(scalar_fieldq_t_sf
 Cell-average temperature variables at the current time-stage.
real(wp), dimension(:, :, :, :, :), allocatable rhs_mv
real(wp), dimension(:, :, :), allocatable max_dt
integer, private num_ts
 Number of time stages in the time-stepping scheme.
integer stor
 storage index
real(wp), dimension(:, :), allocatable rk_coef
integer, private num_probe_ts

Detailed Description

Total-variation-diminishing (TVD) Runge–Kutta time integrators (1st-, 2nd-, and 3rd-order SSP).

Function/Subroutine Documentation

◆ s_adaptive_dt_bubble()

impure subroutine m_time_steppers::s_adaptive_dt_bubble ( integer, intent(in) stage)

Bubble source part in Strang operator splitting scheme.

Parameters
stageCurrent time-stage

Definition at line 5260 of file m_time_steppers.fpp.f90.

Here is the caller graph for this function:

◆ s_apply_bodyforces()

subroutine m_time_steppers::s_apply_bodyforces ( type(scalar_field), dimension(1:sys_size), intent(inout) q_cons_vf,
type(scalar_field), dimension(1:sys_size), intent(in) q_prim_vf_in,
type(scalar_field), dimension(1:sys_size), intent(inout) rhs_vf_in,
real(wp), intent(in) ldt )

This subroutine applies the body forces source term at each Runge-Kutta stage.

Parameters
q_cons_vfConservative variables
q_prim_vf_inPrimitive variables
rhs_vf_inRight-hand side variables
[in]ldtlocal dt

Definition at line 5450 of file m_time_steppers.fpp.f90.

Here is the caller graph for this function:

◆ s_compute_dt()

impure subroutine m_time_steppers::s_compute_dt

Computes the global time step size from CFL stability constraints across all cells.

Definition at line 5307 of file m_time_steppers.fpp.f90.

Here is the caller graph for this function:

◆ s_finalize_time_steppers_module()

impure subroutine m_time_steppers::s_finalize_time_steppers_module

Module deallocation and/or disassociation procedures.

Definition at line 5845 of file m_time_steppers.fpp.f90.

Here is the caller graph for this function:

◆ s_initialize_time_steppers_module()

impure subroutine m_time_steppers::s_initialize_time_steppers_module

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.

Definition at line 404 of file m_time_steppers.fpp.f90.

Here is the caller graph for this function:

◆ s_propagate_immersed_boundaries()

subroutine m_time_steppers::s_propagate_immersed_boundaries ( integer, intent(in) s)

Updates immersed boundary positions and velocities at the current Runge-Kutta stage.

Definition at line 5519 of file m_time_steppers.fpp.f90.

Here is the caller graph for this function:

◆ s_time_step_cycling()

subroutine m_time_steppers::s_time_step_cycling ( integer, intent(in) t_step)

This subroutine saves the temporary q_prim_vf vector into the q_prim_ts vector that is then used in p_main.

Parameters
t_stepcurrent time-step

Definition at line 5581 of file m_time_steppers.fpp.f90.

Here is the caller graph for this function:

◆ s_tvd_rk()

impure subroutine m_time_steppers::s_tvd_rk ( integer, intent(in) t_step,
real(wp), intent(inout) time_avg,
integer, intent(in) nstage )

Advances the solution one full step using a TVD Runge-Kutta time integrator.

Definition at line 5039 of file m_time_steppers.fpp.f90.

Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ bc_type

type(integer_field), dimension(:, :), allocatable m_time_steppers::bc_type

Boundary condition identifiers.

Definition at line 354 of file m_time_steppers.fpp.f90.

◆ max_dt

real(wp), dimension(:, :, :), allocatable m_time_steppers::max_dt

Definition at line 367 of file m_time_steppers.fpp.f90.

◆ num_probe_ts

integer, private m_time_steppers::num_probe_ts
private

Definition at line 374 of file m_time_steppers.fpp.f90.

◆ num_ts

integer, private m_time_steppers::num_ts
private

Number of time stages in the time-stepping scheme.

Definition at line 369 of file m_time_steppers.fpp.f90.

◆ q_cons_ts

type(vector_field), dimension(:), allocatable m_time_steppers::q_cons_ts

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

Definition at line 345 of file m_time_steppers.fpp.f90.

◆ q_prim_ts1

type(vector_field), dimension(:), allocatable m_time_steppers::q_prim_ts1

Definition at line 357 of file m_time_steppers.fpp.f90.

◆ q_prim_ts2

type(vector_field), dimension(:), allocatable m_time_steppers::q_prim_ts2

Cell-average primitive variables at consecutive TIMESTEPS.

Definition at line 357 of file m_time_steppers.fpp.f90.

◆ q_prim_vf

type(scalar_field), dimension(:), allocatable m_time_steppers::q_prim_vf

Cell-average primitive variables at the current time-stage.

Definition at line 348 of file m_time_steppers.fpp.f90.

◆ q_t_sf

type(scalar_field) m_time_steppers::q_t_sf

Cell-average temperature variables at the current time-stage.

Definition at line 362 of file m_time_steppers.fpp.f90.

◆ rhs_mv

real(wp), dimension(:, :, :, :, :), allocatable m_time_steppers::rhs_mv

Definition at line 365 of file m_time_steppers.fpp.f90.

◆ rhs_pb

real(wp), dimension(:, :, :, :, :), allocatable m_time_steppers::rhs_pb

Definition at line 360 of file m_time_steppers.fpp.f90.

◆ rhs_vf

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

Cell-average RHS variables at the current time-stage.

Definition at line 351 of file m_time_steppers.fpp.f90.

◆ rk_coef

real(wp), dimension(:, :), allocatable m_time_steppers::rk_coef

Definition at line 373 of file m_time_steppers.fpp.f90.

◆ stor

integer m_time_steppers::stor

storage index

Definition at line 372 of file m_time_steppers.fpp.f90.