MFC
Exascale flow solver
Loading...
Searching...
No Matches
MFC Simulation

The simulation component is the core flow solver. It advances the governing equations in time using high-order finite-volume methods on structured grids with GPU acceleration via OpenACC/OpenMP offloading.

Modules

Simulation

Module Description
m_acoustic_src Applies acoustic pressure source terms including focused, planar, and broadband transducers
m_body_forces Computes gravitational and user-defined body force source terms for the momentum equations
m_bubbles Shared bubble-dynamics procedures (radial acceleration, wall pressure, sound speed) for ensemble- and volume-averaged models
m_bubbles_EE Computes ensemble-averaged (Euler–Euler) bubble source terms for radius, velocity, pressure, and mass transfer
m_bubbles_EL Tracks Lagrangian bubbles and couples their dynamics to the Eulerian flow via volume averaging
m_bubbles_EL_kernels Kernel functions (Gaussian, delta) that smear Lagrangian bubble effects onto the Eulerian grid
m_cbc Characteristic boundary conditions (CBC) for slip walls, non-reflecting subsonic inflow/outflow, and supersonic boundaries
m_checker Validates simulation input parameters for consistency and supported configurations
m_compute_cbc Characteristic boundary condition (CBC) computations for subsonic inflow, outflow, and slip walls
m_compute_levelset Computes signed-distance level-set fields and surface normals for immersed-boundary patch geometries
m_data_output Writes solution data, run-time stability diagnostics (ICFL, VCFL, CCFL, Rc), and probe/center-of-mass files
m_derived_variables Derives diagnostic flow quantities (vorticity, speed of sound, numerical Schlieren, etc.) from conservative and primitive variables
m_fftw Forward and inverse FFT wrappers (FFTW/cuFFT/hipFFT) for azimuthal Fourier filtering in cylindrical geometries
m_global_parameters Global parameters for the computational domain, fluid properties, and simulation algorithm configuration
m_hyperelastic Computes the left Cauchy–Green deformation tensor and hyperelastic stress source terms
m_hypoelastic Computes hypoelastic stress-rate source terms and damage-state evolution
m_ib_patches Immersed boundary patch geometry constructors for 2D and 3D shapes
m_ibm Ghost-node immersed boundary method: locates ghost/image points, computes interpolation coefficients, and corrects the flow state
m_igr Iterative ghost rasterization (IGR) for sharp immersed boundary treatment
m_mpi_proxy MPI halo exchange, domain decomposition, and buffer packing/unpacking for the simulation solver
m_muscl MUSCL reconstruction with interface sharpening for contact-preserving advection
m_pressure_relaxation Pressure relaxation for the six-equation multi-component model via Newton–Raphson equilibration and volume-fraction correction
m_qbmm Quadrature-based moment methods (QBMM) for polydisperse bubble moment inversion and transport
m_rhs Assembles the right-hand side of the governing equations using finite-volume flux differencing, Riemann solvers, and physical source terms
m_riemann_solvers Approximate and exact Riemann solvers (HLL, HLLC, HLLD, exact) for the multicomponent Navier–Stokes equations
m_sim_helpers Simulation helper routines for enthalpy computation, CFL calculation, and stability checks
m_start_up Reads input files, loads initial conditions and grid data, and orchestrates solver initialization and finalization
m_surface_tension Computes capillary source fluxes and color-function gradients for the diffuse-interface surface tension model
m_time_steppers Total-variation-diminishing (TVD) Runge–Kutta time integrators (1st-, 2nd-, and 3rd-order SSP)
m_viscous Computes viscous stress tensors and diffusive flux contributions for the Navier–Stokes equations
m_weno WENO/WENO-Z/TENO reconstruction with optional monotonicity-preserving bounds and mapped weights

Common (shared)

Module Description
m_boundary_common Noncharacteristic and processor boundary condition application for ghost cells and buffer regions
m_checker_common Shared input validation checks for grid dimensions and AMD GPU compiler limits
m_chemistry Multi-species chemistry interface for thermodynamic properties, reaction rates, and transport coefficients
m_compile_specific Platform-specific file and directory operations: create, delete, inquire, getcwd, and basename
m_constants Compile-time constant parameters: default values, tolerances, and physical constants
m_delay_file_access Rank-staggered file access delays to prevent I/O contention on parallel file systems
m_derived_types Shared derived types for field data, patch geometry, bubble dynamics, and MPI I/O structures
m_finite_differences Finite difference operators for computing divergence of velocity fields
m_helper Utility routines for bubble model setup, coordinate transforms, array sampling, and special functions
m_helper_basic Basic floating-point utilities: approximate equality, default detection, and coordinate bounds
m_model Binary STL file reader and processor for immersed boundary geometry
m_mpi_common MPI communication layer: domain decomposition, halo exchange, reductions, and parallel I/O setup
m_nvtx NVIDIA NVTX profiling API bindings for GPU performance instrumentation
m_phase_change Phase transition relaxation solvers for liquid-vapor flows with cavitation and boiling
m_precision_select Working-precision kind selection (half/single/double) and corresponding MPI datatype parameters
m_variables_conversion Conservative-to-primitive variable conversion, mixture property evaluation, and pressure computation

See Also