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