|
MFC: Simulation
High-fidelity multiphase flow simulation
|
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_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_field) | q_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 |
| real(stp), dimension(:, :, :, :), allocatable | pinned |
| real(stp), dimension(:, :, :, :), allocatable | target |
| real(stp), dimension(:, :, :, :), allocatable, pointer, contiguous | q_cons_ts_pool_host |
| real(stp), dimension(:, :, :, :), pointer, contiguous | q_cons_ts_pool_device |
| integer(kind=8), dimension(4) | pool_dims |
| integer(kind=8), dimension(4) | pool_starts |
| integer(kind=8) | pool_size |
| type(c_ptr) | cptr_host |
| type(c_ptr) | cptr_device |
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.
| impure subroutine m_time_steppers::s_adaptive_dt_bubble | ( | integer, intent(in) | stage | ) |
Bubble source part in Strang operator splitting scheme.
| t_step | Current time-step |
| 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.
| [in] | ldt | local dt |
| impure subroutine m_time_steppers::s_compute_dt |
| impure subroutine m_time_steppers::s_finalize_time_steppers_module |
Module deallocation and/or disassociation procedures.
| 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.
| 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.
| t_step | current time-step |
| impure subroutine m_time_steppers::s_tvd_rk | ( | integer, intent(in) | t_step, |
| real(wp), intent(inout) | time_avg, | ||
| integer, intent(in) | nstage ) |
| type(integer_field), dimension(:, :), allocatable m_time_steppers::bc_type |
Boundary condition identifiers.
| type(c_ptr) m_time_steppers::cptr_device |
| type(c_ptr) m_time_steppers::cptr_host |
| real(wp), dimension(:, :, :), allocatable m_time_steppers::max_dt |
|
private |
|
private |
Number of time stages in the time-stepping scheme.
| real(stp), dimension(:, :, :, :), allocatable m_time_steppers::pinned |
| integer(kind=8), dimension(4) m_time_steppers::pool_dims |
| integer(kind=8) m_time_steppers::pool_size |
| integer(kind=8), dimension(4) m_time_steppers::pool_starts |
| type(vector_field), dimension(:), allocatable m_time_steppers::q_cons_ts |
Cell-average conservative variables at each time-stage (TS)
| real(stp), dimension(:, :, :, :), pointer, contiguous m_time_steppers::q_cons_ts_pool_device |
| real(stp), dimension(:, :, :, :), allocatable, pointer, contiguous m_time_steppers::q_cons_ts_pool_host |
| type(vector_field), dimension(:), allocatable m_time_steppers::q_prim_ts1 |
| type(vector_field), dimension(:), allocatable m_time_steppers::q_prim_ts2 |
Cell-average primitive variables at consecutive TIMESTEPS.
| type(scalar_field), dimension(:), allocatable m_time_steppers::q_prim_vf |
Cell-average primitive variables at the current time-stage.
| type(scalar_field) m_time_steppers::q_t_sf |
Cell-average temperature variables at the current time-stage.
| real(wp), dimension(:, :, :, :, :), allocatable m_time_steppers::rhs_mv |
| real(wp), dimension(:, :, :, :, :), allocatable m_time_steppers::rhs_pb |
| type(scalar_field), dimension(:), allocatable m_time_steppers::rhs_vf |
Cell-average RHS variables at the current time-stage.
| real(wp), dimension(:, :), allocatable m_time_steppers::rk_coef |
| integer m_time_steppers::stor |
storage index
| real(stp), dimension(:, :, :, :), allocatable m_time_steppers::target |