Skip to main content

gwassess is a python package that implements analytical and reference solutions to the Richards equation in 2D and 3D domains.

Project description

gwassess

Analytical Solutions for the Richards Equation in 2D and 3D Domains

gwassess is a python package that implements analytical and reference solutions to the Richards equation in 2D and 3D domains. The package provides benchmark solutions for testing numerical solvers of unsaturated flow in porous media.

Installation

gwassess is a standard python package that can be installed from source:

cd gwassess
pip install .

Or install directly from the repository:

pip install git+https://github.com/g-adopt/gwassess.git

Usage

Basic usage example for the Tracy 2D analytical solution:

import gwassess
import numpy as np

# Initialize Tracy solution with soil and domain parameters
solution = gwassess.TracyRichardsSolution2D(
    alpha=0.328,      # Exponential soil parameter [1/m]
    hr=-15.24,        # Reference pressure head [m]
    L=15.24,          # Domain size [m]
    theta_r=0.15,     # Residual water content [-]
    theta_s=0.45,     # Saturated water content [-]
    Ks=1.0e-05        # Saturated hydraulic conductivity [m/s]
)

# Evaluate pressure head at a point
x, y, t = 7.62, 7.62, 1000.0
h = solution.pressure_head_specified_head(x, y, t)
print(f"Pressure head at ({x}, {y}) at time {t}: {h:.6f} m")

# Or use Cartesian coordinates
X = [7.62, 7.62]
h = solution.pressure_head_cartesian(X, t, bc_type='specified_head')

Available Solutions

TracyRichardsSolution2D

Analytical solution for 2D Richards equation with exponential soil properties. Provides both steady-state and transient solutions with two boundary condition types:

  • Specified head on all boundaries

  • No-flux on lateral boundaries

Reference: Tracy, F. T. (2006). Clean two- and three-dimensional analytical solutions of Richards’ equation for testing numerical solvers. Water Resources Research, 42(8). https://doi.org/10.1029/2005WR004638

VauclinRichardsSolution2D

Reference solution for 2D infiltration benchmark with Haverkamp soil model. This is a numerical benchmark without closed-form analytical solution, but provides standard problem setup for comparison.

Reference: Vauclin, M., Khanji, D., & Vachaud, G. (1979). Experimental and numerical study of a transient, two-dimensional unsaturated-saturated water table recharge problem. Water Resources Research, 15(5), 1089-1101.

CockettRichardsSolution3D

Reference solution for 3D heterogeneous benchmark with Van Genuchten soil model. Provides spatially varying material properties and standard problem setup.

Reference: Cockett, R., Heagy, L. J., & Haber, E. (2018). Efficient 3D inversions using the Richards equation. Computers & Geosciences, 116, 91-102.

Documentation

For complete API reference and examples, see the docstrings in each module:

  • gwassess.tracy - Tracy 2D analytical solutions

  • gwassess.vauclin - Vauclin 2D reference solution

  • gwassess.cockett - Cockett 3D reference solution

License

gwassess is licensed under the GNU Lesser General Public License v3 (LGPLv3). See LICENSE.txt for details.

Contributing

Contributions are welcome! Please submit issues and pull requests on GitHub: https://github.com/g-adopt/gwassess

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

gwassess-1.0.0.tar.gz (11.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

gwassess-1.0.0-py3-none-any.whl (10.3 kB view details)

Uploaded Python 3

File details

Details for the file gwassess-1.0.0.tar.gz.

File metadata

  • Download URL: gwassess-1.0.0.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gwassess-1.0.0.tar.gz
Algorithm Hash digest
SHA256 9a55322135732b35fc60da2e5111d68a587f509ad7df0a28a6f43b104292ca79
MD5 1a1d4b723a46d60cb7ec50cfb4ed33b0
BLAKE2b-256 187636c18d49e41c7f4652d2b2adc089ceca54d9f4125644d20d9d39eee5bfc7

See more details on using hashes here.

Provenance

The following attestation bundles were made for gwassess-1.0.0.tar.gz:

Publisher: release.yml on g-adopt/gwassess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file gwassess-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: gwassess-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 10.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for gwassess-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 34466e8d97779c0133fdf24e9559718a9b3295b803c2c75194694fb11567724a
MD5 32c33187b3e3cae309fd760ddcf4c8c1
BLAKE2b-256 06e0d7848e4d1152a1e6335355dd360a53ffd4003668d771c2298e669cc5693f

See more details on using hashes here.

Provenance

The following attestation bundles were made for gwassess-1.0.0-py3-none-any.whl:

Publisher: release.yml on g-adopt/gwassess

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page