MFlowCode / MFC

Exascale simulation of multiphase/physics fluid dynamics
https://mflowcode.github.io
MIT License
144 stars 67 forks source link

Add list of MFC features to README and/or website #304

Closed sbryngelson closed 8 months ago

sbryngelson commented 10 months ago

An MFC features list is needed so people know what we have/don't have.

sbryngelson commented 9 months ago

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](https://www.olcf.ornl.gov/summit/) (V100-based) * \>60K GPUs on world's first exascale computer, [OLCF Frontier](https://www.olcf.ornl.gov/frontier/) (MI250X-based) * Near roofline behavior
Software robustness and other features * [Fypp](https://fypp.readthedocs.io/en/stable/fypp.html) 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](https://mflowcode.github.io) and [API documentation](https://mflowcode.github.io/documentation/index.html)
sbryngelson commented 8 months ago

Other info. to put in readme? Some ideas:

FAQ:

[WIP]

sbryngelson commented 8 months ago

closed because i pushed to master