Jhuighuy / StormRuler

A very high order FVM framework

Home Page:https://jhuighuy.github.io/StormRuler

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Storm Ruler

Build Pages SonarCloud Quality Gate Status Coverage Lines of Code codecov CodeQL Coverity Coverity Scan Build Status Codacy Badge CodeFactor OpenSSF Best Practices Code style: black

StormRuler is a FVM-based multidimensional partial differential equations solving framework, written in C++23.

πŸŒ€ Equations solved

StormRuler can be used to solve various partial differential equations, including:

  • 🌊 Incompressible Navier-Stokes equations,
  • πŸŒͺ (planned) Π‘ompressible Navier-Stokes/Euler equations,
  • πŸ’§ (planned) Cahn-Hilliard equation,
  • ... To be written...

🌐 Numerical methods

The heart of the StormRuler is the ✨Finite Volume Method✨. To be written...

🌈 Algebra

To be written...

Iterative solvers:

Name Problem type Flexible Status
Richardson General Square Nonsingular Yes βœ…
Broyden General Square Nonsingular No Planned
Newton General Square Nonsingular Yes βœ…
JFNK General Square Nonsingular No βœ…
CG Linear Definite Symmetric No βœ…
FCG Linear Definite Symmetric Yes Planned
MINRES Linear Indefinite Symmetric No Planned
CGS Linear Square Nonsingular No βœ…
BiCGStab Linear Square Nonsingular No βœ…
BiCGStab(l) Linear Square Nonsingular No βœ…
TFQMR Linear Square Nonsingular No βœ…
TFQMR(1) Linear Square Nonsingular No βœ…
IDR(s) Linear Square Nonsingular No βœ…
GMRES Linear Square No βœ…
FGMRES Linear Square Yes βœ…
LGMRES Linear Square No Planned
LFGMRES Linear Square Yes Planned
LSQR Linear Rectangular No Planned
LSMR Linear Rectangular No Planned

Preconditioners:

Name Problem type Flexible Status
Block Diagonal Square Nonsingular No Planned
Symmetric Gauss-Seidel Square Nonsingular No Planned
Incomplete Cholesky Definite Symmetric No Planned
Incomplete LU Square Nonsingular No Planned
Incomplete QR Rectangular No Planned
AINV Definite Symmetric No Planned
SPAI Square Nonsingular No Planned
AMG Square Nonsingular No Planned
Krylov Square Nonsingular Yes Planned

πŸ— Compiling

To be written...

Compiler Linux macOS Windows
GCC 12.1+ βœ… βœ… βœ…
Clang 16.0+ Partial Planned Planned
Intel LLVM Planned Planned
MSVC 19.34+ βœ…

About

A very high order FVM framework

https://jhuighuy.github.io/StormRuler

License:MIT License


Languages

Language:C++ 89.5%Language:CMake 6.1%Language:Python 2.1%Language:GLSL 1.5%Language:Batchfile 0.8%