Skip to content

Jhuighuy/StormRuler

Repository files navigation

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+