|
MFC: Simulation
High-fidelity multiphase flow simulation
|
| Mm_acoustic_src | The module contains the subroutines used to create a acoustic source pressure source term |
| Mm_body_forces | |
| Mm_boundary_common | The purpose of the module is to apply noncharacteristic and processor boundary conditions |
| Mm_bubbles | This module contains procedures shared by the ensemble-averaged and volume-averaged bubble models |
| Mm_bubbles_ee | This module is used to compute the ensemble-averaged bubble dynamic variables |
| Mm_bubbles_el | This module is used to to compute the volume-averaged bubble model |
| Mm_bubbles_el_kernels | This module contains kernel functions used to map the effect of the lagrangian bubbles in the Eulerian framework |
| Mm_cbc | The module features a large database of characteristic boundary conditions (CBC) for the Euler system of equations. This system is augmented by the appropriate advection equations utilized to capture the material interfaces. The closure is achieved by the stiffened equation of state and mixture relations. At this time, the following CBC are available: 1) Slip Wall 2) Nonreflecting Subsonic Buffer 3) Nonreflecting Subsonic Inflow 4) Nonreflecting Subsonic Outflow 5) Force-Free Subsonic Outflow 6) Constant Pressure Subsonic Outflow 7) Supersonic Inflow 8) Supersonic Outflow Please refer to Thompson (1987, 1990) for detailed descriptions |
| Mm_checker | The purpose of the module is to check for compatible input files |
| Mm_checker_common | The purpose of the module is to check for compatible input files for. inputs common to pre-processing, post-processing and simulation |
| Mm_chemistry | |
| Mm_compile_specific | This module contains subroutines that are compiler specific |
| Mm_compute_cbc | |
| Mm_compute_levelset | This module is used to handle all operations related to immersed boundary methods (IBMs) |
| Mm_constants | |
| Mm_data_output | The primary purpose of this module is to output the grid and the conservative variables data at the chosen time-step interval. In addition, this module is also in charge of outputting a run-time information file which summarizes the time-dependent behavior !of the stability criteria. The latter include the inviscid Courant– Friedrichs–Lewy (ICFL), viscous CFL (VCFL), capillary CFL (CCFL) and cell Reynolds (Rc) numbers |
| Mm_delay_file_access | |
| Mm_derived_types | This file contains the definitions of all of the custom-defined types used in the pre-process code |
| Mm_derived_variables | This module features subroutines that allow for the derivation of numerous flow variables from the conservative and primitive ones. Currently, the available derived variables include the unadvected volume fraction, specific heat ratio, liquid stiffness, speed of sound, vorticity and the numerical Schlieren function |
| Mm_fftw | The module contains the subroutines for the FFT routines |
| Mm_finite_differences | |
| Mm_global_parameters | The module contains all of the parameters describing the program logistics, the computational domain and the simulation algorithm. Additionally, for the volume fraction model, physical parameters of each of the fluids present in the flow are located here. They include stiffened gas equation of state parameters, the Reynolds numbers and the Weber numbers |
| Mm_helper | |
| Mm_helper_basic | |
| Mm_hyperelastic | This module consists of subroutines used in the calculation of the cauchy tensor |
| Mm_hypoelastic | This module is used to compute source terms for hypoelastic model |
| Mm_ib_patches | Allocate memory and read initial condition data for IC extrusion |
| Mm_ibm | This module is used to handle all operations related to immersed boundary methods (IBMs) |
| Mm_igr | |
| Mm_mhd | This module is used to compute source terms for magnetohydrodynamics Note: not applicable for 1D |
| Mm_model | |
| Mm_mpi_common | The module serves as a proxy to the parameters and subroutines available in the MPI implementation's MPI module. Specifically, the purpose of the proxy is to harness basic MPI commands into more complicated procedures as to accomplish the communication goals for the simulation |
| Mm_mpi_proxy | The module serves as a proxy to the parameters and subroutines available in the MPI implementation's MPI module. Specifically, the purpose of the proxy is to harness basic MPI commands into more complicated procedures as to accomplish the communication goals for the simulation |
| Mm_muscl | |
| Mm_nvtx | |
| Mm_phase_change | Energies (6-eqn to 4-eqn) equilibrium through an infinitely fast (algebraic) procedure |
| Mm_precision_select | This file contains the definition of floating point used in MFC |
| Mm_pressure_relaxation | The module contains the subroutines used to perform pressure relaxation for multi-component flows using the 6-equation model. This includes volume fraction correction, Newton-Raphson pressure equilibration, and internal energy correction to maintain thermodynamic consistency |
| Mm_qbmm | This module is used to compute moment inversion via qbmm |
| Mm_rhs | The module contains the subroutines used to calculate the right- hane-side (RHS) in the quasi-conservative, shock- and interface- capturing finite-volume framework for the multicomponent Navier- Stokes equations supplemented by appropriate advection equations used to capture the material interfaces. The system of equations is closed by the stiffened gas equation of state, as well as any required mixture relationships. Capillarity effects are included and are modeled by the means of a volume force acting across the diffuse material interface region. The implementation details of surface tension may be found in Perigaud and Saurel (2005). Note that both viscous and surface tension effects are only available in the volume fraction model |
| Mm_riemann_solvers | This module features a database of approximate and exact Riemann problem solvers for the Navier-Stokes system of equations, which is supplemented by appropriate advection equations that are used to capture the material interfaces. The closure of the system is achieved by the stiffened gas equation of state and any required mixture relations. Surface tension effects are accounted for and are modeled by means of a volume force acting across the diffuse material interface region. The implementation details of viscous and capillary effects, into the Riemann solvers, may be found in Perigaud and Saurel (2005). Note that both effects are available only in the volume fraction model. At this time, the approximate and exact Riemann solvers that are listed below are available: 1) Harten-Lax-van Leer (HLL) 2) Harten-Lax-van Leer-Contact (HLLC) 3) Exact 4) Harten-Lax-van Leer Discontinuities (HLLD) - for MHD only |
| Mm_sim_helpers | |
| Mm_start_up | The purpose of the module is primarily to read in the files that contain the inputs, the initial condition data and the grid data that are provided by the user. The module is additionally tasked with verifying the consistency of the user inputs and completing the grid variablesThe purpose of the module is primarily to read in the files that contain the inputs, the initial condition data and the grid data that are provided by the user. The module is additionally tasked with verifying the consistency of the user inputs and completing the grid variables. This module also also allocating, initializing I/O, and deallocating the relevant variables on both cpus and gpus as well as setting up the time stepping, domain decomposition and I/O procedures |
| Mm_surface_tension | This module is used to compute source terms for surface tension model |
| Mm_time_steppers | 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 |
| Mm_variables_conversion | This module consists of subroutines used in the conversion of the conservative variables into the primitive ones and vice versa. In addition, the module also contains the subroutines used to obtain the mixture variables and the subroutines used to compute pressure |
| Mm_viscous | The module contains the subroutines used to compute viscous terms |
| Mm_weno | Weighted essentially non-oscillatory (WENO) reconstruction scheme that is supplemented with monotonicity preserving bounds (MPWENO) and a mapping function that boosts the accuracy of the non-linear weights (WENOM). MPWENO, see Balsara and Shu (2000), prevents the reconstructed values to lay outside the range set by the stencil, while WENOM, see Henrick et al. (2005), recovers the formal order of accuracy of the reconstruction at critical points. Please note that the basic WENO approach is implemented according to the work of Jiang and Shu (1996). WENO-Z, which is less dissipative than WENO-JS and WENO-M, is implemented according to the work of Borges, et al. (2008). TENO, which is even less dissipative than WENO-Z but is less robust, is implemented according to the work of Fu et al. (2016) |