Add list of MFC features to README and/or website
sbryngelson opened this issue · comments
Spencer Bryngelson commented
An MFC features list is needed so people know what we have/don't have.
Spencer Bryngelson commented
Just starting a list [WIP]
Physics
- 1-3D
- Compressible
- Multi- and single-component
- 4, 5, and 6 equation models for multi-component/phase features
- Multi- and single-phase
- Phase change via p, pT, and pTg schemes
- Grids
- 1-3D Cartesian, Cylindrical, Axi-symmetric.
- Arbitrary grid stretching for multiple domain regions available.
- Complex/arbitrary geometries via immersed boundary methods
- STL geometry files supported
- Sub-grid Euler-Euler multiphase models for bubble dynamics and similar
- Viscous effects (high-order accurate representations)
- Ideal and stiffened gas equations of state
- Acoustic wave generation (one- and two-way sound sources)
Numerics
- Shock and interface capturing schemes
- First-order upwinding, WENO3 and 5.
- Reliable handling of high density ratios.
- Exact and approximate (e.g., HLL, HLLC) Riemann solvers
- Boundary conditions: Periodic, reflective, extrapolation/Neumann, slip/no-slip, non-reflecting characteristic buffers, inflows, outflows, and more.
- Runge-Kutta orders 1-3 (SSP TVD)
- Interface sharpening (THINC-like)
Large-scale and accelerated simulation
- GPU compatible on NVIDIA (P/V/A/H100, etc.) and AMD (MI200+) hardware
- Ideal weak scaling to 100% of leadership class machines
- >10K GPUs on OLCF Summit (V100-based)
- >60K GPUs on world's first exascale computer, OLCF Frontier (MI250X-based)
- Near roofline behavior
Software robustness and other features
- Fypp metaprogramming for code readability, performance, and portability
- Continuous Integration (CI)
- Regression test cases on CPU and GPU hardware with each PR. Performed with GNU, Intel, and NVIDIA compilers.
- Benchmarking to avoid performance regressions and identify speed-ups
- Continuous Deployment (CD) of website and API documentation
Spencer Bryngelson commented
Other info. to put in readme? Some ideas:
FAQ:
- Should I use MFC? Hard to answer, but he's a go at it.
- Yes: You want a user-friendly, fast, and scalable solver that works effortlessly and efficiently on both your laptop and the world's largest computers and handles the physics you require (see lists above).
- No: You have never used a command line interface before.
[WIP]
Spencer Bryngelson commented
closed because i pushed to master