|
MFC
Exascale flow solver
|
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.
| 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 |
| 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 |