MFC: Simulation
High-fidelity multiphase flow simulation
Loading...
Searching...
No Matches
m_time_steppers Module Reference

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. 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)
impure subroutine s_adaptive_dt_bubble (stage)
 Bubble source part in Strang operator splitting scheme.
impure subroutine s_compute_dt ()
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)
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

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.

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
t_stepCurrent time-step
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
[in]ldtlocal dt
Here is the caller graph for this function:

◆ s_compute_dt()

impure subroutine m_time_steppers::s_compute_dt
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.

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.

Here is the caller graph for this function:

◆ s_propagate_immersed_boundaries()

subroutine m_time_steppers::s_propagate_immersed_boundaries ( integer, intent(in) s)
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
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 )
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.

◆ max_dt

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

◆ num_probe_ts

integer, private m_time_steppers::num_probe_ts
private

◆ num_ts

integer, private m_time_steppers::num_ts
private

Number of time stages in the time-stepping scheme.

◆ q_cons_ts

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

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

◆ q_prim_ts1

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

◆ q_prim_ts2

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

Cell-average primitive variables at consecutive TIMESTEPS.

◆ q_prim_vf

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

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

◆ q_t_sf

type(scalar_field) m_time_steppers::q_t_sf

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

◆ rhs_mv

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

◆ rhs_pb

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

◆ rhs_vf

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

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

◆ rk_coef

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

◆ stor

integer m_time_steppers::stor

storage index