|
MFC
Exascale flow solver
|
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) |
| 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(wp) | m_bubbles_el::rmax_glb |
| real(wp) | m_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. | |
Contains module m_bubbles_EL.
Definition in file m_bubbles_EL.fpp.f90.