A mass-conservative method for the integration of the two-dimensional groundwater (Boussinesq) equation

The Boussinesq Model

This code implements a new conservative finite-volume numerical solution for the two-dimensional groundwater flow (Boussinesq) equation, which can be used for investigations of hillslope subsurface flow processes and simulations of catchment hydrology. The Boussinesq equation, which is integrated for each grid element, can take account of the local variations of topography and soil properties within the individual elements. The numerical method allows for wetting and drying of the water table, without any particular adjustment. The stability and convergence of the method is shown to be guaranteed a priori by the properties of the solver itself, even with respect to the boundary conditions, an aspect that has been neglected in previous literature. The numeric solutions were validated against some approximate analytical solutions and compared to those of another (1-D) numerical solver of the Boussinesq equation. Further theoretical details are now available on http://onlinelibrary.wiley.com/doi/10.1002/wrcr.20072/abstract or can be asked the authors (emanuele.cordano@gmail.com) without any hesitation.

Brief Historical Introduction

The earliest drafts of code were borm from an idea of Dr. Emanuele Cordano , Prof. Riccardo Rigon and Prof. Vincenzo Casulli (University of Trento) about numerical methods for solving groundwater equation preserving the mass conservation principle and taking into account the possible variability of bedrock topograhy and soil properties within the integration cell. Some of the first 2009/2010 informal presentations introduce the physical problem and are available here.

A new software which implements this numerical algorithm has been developing by Francesco Serafin (with the collaboration of Giuseppe Formetta, Emanuele Cordano and Riccardo Rigon) and it makes use of Object-Oriented Programming paradigma through Java. The source code and useful information can be found here or in this post of Riccardo Rigon's blog

(Old C) Code

The code is available with GPL 3.0 license (www.gnu.org) and can be downloaded via GitHUb. A Doxygen-generated documentation of the code is available on the subdirectory "doc" and on https://github.com/ecor/boussinesq/blob/master/doc/html/index.html . The source code is mostly written in C using FluidTurtle formalism (Rigon et al., 1990s). To view quickly the documentation of the code with FluidTurtles, click here .

Instructions for Usage (Under Construction)

Ther code can be obtained by git as follows:

```
$ git clone https://github.com/ecor/boussinesq.git
```

Further details are available on git and git-Wikipedia, another useful tutorial on git is here. A Draft Manual about the model usage with an example can be downloeaded (in pdf format) clicking here . The source and documentation are contained in the following directory and its subdirectories:

```
$ cd boussinesq
```

Here is contained a very simple makefile which allows you to build the source code very quickly, by launching:

```
$ make all
```

The executable file is contained in the "bin" subdirectory and it is named "boussinesq". It can be launched as follows:

```
$ ./bin/boussinesq <arguments>
```

The target:

```
$ make clean
```

will possibly uninstall boussinesq and remove the executable files.

(New Java) Object-Oriented Code

A new code has been devoloping by Francesco Serafin and available here. Other information can be found in this post of Riccardo Rigon's blog. This lasest software is the work of Francesco Serafin's Master Thesis.