MFC: Simulation
High-fidelity multiphase flow simulation
Loading...
Searching...
No Matches
m_bubbles_EL.fpp.f90 File Reference

Modules

module  m_bubbles_el
 This module is used to to compute the volume-averaged bubble model.
 

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_start_lagrange_inputs ()
 The purpose of this procedure is to start lagrange bubble parameters applying nondimensionalization if needed.
 
impure subroutine m_bubbles_el::s_read_input_bubbles (q_cons_vf)
 The purpose of this procedure is to obtain the initial bubbles' information.
 
impure subroutine m_bubbles_el::s_add_bubbles (inputbubble, q_cons_vf, bub_id)
 The purpose of this procedure is to obtain the information of the bubbles when starting fresh.
 
impure subroutine m_bubbles_el::s_restart_bubbles (bub_id, save_count)
 The purpose of this procedure is to obtain the information of the bubbles from a restart point.
 
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)
 The purpose of this subroutine is to obtain the bubble source terms based on Maeda and Colonius (2018) and add them to the RHS scalar field.
 
subroutine m_bubbles_el::s_compute_cson_from_pinf (q_prim_vf, pinf, cell, rhol, gamma, pi_inf, cson)
 This procedure computes the speed of sound from a given driving pressure.
 
subroutine m_bubbles_el::s_smear_voidfraction ()
 The purpose of this subroutine is to smear the effect of the bubbles in the Eulerian framework.
 
subroutine m_bubbles_el::s_get_pinf (bub_id, q_prim_vf, ptype, f_pinfl, cell, preterm1, term2, romega)
 The purpose of this procedure is obtain the bubble driving pressure p_inf.
 
impure subroutine m_bubbles_el::s_update_lagrange_tdv_rk (stage)
 This subroutine updates the Lagrange variables using the tvd RK time steppers. The time derivative of the bubble variables must be stored at every stage to avoid precision errors.
 
subroutine m_bubbles_el::s_locate_cell (pos, cell, scoord)
 This subroutine returns the computational coordinate of the cell for the given position.
 
impure subroutine m_bubbles_el::s_transfer_data_to_tmp ()
 This subroutine transfer data into the temporal variables.
 
logical function m_bubbles_el::particle_in_domain (pos_part)
 The purpose of this procedure is to determine if the global coordinates of the bubbles are present in the current MPI processor (including ghost cells).
 
logical function m_bubbles_el::particle_in_domain_physical (pos_part)
 The purpose of this procedure is to determine if the lagrangian bubble is located in the physical domain. The ghost cells are not part of the physical domain.
 
subroutine m_bubbles_el::s_gradient_dir (q, dq, dir)
 The purpose of this procedure is to calculate the gradient of a scalar field along the x, y and z directions following a second-order central difference considering uneven widths.
 
impure subroutine m_bubbles_el::s_write_lag_particles (qtime)
 Subroutine that writes on each time step the changes of the lagrangian bubbles.
 
impure subroutine m_bubbles_el::s_write_void_evol (qtime)
 Subroutine that writes some useful statistics related to the volume fraction of the particles (void fraction) in the computatioational domain on each time step.
 
impure subroutine m_bubbles_el::s_write_restart_lag_bubbles (t_step)
 Subroutine that writes the restarting files for the particles in the lagrangian solver.
 
subroutine m_bubbles_el::s_calculate_lag_bubble_stats ()
 This procedure calculates the maximum and minimum radius of each bubble.
 
impure subroutine m_bubbles_el::s_write_lag_bubble_stats ()
 Subroutine that writes the maximum and minimum radius of each bubble.
 
impure subroutine m_bubbles_el::s_remove_lag_bubble (bub_id)
 The purpose of this subroutine is to remove one specific particle if dt is too small.
 
impure subroutine m_bubbles_el::s_finalize_lagrangian_solver ()
 The purpose of this subroutine is to deallocate variables.
 

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 Projection of the lagrangian particles in the Eulerian framework.
 
type(scalar_field), dimension(:), allocatable m_bubbles_el::q_beta
 
integer m_bubbles_el::q_beta_idx
 Size of the q_beta vector field.