1D steady-state flow

class steady_flow.Steady1dConfFlow

Bases: object

Steady state flow in a 1D confined aquifer.

The Steady1dConfFlow class adopts the default Aq1dFiniteConf aquifer object, default SteadyBC type 2 boundary condition object at x=0, and default SteadyBC type 1 boundary condition object at x=L.

Attributes:

aq (obj) : Aquifer object. bc0 (obj) : SteadyBC object at x=0 (default type=2). bcL (obj) : SteadyBC object at x=L (default type=1). R (float) : Groundwater recharge rate (units L/T, default 0.0)

class Aq1dFiniteConf(K=1, Ss=0.0001, B=10, L=1000, bot=0, name='Aq1dFiniteConf class')

Bases: Aquifer

1D, finite confined aquifer subclass.

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

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

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

Attributes:

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

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 L

float : Aquifer length (units L, default 1000.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 = True
is_2d = False
is_confined = True
is_finite = True
is_heterogeneous = False
is_homogeneous = True
is_infinite = False
is_leaky = False
is_radial = False
is_semifinite = False
is_unconfined = False
class SteadyBC(type=2, head=10.0, flow=0.0, cond=0.0)

Bases: object

Boundary condition for steady state groundwater flow.

The boundary condition can be type 1, 2 or 3 (see ‘type’ attribute). An exception occurs if any other value is specified for type. The default SteadyBC object is a type 2 boundary condition with flow=0.0, which is equivalent to a no-flow boundary. The default type 1 Boundary has head=10.0 (same as the default head of all Aquifer classes). The default type 3 boundary condition has head=10.0 and cond=0.0, which is equivalent to a no-flow condition.

Note, a utilities function is available to calculate conductance values.

Attributes:
type (int)Boundary condition type; choices are type=1 (Dirichlet,

first-type or constant head), type=2 (Neumann, second-type or constant flow) or type=3 (Cauchy or general head).

head (float) : Value of head at the boundary for type 1 and value of external head for type 2 (units L, default 10.0). flow (float) : value of normal flow at boundary for type 2 (units L/T,

default 0.0).

cond (float) : Value of conductance for type 3 (units L2/T, default 0.0).

info()

Print the solution information.

property type

int : Boundary condition type.

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

property value

dic : Boundary condition value(s).

bc_t1_t1(H0, HL, L, T, R, x)

Aquifer solution for type 1 bc at x=0 and type 1 bc at x=L.

bc_t1_t2(H, Q, L, T, R, x)

Aquifer solution for type 1 bc at x=0 and type 2 bc at x=L.

bc_t2_t1(H, Q, L, T, R, x)

Aquifer solution for type 2 bc at x=0 and type 1 bc at x=L.

h(n=25, plot=True, csv='', xlsx='')

Evaluate aquifer head.

Args:
n (int)Number of evenly-spaced x values at which to evaluate

aquifer head.

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 head values.

h_grad(n=25, plot=True, csv='', xlsx='')

Evaluate aquifer head gradient.

Args:
n (int)Number of evenly-spaced x values at which to evaluate

aquifer flow.

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 head values.

info()

Print the solution information.

q(n=25, plot=True, csv='', xlsx='')

Evaluate aquifer flow.

Args:
n (int)Number of evenly-spaced x values at which to evaluate

aquifer flow.

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 head values.

property types

int : Boundary condition types.

class steady_flow.Steady1dUnconfFlow

Bases: object

Steady state flow in a 1D unconfined aquifer.

The Steady1dUnconfFlow class adopts the default Aq1dFiniteUnconf aquifer object, default SteadyBC type 2 boundary condition object at x=0, and default SteadyBC type 1 boundary condition object at x=L.

Attributes:

aq (obj) : Aquifer object. bc0 (obj) : SteadyBC object at x=0 (default type=2). bcL (obj) : SteadyBC object at x=L (default type=1). R (float) : Groundwater recharge rate (units L/T, default 0.0)

class Aq1dFiniteUnconf(K=1, Sy=0.1, B=10, L=1000, bot=0, name='Aq1dFiniteUnconf class')

Bases: Aquifer

1D, finite unconfined aquifer subclass.

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

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

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

Attributes:

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

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 L

float : Aquifer length (units L, default 1000.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.

property T

float : Aquifer transmissivity (units L2/T, default 10.0).

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

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

class SteadyBC(type=2, head=10.0, flow=0.0, cond=0.0)

Bases: object

Boundary condition for steady state groundwater flow.

The boundary condition can be type 1, 2 or 3 (see ‘type’ attribute). An exception occurs if any other value is specified for type. The default SteadyBC object is a type 2 boundary condition with flow=0.0, which is equivalent to a no-flow boundary. The default type 1 Boundary has head=10.0 (same as the default head of all Aquifer classes). The default type 3 boundary condition has head=10.0 and cond=0.0, which is equivalent to a no-flow condition.

Note, a utilities function is available to calculate conductance values.

Attributes:
type (int)Boundary condition type; choices are type=1 (Dirichlet,

first-type or constant head), type=2 (Neumann, second-type or constant flow) or type=3 (Cauchy or general head).

head (float) : Value of head at the boundary for type 1 and value of external head for type 2 (units L, default 10.0). flow (float) : value of normal flow at boundary for type 2 (units L/T,

default 0.0).

cond (float) : Value of conductance for type 3 (units L2/T, default 0.0).

info()

Print the solution information.

property type

int : Boundary condition type.

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

property value

dic : Boundary condition value(s).

bc_t1_t1(H0, HL, L, K, R, x)

Aquifer solution for type 1 bc at x=0 and type 1 bc at x=L.

bc_t1_t2(H, Q, L, K, R, x)

Aquifer solution for type 1 bc at x=0 and type 2 bc at x=L.

bc_t2_t1(H, Q, L, K, R, x)

Aquifer solution for type 2 bc at x=0 and type 1 bc at x=L.

h(n=25, plot=True, csv='', xlsx='')

Evaluate aquifer head.

Args:
n (int)Number of evenly-spaced x values at which to evaluate

aquifer head.

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 head values.

h_grad(n=25, plot=True, csv='', xlsx='')

Evaluate aquifer head gradient.

Args:
n (int)Number of evenly-spaced x values at which to evaluate

aquifer flow.

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 head values.

info()

Print the solution information.

q(n=25, plot=True, csv='', xlsx='')

Evaluate aquifer flow.

Args:
n (int)Number of evenly-spaced x values at which to evaluate

aquifer flow.

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 head values.

property types

int : Boundary condition types.