K2dGrFlow, 2-dimensional groundwater flow

Background

In 2001 I ended a master year at the VUB. For that I had to work out a thesis. Doing research in groundwaterflow, a subject was quickly found : Aspects of the numerical modelling of flow-problems in poreous media.

In normal words : make a GUI programm, that's free, quick and easy to use, to model a certain type of groundwaterflow. Since it's a good thing to start with the easy things, we took steady state flow (no time dependancy), under heavy asumptions :

The programm computes the hydraulic head in every point. This is the solution to the equation
Formule

Read my master thesis if you're not convinced.

Extensions

  1. MANY bug fixes - June 2001. Results for the designed use of the program are now 100% correct, also for d not 0. For this an extra parameter was added to correct for abberations on the Dirichlet boundary. In short, the matrix can be made to behave better by multiplication by a factor of the values that correspond to Dirichlet nodes.
  2. Possibility to select the number of contours in the figure - August 2001
  3. Different problem to be solved. The user can now select between two formulas that can be solved over the domain - August 2001
  4. Extension, semi-infinite rectangles added as an extra division of the domain. These elements are automatically selected if the user marks the bottom boundary (which has to be a vertical line), as a imaginary boundary where the domain goes to -infinity in the z coordinate. This option has a new, third, solver, that solves for the Infinite Element Method - October 2001.

Screenshots

Two screenshots. First the programm in action. We see the general layout of the programm, with on the right a mesh that has been constructed for the domain.

The next screenshot is from the dialog to input the borders.

The code, application and galerkin solver

The code has been written for linux under the GPL licence. It's written with Kdevelop 1.4 for KDE 2.1.1.

There are two parts, a KDE application, and a general C++ solver for the galerkin finite element method. The last is still very basic, that is, it suffices for the problem at hand. Here is the old tarbal file of the code : k2dgrflow-0.2.tar.gz. CONTAINS MANY BUGS. The bugs have now been removed but I haven't made a new tarbal yet. Mail me if you are interested.

To use the program, you first need to install the meschach 1.2b library, eg from netlib, or just search it with yahoo. Don't forget after construction to put it in /usr/lib with the name libmeschach.a. Normally the make doesn't do it for you.

Secondly, you need the EasyMesh programm. For example on www-dinma.univ.trieste.it/~nirftc/research/easymesh/ . This is the programm k2dgrFlow uses to generate a mesh

Everything is in the documentention/user manual that comes with the application. Just read the INSTALL and the README files, and also look at the FAQ before mailing me.

If you want the use the galerkin library that's the engine of the programm, check out the developers chapter in the user manual for the class diagramms, and check the API reference manual for detailed information with the classes. The links to the header files are broken in this manual. You can find these in the tarbal

ToDo List

K2dGrFlow is a beta version, because still a lot of things have to be added. Such as :
Return to the Home Page"