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, bc_type)
 Initializes the lagrangian subgrid bubble solver.
impure subroutine m_bubbles_el::s_read_input_bubbles (q_cons_vf, bc_type)
 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, bc_type, 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 (bc_type)
 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 (q_prim_vf, bc_type, stage)
 Update Lagrangian bubble variables using TVD Runge-Kutta time stepping.
impure subroutine m_bubbles_el::s_enforce_el_bubbles_boundary_conditions (q_prim_vf)
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_open_lag_bubble_evol ()
 Open the file to write the evolution of the lagrangian bubbles on each time step.
impure subroutine m_bubbles_el::s_write_lag_bubble_evol (qtime)
 Write on each time step the changes of the lagrangian bubbles.
impure subroutine m_bubbles_el::s_close_lag_bubble_evol
subroutine m_bubbles_el::s_open_void_evol
impure subroutine m_bubbles_el::s_write_void_evol (qtime)
 Write some useful statistics related to the volume fraction of the particles (void fraction).
subroutine m_bubbles_el::s_close_void_evol
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_open_lag_bubble_stats ()
impure subroutine m_bubbles_el::s_write_lag_bubble_stats ()
 Write the maximum and minimum radius of each bubble.
subroutine m_bubbles_el::s_close_lag_bubble_stats
impure subroutine m_bubbles_el::s_copy_lag_bubble (dest, src)
 Copy a lag bubble from a src index to a destination index.
impure subroutine m_bubbles_el::s_finalize_lagrangian_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.
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.
type(scalar_field), dimension(:), allocatable m_bubbles_el::kahan_comp
 Kahan compensation for q_beta accumulation.
integer m_bubbles_el::q_beta_idx
 Size of the q_beta vector field.
integer, parameter m_bubbles_el::lag_evol_id = 11
integer, parameter m_bubbles_el::lag_stats_id = 12
integer, parameter m_bubbles_el::lag_void_id = 13
integer, dimension(:), allocatable m_bubbles_el::keep_bubble
integer, dimension(:,:), allocatable m_bubbles_el::wrap_bubble_loc
integer, dimension(:,:), allocatable m_bubbles_el::wrap_bubble_dir

Detailed Description

Contains module m_bubbles_EL.

Definition in file m_bubbles_EL.fpp.f90.