StormRuler is a FVM-based multidimensional partial differential equations solving framework, written in C++23.
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...
The heart of the StormRuler is the ✨Finite Volume Method✨. To be written...
To be written...
| 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 |
| 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 |
To be written...
| Compiler | Linux | macOS | Windows |
|---|---|---|---|
| GCC 12.1+ | ✅ | ✅ | ✅ |
| Clang 16.0+ | Partial | Planned | Planned |
| Intel LLVM | Planned | Planned | |
| MSVC 19.34+ | ✅ |