SWESolver
A 2D node-centered solver based on finite volumes for shallow water equations
Install / Use
/learn @dellanoce/SWESolverREADME

SWESolver
SWESolver is a software written in C++ for the numerical solution of the 2D shallow water equations.
The software solves the equations using a finite volume method (FVM) centered on nodes of a 2D structured quadrilateral mesh.
Prerequisites
The only prerequisites for compiling SWESolver are:
For Debian/Ubuntu they can be downloaded using the following commands on terminal:
$ sudo apt-get install cmake
$ sudo apt-get install doxygen
Build
To build SWESolver, move into folder build and generate the makefile using CMake:
$ cmake ..
Then the software can be compiled using the command make:
$ make -j [jobs]
where the option -j [jobs] can be used for speeding up the compilation specifying the
number of jobs.
Documentation
To generate the documentation (optional), just use the command doxygen in the main folder:
$ doxygen
Path setup
After installation, the PATH to SWESolver can be added to .bashrc telling the OS where
to look for the binary. Edit .bashrc adding the following line at the bottom:
export PATH=/your/path/to/SWESolver/bin:$PATH
Running a simulation
Copy the configuration file config.cfg into the simulation folder. Open the terminal and
run the command:
$ SWE config.cfg
Test cases
Several test cases for SWESolver are available. They are contained in the folder testCase and they include a circular dambreak and a wave reflection on a square domain.
License
This software is distributed under the GNU GPLv3 license (COPYING).
Related Skills
node-connect
336.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
336.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.0kCommit, push, and open a PR
