MFC
Exascale flow solver
Loading...
Searching...
No Matches
m_bubbles_EL.fpp.f90 File Reference

Contains module m_bubbles_EL. More...

Go to the source code of this file.

Modules

module  m_bubbles_el
 Tracks Lagrangian bubbles and couples their dynamics to the Eulerian flow via volume averaging.

Functions/Subroutines

impure subroutine m_bubbles_el::s_initialize_bubbles_el_module (q_cons_vf)
 Initializes the lagrangian subgrid bubble solver.
impure subroutine m_bubbles_el::s_read_input_bubbles (q_cons_vf)
 Read initial bubble data from input files.
impure subroutine m_bubbles_el::s_add_bubbles (inputbubble, q_cons_vf, bub_id)
 Add a new bubble from input data for a fresh start.
impure subroutine m_bubbles_el::s_restart_bubbles (bub_id, save_count)
 Restore bubble data from a restart file.
subroutine m_bubbles_el::s_compute_bubble_el_dynamics (q_prim_vf, stage)
 Contains the bubble dynamics subroutines.
subroutine m_bubbles_el::s_compute_bubbles_el_source (q_cons_vf, q_prim_vf, rhs_vf)
 Compute the Lagrangian bubble source terms and add them to the RHS.
subroutine m_bubbles_el::s_compute_cson_from_pinf (q_prim_vf, pinf, cell, rhol, gamma, pi_inf, cson)
 Compute the speed of sound from a given driving pressure.
subroutine m_bubbles_el::s_smear_voidfraction ()
 Smear the bubble effects onto the Eulerian grid.
subroutine m_bubbles_el::s_get_pinf (bub_id, q_prim_vf, ptype, f_pinfl, cell, preterm1, term2, romega)
 Compute the bubble driving pressure p_inf.
impure subroutine m_bubbles_el::s_update_lagrange_tdv_rk (stage)
 Update Lagrangian bubble variables using TVD Runge-Kutta time stepping.
subroutine m_bubbles_el::s_locate_cell (pos, cell, scoord)
 Locate the cell index for a given physical position.
impure subroutine m_bubbles_el::s_transfer_data_to_tmp ()
 Transfer data into the temporal variables.
logical function m_bubbles_el::particle_in_domain (pos_part)
 Determine if a bubble position lies within the current MPI subdomain including ghost cells.
logical function m_bubbles_el::particle_in_domain_physical (pos_part)
 Determine if a Lagrangian bubble is within the physical domain excluding ghost cells.
subroutine m_bubbles_el::s_gradient_dir (q, dq, dir)
 Compute the gradient of a scalar field using second-order central differences on a non-uniform grid.
impure subroutine m_bubbles_el::s_write_lag_particles (qtime)
 Write Lagrangian bubble state data at each time step.
impure subroutine m_bubbles_el::s_write_void_evol (qtime)
 Write void fraction statistics at each time step.
impure subroutine m_bubbles_el::s_write_restart_lag_bubbles (t_step)
 Write restart files for the Lagrangian bubble solver.
subroutine m_bubbles_el::s_calculate_lag_bubble_stats ()
 Compute the maximum and minimum radius of each bubble.
impure subroutine m_bubbles_el::s_write_lag_bubble_stats ()
 Write the maximum and minimum radius statistics for each bubble.
impure subroutine m_bubbles_el::s_remove_lag_bubble (bub_id)
 Remove a specific Lagrangian bubble when dt becomes too small.
impure subroutine m_bubbles_el::s_finalize_lagrangian_solver ()
 Finalize the Lagrangian bubble solver.

Variables

integer, dimension(:,:), allocatable m_bubbles_el::lag_id
 Global and local IDs.
real(wp), dimension(:), allocatable m_bubbles_el::bub_r0
 Initial bubble radius.
real(wp), dimension(:), allocatable m_bubbles_el::rmax_stats
 Maximum radius.
real(wp), dimension(:), allocatable m_bubbles_el::rmin_stats
 Minimum radius.
real(wp), dimension(:), allocatable m_bubbles_el::gas_mg
 Bubble's gas mass.
real(wp), dimension(:), allocatable m_bubbles_el::gas_betat
 heatflux model (Preston et al., 2007)
real(wp), dimension(:), allocatable m_bubbles_el::gas_betac
 massflux model (Preston et al., 2007)
real(wp), dimension(:), allocatable m_bubbles_el::bub_dphidt
 subgrid velocity potential (Maeda & Colonius, 2018)
real(wp), dimension(:,:), allocatable m_bubbles_el::gas_p
 Pressure in the bubble.
real(wp), dimension(:,:), allocatable m_bubbles_el::gas_mv
 Vapor mass in the bubble.
real(wp), dimension(:,:), allocatable m_bubbles_el::intfc_rad
 Bubble radius.
real(wp), dimension(:,:), allocatable m_bubbles_el::intfc_vel
 Velocity of the bubble interface.
real(wp), dimension(:,:,:), allocatable m_bubbles_el::mtn_pos
 Bubble's position.
real(wp), dimension(:,:,:), allocatable m_bubbles_el::mtn_posprev
 Bubble's previous position.
real(wp), dimension(:,:,:), allocatable m_bubbles_el::mtn_vel
 Bubble's velocity.
real(wp), dimension(:,:,:), allocatable m_bubbles_el::mtn_s
 Bubble's computational cell position in real format.
real(wp), dimension(:,:), allocatable m_bubbles_el::intfc_draddt
 Time derivative of bubble's radius.
real(wp), dimension(:,:), allocatable m_bubbles_el::intfc_dveldt
 Time derivative of bubble's interface velocity.
real(wp), dimension(:,:), allocatable m_bubbles_el::gas_dpdt
 Time derivative of gas pressure.
real(wp), dimension(:,:), allocatable m_bubbles_el::gas_dmvdt
 Time derivative of the vapor mass in the bubble.
real(wp), dimension(:,:,:), allocatable m_bubbles_el::mtn_dposdt
 Time derivative of the bubble's position.
real(wp), dimension(:,:,:), allocatable m_bubbles_el::mtn_dveldt
 Time derivative of the bubble's velocity.
integer, private m_bubbles_el::lag_num_ts
 Number of time stages in the time-stepping scheme.
integer m_bubbles_el::nbubs
 Number of bubbles in the local domain.
real(wpm_bubbles_el::rmax_glb
real(wpm_bubbles_el::rmin_glb
 Maximum and minimum bubbe size in the local domain.
type(scalar_field), dimension(:), allocatable m_bubbles_el::q_beta
 Projection of the lagrangian particles in the Eulerian framework.
integer m_bubbles_el::q_beta_idx
 Size of the q_beta vector field.

Detailed Description

Contains module m_bubbles_EL.

Definition in file m_bubbles_EL.fpp.f90.