

Grid = Grid(x0, y0, xf, yf, num_x, num_y)

Y0 = float(param) # grid margings, y-direction X0 = float(param) # grid margins, x-direction K = float(param) # hydraulic conductivity # read model parameters and assign to appropriate object The following two functions simply read the input files (model parameters and well properties) and create corresponding objects: def ReadParams(): Output_file = open('head_charge.csv','w') # calculate net drawdown and write to output file # create a uniform grid with supplied specs and A broadcasting approach is used to speed up calculations, so that a large number of both grid points and wells can be used, if warranted in the model: class Grid:ĭef _init_(self, x0, y0, xf, yf, num_x, num_y): Each point is characterized by a total drawdown, with a contribution from each well in the model. The Grid class contains an array of points. # calculate the hydraulic head impact from well to a A Well object is associated with each pumping well in the model: class Well: This class takes advantage of two scipy classes, the special functions class (to calculate the exponential integral) and the spatial class (for efficiently computing distances between points).
#Well drawdown math plus#
The Well class contains well characteristics (location, pumping rate), plus the functions associated with the Theis solution. The Aquifer class is simply a container for aquifer properties (hydraulic conductivity, specific storage, and thickness) which are all assumed to be uniform under the Theis solution: class Aquifer: # container for aquifer properties (uniform) Here is one approach for implementing such a script to accomplish this.įirst off, these python packages are needed: from numpy import * To address the second step, python + scipy can be used to rapidly fill in a dense grid, if required, with drawdown estimates via the Theis solution. For practical applications, this can be useful when hydrogeologic data and boundary condition constraints are lacking (i.e., the ambient potentiometric surface can be contoured, but perturbations in the flow field stemming from heterogeneities in aquifer characteristics or various unknown sources and sinks remain uncharacterized).Ī reasonable computational approach in ascertaining the impact of pumping wells in a sparsely-characterized setting is to (1) interpolate and contour the background/static potentiometric surface, (2) calculate the drawdown associated with pumping from one or more wells, (3) interpolate and contour the drawdown, and (4) subtract the interpolated drawdown from the interpolated background potentiometric surface at each grid point used in the interpolations. Moreover, the drawdown – the impact on hydraulic head associated with pumping – can be added to the ambient background hydraulic head to estimate the overall groundwater potentiometric surface of a portion of a pumped aquifer.
#Well drawdown math series#
Consequently, the Theis model represents the solution to a linear partial differential equation, which means that individual solutions can be added (superimposed) and thus can represent a series of pumping wells. Strictly speaking, this solution is intended to be applicable to confined aquifers, where both the hydraulic conductivity and storage terms do not vary with time or hydraulic head. Where Ss is the specific storage and W(u) is given by, Where r is the radial distance from the well, t is time, K the aquifer hydraulic conductivity, b the aquifer thickness, Q the pumping rate, and u is given by, The Theis solution (Theis, 1935) provides a means for estimating of the time-dependent drawdown, s, stemming from operation of a groundwater pumping well:
