Theis (1935) radial flow

class theis_1935.TheisWell

Bases: object

Theis (1935) radial flow solution.

The default TheisWell object adopts the Aq2dConf class, SteadyWellGrid class and SteadyWell class. Methods include radius of influence (.ri), transient drawdown at a point (.dd) and grid-contoured drawdown at specified time (.dd_grid).

Attributes:

aq (obj) : Aq2dConf aquifer object. grd (obj) : SteadyWellGrid object. well (obj) : SteadyWell object. qf (float) : Fraction of pumped volume used for calculating radius of

influence (default 0.99).

class Aq2dConf(K=1, Ss=0.0001, B=10, bot=0, name='Aq2dConf class')

Bases: Aquifer

2D confined aquifer class.

Subclass of the Aquifer class defining a horizontal, 2D confined aquifer with infinite lateral extent and confined storage.

The default Aq2dConf object has hydraulic conductivity K=1, specific storativity Ss=0.0001, aquifer saturated thickness B=10 and aquifer bottom (datum) elevation bot=0. Exceptions occur if invalid values are provided for K, Ss or B.

The .info and .draw methods display the aquifer information and diagram.

Attributes:

Ss (float) : Aquifer specific storativity (units 1/L, default 1.0e-4).

property B

float : Aquifer thickness (units L, default 10.0).

Setter method checks for valid values and triggers an exception if invalid values are specified.

property D

float : Aquifer diffusivity (units L2/T, default 1.0e+4).

property K

float : Aquifer hydraulic conductivity (units L/T, default 1.0).

Setter method checks for valid values and triggers an exception if invalid values are specified.

property S

float : Aquifer storage coefficient (units 1, default 1.0e-3).

property Ss

float : aquifer specific storativity (units 1/L, default 1.0e-4).

Setter method checks for valid values and triggers an exception if invalid values are specified.

draw(dw=6)

Display a drawing of the aquifer.

Args:

dw (float) : Width of figure (default 6.0).

info()

Print the aquifer information.

is_1d = False
is_2d = True
is_confined = True
is_finite = False
is_heterogeneous = False
is_homogeneous = True
is_infinite = True
is_leaky = False
is_semifinite = False
is_unconfined = False
class SteadyWellGrid(gr=100, gd=21)

Bases: object

Square grid class with regular spacing and well at grid center.

The default SteadyWellGrid object has radius gr=100 defining the square’s extent and grid density gd=21. An exception occurs if the grid radius is not positive. Grid density defines the numbers of rows and columns comprising the grid; thus, the default grid has 21 rows x 21 cols = 441 grid points. Minimum grid density is limited to 11 (121 grid points) and maximum grid density is limited to 41 (1681 grid points). Values for gd outside of these contraints are re-set to the minimum or maximum values as appropriate.

The .pts property returns the grid points attriubutes including local x-y coordinates, world x-y coordinates and radius values relative to the well location. The .info method displays grid information and the .draw method displays a plot of the grid in either local or world coordinates.

Attributes:
gr (float)Radius defining the extent of the solution grid (units L,

default 100.0).

gd (int)Grid density defining the number of rows and columns;

minimum and maximum constraints are enforced (default 21).

class SteadyWell(x=0.0, y=0.0, r=0.05, q=0.0, pf=1, name='Steady state flowing well')

Bases: object

Steady state flowing well class.

The default SteadyWell object has coordinates x=0.0 and y=0.0, well radius r=0.05, penetration fraction pf=1.0 and well rate q=0.0. Exceptions occur if invalid values are provided for r or pf. The well rate can be negative, positive or zero and is used to set the .state attribute as extract, inject or off.

Attributes:

x (float) : Well x coordinate (units L, default 0.0). y (float) : Well y coordinate (units L, default 0.0). r (float) : Well radius (units L, default 0.05). q (float) : Well rate (units L3/T, default 0.0). pf (float) : Well penetration depth (fraction of aquifer depth,

default 1.0).

name (str) : Well name (default ‘’).

info()

Print the well information.

is_steady = True
is_transient = False
property pf

float : Well penetration depth.

Setter method checks for valid values and triggers an exception if invalid values are specified.

property r

float : Well radius.

Setter method checks for valid values and triggers an exception if invalid values are specified.

property state

str : Well state.

draw(local=False)

Draw the grid points.

Args:
local (bool)Display the grid plot in local coordinates with

the well at 0, 0 (default False ).

property gr

float : Grid radius.

Setter method checks for valid values and triggers an exception if invalid values are specified.

property grdim

int : Number of grid rows and columns.

info()

Print the well grid information.

property npts

int : Number of grid points.

property pts

pandas dataframe : grid point attriubutes including local grid point coordinates, world grid point coordinates and radius values of grid points relative to the well center.

dd(t=[1], r=[1], plot=True, csv='', xlsx='')

Evaluate drawdown at specified radii and times.

Evaluate drawdown at each radius and time specified in the lists t and r for specified well rate q. Defaults are t=[1.0], r=[1.0] and q=-1000.0. A drawdown graph is displayed as default and can be suppressed by setting plot=False.

A pandas dataframe of drawdown values is returned with time as the row index and column values for each radius. Results can be exported to csv and Excel files by setting non-blank filename strings for the .csv and .xlsx attributes. Filenames can be supplied with or without file extentions, which are added if ommitted.

Args:

t (float) : List of times to evaluate drawdown (default [1.0]). r (float) : List of radii to evaluate drawdown (default [1.0]). plot (bool) : Display a plot of results (default True). csv (str) : Full filepath for export of results to csv file;

results are exported if the string is not empty (default ‘’).

xlsx (str)Full filepath for export of result to xlsx file;

results are exported if the string is not empty (default ‘’).

Returns:

Results in a pandas dataframe.

dd_grid(t=1.0, plot=True, local=False, csv='', xlsx='')

Evaluate drawdown on a regular grid.

Evaluate drawdown on a grid of points at specified time and well rate. Default values are t=1.0 and q=-1000. Unless otherwise specified, a default WellGrid object is adopted and can be accessed via the grid radius (.grid.gr) and grid density (.grid.gd) attributes.

Results are returned in a Pandas dataframe with column values x-coord, y-coord and drawdown. A drawdown graph is displayed as default and can be suppressed by setting plot=False.

Args:

t (float) : Time of drawdown (default 1.0). plot (bool) : Display a plot of results (default True). local (bool) : Display the results in ‘local’ coordinates with the

well at coordinates 0.0, 0.0 (Default False).

csv (str)Full filepath for export of results to csv file;

results are exported if the string is not empty (default ‘’).

xlsx (str)Full filepath for export of result to xlsx file;

results are exported if the string is not empty (default ‘’).

Returns:

Results in a pandas dataframe.

disp(r, S, T, t, Q)

Drawdown displacement.

draw(dw=8)

Display the definition diagram.

Args:

dw (float) : Width of figure (default 8.0).

info()

Print the solution information.

property qfp

float : Fraction of pumped volume.

ri(t=[1.0], plot=True, csv='', xlsx='')

Calculate radius of influence at specified times.

Radius of influence is defined as the radius from within which a specified faction qf of the pumped volume has been drawn. The default value for qf is 0.99, corresponding to the radius from which 99% of the pumped volume has been drawn.

Time for calculating ri are provided in a list. A results graph is displayed as default and can be suppressed by setting plot=False. A pandas dataframe is returned with time as the row index and ri as column values.

Results can be exported to csv and Excel files by setting non-blank filename strings for the .csv and .xlsx attributes. Filenames can be supplied with or without file extentions, which are added if ommitted.

Args:
t (float)List of times to evaluate radius of influence

(default [1.0]).

plot (bool) : Display a plot of results (default True). csv (str) : Full filepath for export of results to csv file;

results are exported if the string is not empty (default ‘’).

xlsx (str)Full filepath for export of result to xlsx file;

results are exported if the string is not empty (default ‘’).

Returns:

Results in pandas dataframe.

rinf(T, S, t, qf)

Radius of influence.