DRUtES ( Dual Richards Unsaturated Equation Solver )

is an object oriented library written in Fortran 2003/2008 for solving coupled nonlinear convection-diffusion-reaction equation in the following scheme

   where $ n$ is allocatable dimension of the class pde

About DRUtES

DRUtES © was originally developed for solving the Richards equation and governing equations for transport of solutes in porous media. Currently the following problems are implemented:

  • Richards equation in pressure head form
  • Richards equation in total hydraulic head form
  • Richards equation in dual permeability concept
  • Boussinesq equation
  • Heat conduction equation with convective term (Sophoclea, 1979)
  • Advection-dispersion-reaction equation with kinetic sorption (Freundlich and Langmuir models)
  • Kinematic wave equation

Both rectangular and cylindrical coordinates are supported

DRUtES © can solve the nonlinear problem both with a standard Picard method and with so called dd-adaptivity.

Installation on local system

Download the source code at https://github.com/michalkuraz/drutes-dev/releases

or git the development version by git clone https://github.com/michalkuraz/drutes-dev.git

Use Un*x based system only (Linux distros like Debian, Ubuntu, Slackware, Red Hat, etc., or Mac OS X)


  • git
  • tar
  • GNU make
  • gcc, gfortran (> 8.0)
  • scilab (optional, can be used for displaying your output files for domains $ \Omega \in \Re^2$)

  1. On Debian based distro type with superuser privileges

    apt-get install tar make gcc gfortran git

  2. check your gcc version

    gcc -v

    If gcc version higher than 8 you can continue, if not update your system if you really want to use drutes.

  3. Unpack the sources, and change your current directory

    tar -xzf drutes-dev*.tar.gz && cd drutes-dev*

  4. Compile the sources (it's really easy).


  5. If everything worked out correctly DRUtES © is now installed on your system, edit files in drutes.conf, execute computation with


    in your DRUtES © directory

If anything unclear, or you have interesting tasks to solve, don't hesitate to contact the chief developer Michal Kuraz ( kuraz(a)fzp.czu.cz )

Development team

Michal Kuraz ( kuraz(a)fzp.czu.cz ) - chief developer ( Department of Water Resources and Environmental Modeling, Czech University of Life Sciences Prague )

Petr Mayer ( petr.mayer(a)cvut.cz ) - linear algebra, matrix structures and solvers (Department of Mathematics, Czech Technical University in Prague)

Johanna Bloecher ( jorub(a)me.com ) - dual permeability model, inverse modeling, freezing and melting, evaporation ( Department of Water Resources and Environmental Modeling, Czech University of Life Sciences Prague )


DRUtES © is distributed under GPL v3 license, http://www.gnu.org/licenses/gpl-3.0.html.

DRUtES © is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/