Dupuit-Thiem radial flow

class dupuit_thiem.DupuitThiemWell

Bases: object

Dupuit-Thiem radial flow solution for uniform recharge.

The default DupuitThiemWell object adopts the Aq2dUnconf, SteadyWellGrid and SteadyWell classes. Methods include drawdown at a point (.dd) and drawdown on a regular grid of points (.dd_grid).

Attributes:

aq (obj) : Aq2dUnconf aquifer object. grd (obj) : SteadyWellGrid object. well (obj) : SteadyWell object.

class Aq2dUnconf(K=1, Sy=0.1, B=10, bot=0, name='Aq2dUnconf class')

Bases: Aquifer

2D unconfined aquifer subclass.

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

The default Aq2dUnconf object has hydraulic conductivity K=1, specific yield Sy=0.1, static saturated thickness B=10 and aquifer bottom (datum) elevation bot=0. Exceptions occur if invalid values are provided for K, Sy or B.

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

Attributes:

Sy (float) : Aquifer specific yield (units 1, default 0.1).

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 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 0.1).

property Sy

float : Aquifer specific yield (units 1, default 0.1).

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 = False
is_finite = False
is_heterogeneous = False
is_homogeneous = True
is_infinite = True
is_leaky = False
is_semifinite = False
is_unconfined = True
property swl

float : Aquifer static water table elevation (units L reduced level, default 10.0).

property R

float : Groundwater recharge rate (units L/T, default 1.0e-4).

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

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(r=[1], plot=True, csv='', xlsx='')

Drawdown at radial distance.

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

Evaluate drawdown on a regular grid of points.

Unless otherwise specified, a default WellGrid object is used and is accessed and adjusted via the .grid.gr (grid radius) and .grid.gd (grid density) attributes.

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

Args:

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, 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.

ri()

Radius of influence.