MFlowCode / MFC

Exascale simulation of multiphase/physics fluid dynamics

Home Page:https://mflowcode.github.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Add list of MFC features to README and/or website

sbryngelson opened this issue · comments

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

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
  • 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

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]

closed because i pushed to master