Well#

This module contains the Well class. The Well class is used to create a Well object.

Notes

This module contains the well classes.

class andfn.well.Well(label, radius, center, head, frac0, **kwargs)[source]#

Bases: Element

__init__(label, radius, center, head, frac0, **kwargs)[source]#

Initializes the well class.

Parameters:
  • label (str or int) – The label of the well.

  • radius (float) – The radius of the well.

  • center (complex) – The complex location of the well.

  • head (float) – The hydraulic head of the well.

  • frac (Fracture) – The label of the fracture the well is associated with.

  • q (float) – The flow rate of the well.

calc_omega(z)[source]#

Calculates the omega for the well. If z is inside the well, the omega is set to nan + nan*1j.

Parameters:

z (complex | ndarray) – A point in the complex z plane.

Returns:

omega – The complex potential for the well.

Return type:

complex | ndarray

calc_w(z)[source]#

Calculates the omega for the well. If z is inside the well, the omega is set to nan + nan*1j.

Parameters:

z (complex | ndarray) – A point in the complex z plane.

Returns:

w – The complex discharge vector for the well.

Return type:

complex | ndarray

static check_boundary_condition(n=10)[source]#

Checks the boundary condition of the well. This is allways zero as the well is solved in teh discharge matrix.

check_chi_crossing(z0, z1, atol=1e-10)[source]#

Checks if the line between two points, z0 and z1, crosses the well.

Parameters:
  • z0 (complex) – The first point.

  • z1 (complex) – The second point.

  • atol (float) – The absolute tolerance for the check

Returns:

z – The point where the line crosses the well or False if it does not cross.

Return type:

complex | bool

discharge_term(z)[source]#

Returns the discharge term for the well.

Parameters:

z (complex | ndarray) – A point, or an array of points, in the complex z plane.

Returns:

discharge – The average discharge term for the well.

Return type:

float

z_array(n)[source]#

Returns an array of n points on the well.

Parameters:

n (int) – The number of points to return.

Returns:

z – An array of n points on the well.

Return type:

ndarray

z_array_tracking(n, offset=0.01)[source]#

Returns an array of n points on the well for tracking.

Parameters:
  • n (int) – The number of points to return.

  • offset (float) – The offset for the tracking.

Returns:

z – An array of n points on the well.

Return type:

ndarray