HYDRUS is a Microsoft Windows based modeling environment for the analysis of water flow and solute transport in variably saturated porous media. The software package includes computational finite element models for simulating the two- and three-dimensional movement of water, heat, and multiple solutes in variably saturated media. The model includes a parameter optimization algorithm for inverse estimation of a variety of soil hydraulic and/or solute transport parameters. The model is supported by an interactive graphics-based interface for data-preprocessing, generation of structured and unstructured finite element mesh, and graphic presentation of the results.
HYDRUS is distributed in five different versions (Levels) so that users may acquire only that segment of the software that is most appropriate for their application. Users can select software limited to general two-dimensional applications (the 2D-Standard Level, which corresponds with former Hydrus-2D with MeshGen-2D) or for both two- and three-dimensional applications (i.e., 3D-Standard or 3D-Professional). Users can also opt for relatively simple (two-dimensional rectangular geometries – 2D-Lite [which corresponds with former Hydrus-2D without MeshGen-2D] or three-dimensional hexahedral geometries – 3D-Lite) or more complex geometries (i.e., 2D-Standard for general two-dimensional geometries, 3D-Standard for problems that can be defined using the general two-dimensional base and a layered third dimension, or 3D-Professional for applications with general three-dimensional geometries). Users may upgrade to higher Levels from lower Levels, as well as from lower versions (e.g., version 1.x) to higher versions (e.g., version 2 (and higher - in the future)).
The HYDRUS program is a finite element model for simulating the two- and three-dimensional movement of water, heat, and multiple solutes in variably saturated media. The HYDRUS program numerically solves the Richards equation for saturated-unsaturated water flow and convection-dispersion type equations for heat and solute transport. The flow equation incorporates a sink term to account for water uptake by plant roots. The heat transport equation considers movement by conduction as well as convection with flowing water. The governing convection-dispersion solute transport equations are written in a very general form by including provisions for nonlinear nonequilibrium reactions between the solid and liquid phases, and linear equilibrium reaction between the liquid and gaseous phases. Hence, both adsorbed and volatile solutes, such as pesticides, can be considered. The solute transport equations also incorporate the effects of zero-order production, first-order degradation independent of other solutes, and first-order decay/production reactions that provide the required coupling between the solutes involved in the sequential first-order chain. The transport models also account for convection and dispersion in the liquid phase, as well as diffusion in the gas phase, thus permitting the model to simulate solute transport simultaneously in both the liquid and gaseous phases. At present, HYDRUS considers up to fifteen solutes, which can either be coupled in a unidirectional chain or move independently of each other. Physical nonequilibrium solute transport can be accounted for by assuming a two-region, dual porosity type formulation, which partitions the liquid phase into mobile and immobile regions. Attachment/detachment theory, including the filtration theory, is included to simulate transport of viruses, colloids, and/or bacteria.
The program may be used to analyze water and solute movement in unsaturated, partially saturated, or fully saturated porous media. HYDRUS can handle flow domains delineated by irregular boundaries. The flow region itself may be composed of nonuniform soils having an arbitrary degree of local anisotropy. Flow and transport can occur in the vertical plane, the horizontal plane, a three-dimensional region exhibiting radial symmetry about a vertical axis, or in a three-dimensional region.
The water flow part of the model can deal with (constant or time-varying) prescribed head and flux boundaries, as well as boundaries controlled by atmospheric conditions. Soil surface boundary conditions may change during the simulation from prescribed flux to prescribed head type conditions (and vice versa). The code can also handle a seepage face boundary, through which water leaves the saturated part of the flow domain, and free drainage boundary conditions. Nodal drains are represented by a simple relationship derived from analog experiments.
For solute transport, the code supports both (constant and varying) prescribed concentration (Dirichlet or first-type) and concentration flux (Cauchy or third-type) boundaries. The dispersion tensor includes a term reflecting the effects of molecular diffusion and tortuosity.
The unsaturated soil hydraulic properties are described using van Genuchten , Brooks and Corey , Durner , Kosugi , and modified van Genuchten type analytical functions. Modifications were made to improve the description of hydraulic properties near saturation. The HYDRUS code incorporates hysteresis by using the empirical model introduced by Scott et al.  and Kool and Parker . This model assumes that drying scanning curves are scaled from the main drying curve, and wetting scanning curves from the main wetting curve. As an alternative, we also incorporated the hysteresis model of Lenhard et al.  and Lenhard and Parker , which eliminates pumping by keeping track of historical reversal points, into HYDRUS. HYDRUS also implements a scaling procedure to approximate hydraulic variability in a given soil profile by means of a set of linear scaling transformations that relate the individual soil hydraulic characteristics to those of a reference soil.
The governing equations are solved numerically using a Galerkin type linear finite element method applied to a network of triangular elements. Integration in time is achieved using an implicit (backwards) finite difference scheme for both saturated and unsaturated conditions. The resulting equations are solved in an iterative fashion, by linearization and subsequent Gaussian elimination for banded matrices, a conjugate gradient method for symmetric matrices, or the ORTHOMIN method for asymmetric matrices. Additional measures are taken to improve solution efficiency in transient problems, including automatic time step adjustment and ensuring that the Courant and Peclet numbers do not exceed preset levels. The water content term is evaluated using the mass-conservative method proposed by Celia et al. (1990). To minimize numerical oscillations upstream weighing is included as an option for solving the transport equation.
In addition, HYDRUS implements a Marquardt-Levenberg type parameter estimation technique for the inverse estimation of selected soil hydraulic and/or solute transport and reaction parameters from measured transient or steady-state flow and/or transport data (only in 2D). The procedure permits several unknown parameters to be estimated from observed water contents, pressure heads, concentrations, and/or instantaneous or cumulative boundary fluxes (e.g., infiltration or outflow data). Additional retention or hydraulic conductivity data, as well as a penalty function for constraining the optimized parameters to remain in some feasible region (Bayesian estimation), can be included in the parameter estimation procedure.
A new module simulating the biochemical transformation and degradation processes in subsurface-flow constructed wetlands was developed for two-dimensional applications of HYDRUS (Langergraber and Simunek, 2005; Langergraber et al., 2009b). This module considers a large number of physical, chemical and biological processes active in wetlands (including the biochemical degradation and transformation processes for three fractions of organic matter (readily- and slowly-biodegradable, and inert), four nitrogen compounds (ammonium, nitrite, nitrate, and dinitrogen), inorganic phosphorus, heterotrophic and autotrophic micro-organisms, dissolved oxygen, and/or sulfur) that are simultaneously active and mutually influence each other.
The UNSATCHem Module for simulating two-dimensional transport and reactions of major ions. The geochemical UNSATCHEM module simulates the transport of major ions (i.e., Ca, Mg, Na, K, SO4, CO3, and Cl) in variably-saturated porous media, including major ion equilibrium and kinetic non-equilibrium chemistry. The resulting code is intended for predictions of major ion chemistry and water and solute fluxes in soils during transient flow
The Wetlands Module for simulating reactions in two-dimensional constructed wetlands. Constructed Wetlands (CWs) are engineered water treatment systems that optimize the treatment processes found in natural environments. The HYDRUS wetland module includes two biokinetic model formulations. While in the original wetland CW2D module, aerobic and anoxic transformation and degradation processes for organic matter, nitrogen and phosphorus were considered, in the new CWM1 module, aerobic, anoxic and anaerobic processes for organic matter, nitrogen and sulphur are considered.
The DualPerm Module (in version 2.02 and higher) for simulating two-dimensional variably-saturated water movement and solute transport in dual-permeability porous media, i.e., preferential and nonequilibrium water flow and solute transport.
The C-Ride Module (in version 2.02 and higher) for simulating two-dimensional colloid-facilitated solute transport, which often occurs for strongly sorbing contaminants (e.g., heavy metals, radionuclides, pharmaceuticals, pesticides, and explosives) that are associated predominantly with the solid phase, which is commonly assumed to be stationary, but which can also sorb/attach to mobile colloidal particles (e.g., microbes, humic substances, suspended clay particles and metal oxides) that can act as pollutant carriers and thus provide a rapid transport pathway for these contaminants.
The HP2 Module (in version 2.02 and higher), which couples Hydrus (its two-dimensional part) with the PHREEQC geochemical code [Parkhurst and Appelo, 1999] to create this new comprehensive simulation tool (HP2 - acronym for HYDRUS-PHREEQC-2D), corresponding to a similar one-dimensional module HP1. This module can consider various mixed equilibrium/kinetic biogeochemical reactions.
The HYPAR Module (in version 2.04 and higher) is a parallelized version of the standard two-dimensional and three-dimensional HYDRUS computational modules (h2d_calc.exe and h3d_calc.exe). HYPAR uses PPL (Parallel Patterns Library), and thus it can be used on multi processor shared memory computers (PCs with multi-core (dual-core, quad-core) processors). HYPAR currently supports only calculations in the direct mode (does not support the inverse mode), and it does not support any add-on modules (e.g., HP2, UnsatChem, Wetland, and/or C-Ride).
The Slope Module (in version 2.04 and higher) is intended to be used mainly for stability checks of embankments, dams, earth cuts and anchored sheeting structures. The influence of water is modeled using the distribution of pore pressure, which is imported automatically from the HYDRUS results for specified times. Each time step of water distribution can be analyzed separately. The slip surface is considered as circular (and is evaluated using the Bishop, Fellenius/Petterson, Morgenstern-Price or the Spencer method).
A Microsoft Windows based Graphical User Interface (GUI) manages the inputs required to run HYDRUS, as well as grid design and editing, parameter allocation, problem execution, and visualization of results. The program includes a set of controls that allows the user to build a flow and transport model, and to perform graphical analyses on the fly. Both input and output can be examined using spatial or cross-sectional views and line graphs. The main program unit of the HYDRUS Graphical User Interface defines the overall computational environment of the system. This main module controls execution of the program and determines which other optional tools are necessary for a particular application. The module contains a project manager and both the pre-processing and post-processing units. The pre-processing unit includes specification of all necessary parameters to successfully run the HYDRUS FORTRAN codes, grid generators for relatively simple rectangular and hexahedral transport domains, a grid generator for unstructured finite element meshes for complex two- and three-dimensional domains, a small catalog of soil hydraulic properties, and a Rosetta Lite program for generating soil hydraulic properties from soil textural data.
Automatic FE-Mesh Generation
Data preprocessing involves specification of the two-dimensional flow region having an arbitrary continuous shape bounded by polylines, arcs, and splines, discretization of domain boundaries, and subsequent generation of an unstructured finite element mesh. HYDRUS (Standard Levels) comes with an optional mesh generation program, Meshgen, which generates an unstructured finite element mesh for two-dimensional domains. This program, based on the Delaunay triangulation, is seamlessly integrated into the HYDRUS environment. In the absence of the Meshgen program, the HYDRUS GUI provides an option for automatic construction of simple, structured grids (Lite Levels). The third dimension is developed in both the Lite and Standard levels by adding specified number of layers of equal or different thicknesses. HYDRUS 3D-Professional comes with a tree-dimensional mesh generation programs (GENEX and T3D), which generate an unstructured finite element mesh for general three-dimensional domains.
Output graphics include 2D contours (isolines or color spectra) in spatial or cross-sectional view for heads, water contents, velocities, concentrations, and temperatures. Output also includes velocity vector plots, color edges, color points, animation of graphic displays for sequential time-steps, and line-graphs for selected boundary or internal sections. The post-processing unit also includes simple x-y graphics for a graphical presentation of soil hydraulic properties, as well as such output as distributions versus time of a particular variable at selected observation points, and actual or cumulative water and solute fluxes across boundaries of a particular type. Areas of interest can be zoomed in on, and the vertical scale can be enlarged for cross-sectional views. The mesh can be displayed with boundaries, and numbering of triangles, edges and points. Observation points can be added anywhere in the grid. Viewing of grid and/or spatially distributed results (for pressure heads, water contents, velocities, concentrations, and temperatures) is facilitated using high resolution color or gray scales. An extensive and context-sensitive online Help is part of the interface.
Domain and FE-Mesh Sections
To simplify the work with complex transport geometries, these can be divided into simpler parts, called Sections. Only these simpler parts can then be displayed in the View Window, while the remaining parts can be hidden. Two types of sections exist: those for geometric objects and those for the FE-Mesh. Multiple Sections can be displayed simultaneously. Undesired (to be displayed) parts of the transport domain can be cut off and hidden from the View window using various commands.
Operating Systems: Windows XP / Windows Vista (32 or 64bit) / Windows 7 (32 or 64bit) / Windows 8 (32 or 64bit)
x86 CPU with 2 GHz
2 MB RAM
10 GB total hard disk capacity with about 500 MB reserved for installation
Graphic card with a resolution of 1024 x 768 pixels
To use HYDRUS comfortably for calculations of 3D models, we recommend the following system requirements:
Operating System Windows 7 (32 or 64bit)
Multicore CPU running at 3 GHz or better
4 GB RAM (8 GB for 64bit systems)
500 GB hard disk capacity
Graphic card with OpenGL hardware acceleration, screen resolution 1600x1200 pixels. Recommended chipsets nVidia or ATI.
16-bit Windows (Win95 and Win98):
HYDRUS runs on these systems, but we do not guarantee error-free functionality of the program when using one of these older operating systems.
64-bit Windows (Windows XP x64, Windows Vista x64):
HYDRUS version 1.05 or later works on x64-bit systems.