xavierdechamps / shallow_water_fv Goto Github PK
View Code? Open in Web Editor NEWSolve the 2D shallow water equations with a finite volume method based on a Q-scheme
Solve the 2D shallow water equations with a finite volume method based on a Q-scheme
Add the possibility to handle signals KILL/INT with the help of external library fortran-sigwatch
For the moment, it is supposed in the code that the whole domain is wet. However some situations can arise where temporal variations of the height leads to a switching between a dry and wet property. For example a unsteady flow arising from the break of a dam to a downstream dry region.
In a practical sense, the influence of a dry cell (height = 0) cancels the flux from that cell to all the surrounding cells.
Please implement such a behaviour and prepare some nice new test cases! :-)
Create a code that interpolates the solution from one mesh to a new mesh with the same geometry.
Some code modification is required in the reading/writing of the solution (SRC/gmsh_operations.f90).
The code seems to be well prepared for a openmp parallelism in the subroutine flux.f90 (the loops on the edges are independent). It should accelerate the computations on large problems.
Up to now the Gmsh mesh format was limited to version 2.2. It would be great to upgrade it to the latest version (4.1) and to use the binary version in order to reduce the size of the file.
Improve the spatial accuracy with a combination of MUSCL and TVD schemes
Make the Gnuplot window optional in the CMake configuration file. If the user does not have Gnuplot, then he deactivate it in the configuration file and the computation will only print the errors in the terminal.
Up to now only triangular elements were readable and usable by the program. It would be nice to be able to have the possibility to combine rectangles and triangles inside the same mesh. The main work would lie inside subroutines gmsh_operations.f90 and get_normal_to_cell.f90.
For the moment the friction coefficient is only taken into account at the bottom of the bed. Along the walls the flow is supposed inviscid on the vertical section. For a better matching with experimental data it is better to include the friction on the vertical section of the wall as well. Consider the possibility to have a friction coefficient different between the bottom and the vertical section.
Following literature is relevant:
Brufau P. and Garcia-Navarro P., Two-dimensional dam break flow simulation, International Journal for Numerical Methods in Fluids 33(1): 35-57, 2000
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.