Glover (1960) recharge basin

class pygaf.solutions.glover_1960.GloverRectBasinSteady

Bases: object

Glover (1960) solution class.

The default GloverRectBasinSteady object uses the default Aq2dConf and BasinGrid classes. It’s methods include impress at a point .impress and grid-contoured impress at specified time .impress_grid.

aq

Confined aquifer object.

Type:

obj

basin

Basin object.

Type:

obj

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 BasinGrid(gr=100, gd=21)

Bases: object

Square grid class with basin center at grid center.

The default BasinGrid 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 constrained to 11 (121 grid points) and maximum grid density is constrained 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 and world x-y coordinates. 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 RectBasin(cx=0.0, cy=0.0, lx=10, ly=10, rot=0, name='Rectangle basin')

Bases: object

Rectangular basin.

cx

Basin center x coordinate (units L, default 0.0).

Type:

float

cy

Basin center y coordinate (units L, default 0.0).

Type:

float

lx

Basin length in x direction (default 10.0)

Type:

float

ly

Basin length in y direction (default 10.0)

Type:

float

rot

Basin rotation angle in radians (default 0.0).

Type:

float

name

Basin name (default ‘Unnamed’).

Type:

str

property area

Basin area.

Type:

float

draw(dw=4)

Display a drawing of the basin.

Parameters:

dw (float) – Width of basin drawing (default 4.0).

info()

Print the basin information.

is_circular = False
is_rectangular = True
property lx

Basin length in x direction.

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

Type:

float

property ly

Basin length in y direction.

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

Type:

float

property rot

Basin rotation angle in degrees.

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

Type:

float

property rot_rad

Basin rotation angle in radians.

Type:

float

property verts

x and y coordinates of basin verticies.

Vertex keys: ll - lower left, ul - upper left, lr - lower right and ur - upper right.

Type:

dict

property verts_rot

x and y rotated coordinates of basin verticies.

Vertex keys: ll - lower left, ul - upper left, lr - lower right and ur - upper right.

Type:

dict

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 basin grid information.

property npts

Number of grid points.

Type:

int

property pts

grid point attriubutes including local grid point coordinates and world grid point coordinates.

Type:

pandas dataframe

h(x, y, xL, yL, T, S, t, q)

Glover impress solution.

impress(t=[1], locs=[(0, 0)], q=0.0, plot=True, csv='', xlsx='')

Calculate impress at specified locations and times.

Parameters:
  • t (float) – List of times to evaluate impress (default [1.0]).

  • locs (float tupple) – List of (dx, dy) location tupples to evaluate impress; dx is distance from basin center in x direction; dy is distance from basin center in y direction (default [(0.0, 0.0)]).

  • q (float) – Basin infiltration rate (default 0.0).

  • plot (bool) – Display a plot of the results (default True).

  • csv (str) – Filepath for export of results to csv file; results are exported if the string is not empty (default ‘’).

  • xlsx (str) – Filepath for export of result to xlsx file; results are exported if the string is not empty (default ‘’).

Returns:

Pandas dataframe containing results, hydraulic loading.

impress_grid(t=1, q=0.0, gr=100, gd=20, plot=True, local=False, csv='', xlsx='')

Calculate impress on a regular grid.

Parameters:
  • t (float) – Time to evaluate impress (default [1.0]).

  • q (float) – Basin infiltration rate (default 0.0).

  • gr (float) – Radius defining the extent of the solution grid (default 100.0).

  • gd (int) – Grid density defining the number of gird rows and columns; minimum and maximum constraints are enforced (default 21).

  • plot (bool) – Display a plot of the results (default True).

  • local (bool) – Display the drawdown plot in ‘local’ coordinates with the well at 0, 0 (Default False).

  • csv (str) – Filepath for export of results to csv file; results are exported if the string is not empty (default ‘’).

  • xlsx (str) – Filepath for export of result to xlsx file; results are exported if the string is not empty (default ‘’).

Returns:

Pandas dataframe containing results, hydraulic loading.

info()

Print the solution information.

Returns:

Screen printout of solution information.

u1(x, xL, T, S, t, tau)

Glover u1 solution term; tau is an integration variable.

u2(x, xL, T, S, t, tau)

Glover u2 solution term; tau is an integration variable.

u3(y, yL, T, S, t, tau)

Glover u3 solution term; tau is an integration variable.

u4(y, yL, T, S, t, tau)

Glover u4 solution term; tau is an integration variable.