Theis (1935) radial flow
- class pygaf.solutions.theis_1935.TheisWell
Bases:
object
Theis (1935) radial flow solution.
The default TheisWell object uses the default Aq2dConf and WellGrid classes. The WellGrid class includes the default Well class. Methods include radius of influence .ri, transient drawdown at a point .dd and grid-contoured drawdown at specified time .dd_grid.
- aq
Aq2dConf aquifer object.
- Type:
obj
- grd
WellGrid object.
- Type:
obj
- qf
Fraction of pumped volume used for calculating radius of influence (default 0.99).
- Type:
float
- class Aq2dConf(K=1, Ss=0.0001, B=10, bot=0, name='Aq2dConf class')
Bases:
Aquifer
2D confined aquifer class.
A 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 will occur if invalid values are provided for K, Ss or B.
The .info and .draw methods display the aquifer information and diagram.
- Ss
Aquifer specific storativity (units 1/L, default 1.0e-4).
- Type:
float
- property B
Aquifer thickness (units L, default 10.0).
Setter method checks for valid values and triggers an exception if invalid values are specified.
- Type:
float
- property D
Aquifer diffusivity (units L2/T, default 1.0e+4).
- Type:
float
- property K
Aquifer hydraulic conductivity (units L/T, default 1.0).
Setter method checks for valid values and triggers an exception if invalid values are specified.
- Type:
float
- property S
Aquifer storage coefficient (units 1, default 1.0e-3).
- Type:
float
- property Ss
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.
- Type:
float
- draw(dw=6)
Display a drawing of the aquifer.
- Parameters:
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 WellGrid(gr=100, gd=21)
Bases:
object
Square grid class with regular spacing and well at grid center.
The default WellGrid 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.
- gr
Radius defining the extent of the solution grid (units L, default 100.0).
- Type:
float
- gd
Grid density defining the number of rows and columns; minimum and maximum constraints are enforced (default 21).
- Type:
int
- class Well(x=0.0, y=0.0, r=0.05, pf=1.0, name='Steady state non-flowing well')
Bases:
object
Non-flowing well.
- x
Well x coordinate (units L, default 0.0).
- Type:
float
- y
Well y coordinate (units L, default 0.0).
- Type:
float
- r
Well radius (units L, default 0.05).
- Type:
float
- pf
Well penetration depth (fraction of aquifer depth, default 1.0).
- Type:
float
- name
Well name (default ‘’).
- Type:
str
- info()
Print the well information.
- property pf
Well penetration depth.
Setter method checks for valid values and triggers an exception if invalid values are specified.
- Type:
float
- property r
Well radius.
Setter method checks for valid values and triggers an exception if invalid values are specified.
- Type:
float
- draw(local=False)
Draw the grid points.
- Parameters:
local (bool) – Display the grid plot in local coordinates with the well at 0, 0 (default False ).
- property gr
Grid radius.
Setter method checks for valid values and triggers an exception if invalid values are specified.
- Type:
float
- property grdim
Number of grid rows and columns.
- Type:
int
- info()
Print the well grid information.
- property npts
Number of grid points.
- Type:
int
- property pts
grid point attriubutes including local grid point coordinates, world grid point coordinates and radius values of grid points relative to the well center.
- Type:
pandas dataframe
- dd(t=[1], r=[1], q=-1000.0, 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 and for 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 radius values as the column headers. 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.
- Parameters:
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, q=-1000.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 used; it can be accessed and adjusted via the .grid.gr (grid radius) and .grid.gd (grid density) attributes.
Results are returned in a Pandas dataframe with column x-coord, y-coord and drawdown value. A drawdown graph is displayed as default and can be suppressed by setting plot=False.
- Parameters:
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.
- info()
Print the solution information.
- property qfp
Fraction of pumped volume.
- Type:
float
- ri(t=[1.0], q=-1000, 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 a column.
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.
- Parameters:
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.