A CFD python package for the shallow water equations
A CFD python package for the shallow water equations.
MattFlow simulates the surface of the water after any initial conditions, such as drops or stones falling on.
|numpy >= 1.16.4||Windows|
|matplotlib >= 3.1.1|
|jpblib >= 0.13.2|
How to install & run MattFlow
- anaconda environment (recommended)
$ conda create --name mattflow python=3 matplotlib $ conda activate mattflow $ pip install mattflow $ mattflow
- venv (python>=3.3)
$ python3 -m venv mattflow_env $ source mattflow_env/bin/activate $ pip install mattflow $ mattflow
$ pip install --user mattflow joblib $ mattflow
Swallow Water Equations
SWE is a simpified CFD problem which models the surface of the water, with the assumption that the horizontal length scale is much greater than the vertical length scale.
SWE is a coupled system of 3 hyperbolic partial differential equations, that derive from the conservation of mass and the conservation of linear momentum (Navier-Stokes) equations, in case of a horizontal stream bed, with no Coriolis, frictional or viscours forces (wiki).
where: η : height u : velocity along the x axis υ : velocity along the y axis ρ : density g : gravity acceleration
More details at this jupyter notebook
- configuration of the simulation via a config file
- pre-process structured/cartesian mesh
- solution supported solvers:
- post-processing matplotlib animation
- mesh sizing
- domain sizing
- initial conditions (single drop, multiple drops, rain)
- boundary conditions (currently: reflective)
- plotting style
- animation options
Currently, you can configure the simulation at the config module
- coverage hooks
- Higher order schemes
- Addition of source terms
- Addition of viscous models
- Algorithm that converts every computational second to a real-time second, playing with the fps at the post-processing timelapse, because each iteration uses different time-step (CFL condition)
- Moving core to C++ or Cython?
- Moving objects inside the domain
- Unstructured mesh
- Extent to 3D CFD
Start the flow!
(C) 2019, Thanasis Mattas firstname.lastname@example.org
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
|Filename, size||File type||Python version||Upload date||Hashes|
|Filename, size mattflow-1.1.1-py3-none-any.whl (36.2 kB)||File type Wheel||Python version py3||Upload date||Hashes View|
|Filename, size mattflow-1.1.1.tar.gz (19.6 kB)||File type Source||Python version None||Upload date||Hashes View|