MFC: Simulation
High-fidelity multiphase flow simulation
Loading...
Searching...
No Matches
Modules List
Here is a list of all modules with brief descriptions:
 Mm_acoustic_srcThe module contains the subroutines used to create a acoustic source pressure source term
 Mm_body_forces
 Mm_boundary_commonThe purpose of the module is to apply noncharacteristic and processor boundary conditions
 Mm_bubblesThis module contains procedures shared by the ensemble-averaged and volume-averaged bubble models
 Mm_bubbles_eeThis module is used to compute the ensemble-averaged bubble dynamic variables
 Mm_bubbles_elThis module is used to to compute the volume-averaged bubble model
 Mm_bubbles_el_kernelsThis module contains kernel functions used to map the effect of the lagrangian bubbles in the Eulerian framework
 Mm_cbcThe 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_checkerThe purpose of the module is to check for compatible input files
 Mm_checker_commonThe 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_specificThis module contains subroutines that are compiler specific
 Mm_compute_cbc
 Mm_compute_levelsetThis module is used to handle all operations related to immersed boundary methods (IBMs)
 Mm_constants
 Mm_data_outputThe 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_typesThis file contains the definitions of all of the custom-defined types used in the pre-process code
 Mm_derived_variablesThis 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_fftwThe module contains the subroutines for the FFT routines
 Mm_finite_differences
 Mm_global_parametersThe 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_hyperelasticThis module consists of subroutines used in the calculation of the cauchy tensor
 Mm_hypoelasticThis module is used to compute source terms for hypoelastic model
 Mm_ib_patchesAllocate memory and read initial condition data for IC extrusion
 Mm_ibmThis module is used to handle all operations related to immersed boundary methods (IBMs)
 Mm_igr
 Mm_mhdThis module is used to compute source terms for magnetohydrodynamics Note: not applicable for 1D
 Mm_model
 Mm_mpi_commonThe 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_proxyThe 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_changeEnergies (6-eqn to 4-eqn) equilibrium through an infinitely fast (algebraic) procedure
 Mm_precision_selectThis file contains the definition of floating point used in MFC
 Mm_pressure_relaxationThe 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_qbmmThis module is used to compute moment inversion via qbmm
 Mm_rhsThe 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_solversThis 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_upThe 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_tensionThis module is used to compute source terms for surface tension model
 Mm_time_steppersThe 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_conversionThis 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_viscousThe module contains the subroutines used to compute viscous terms
 Mm_wenoWeighted 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)