|
MFC
Exascale flow solver
|
The pre-process component generates initial conditions and computational meshes for MFC simulations. It supports patch-based geometry construction, multi-component material initialization, and immersed boundary geometry.
| Module | Description |
|---|---|
| m_assign_variables | Assigns initial primitive variables to computational cells based on patch geometry |
| m_boundary_conditions | Applies spatially varying boundary condition patches along domain edges and faces |
| m_check_ib_patches | Validates geometry parameters and constraints for immersed boundary patches |
| m_check_patches | Validates geometry parameters and constraints for initial condition patches |
| m_checker | Checks pre-process input file parameters for compatibility and correctness |
| m_data_output | Writes grid and initial condition data to serial or parallel output files |
| m_global_parameters | Defines global parameters for the computational domain, simulation algorithm, and initial conditions |
| m_grid | Generates uniform or stretched rectilinear grids with hyperbolic-tangent spacing |
| m_icpp_patches | Constructs initial condition patch geometries (lines, circles, rectangles, spheres, etc.) on the grid |
| m_initial_condition | Assembles initial conditions by layering prioritized patches via constructive solid geometry |
| m_mpi_proxy | Broadcasts user inputs and decomposes the domain across MPI ranks for pre-processing |
| m_perturbation | Perturbs initial mean flow fields with random noise, mixing-layer instabilities, or simplex noise |
| m_simplex_noise | 2D and 3D simplex noise generation for procedural initial condition perturbations |
| m_start_up | Reads and validates user inputs, loads existing grid/IC data, and initializes pre-process modules |
| 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 |