business.station.solvers package¶
The purpose of a pump is to overcome elevation differences and head losses due to pipe friction. The amount of head the pump must add to overcome elevation differences is dependent on system characteristic and topology (and independent of the pump discharge rate), and is referenced to as static head or static lift. Friction and minor losses, however, zre highly dependent on the rate of discharge through the pump. When these losses are added to the static head for a series of discharge rates, the resulting plot is called a system head curve. The pump characteristic curve is a function of the pump and independent of the system, while the system head curve is dependent on the system and is independent of the pump. Unlike the pump curve, which is fixed for a given pump at a given speed, the system head curve slides up and down as the design flow changes / as different demands are chosen to for the design flow. Rather than there being a unique system head curve, a family of system head curves forms a band on the graph.
Submodules¶
business.station.solvers.base module¶
Colletion of mixins common to solving both the ‘hydraulic design and ‘hydraulic check’ problems.
-
class
business.station.solvers.base.
ElectricMixin
¶ Bases:
object
Placeholder for future methods common to design and check problems.
-
class
business.station.solvers.base.
ElectriclessMixin
¶ Bases:
object
Placeholder for future methods common to design and check problems.
-
class
business.station.solvers.base.
StationMixin
¶ Bases:
object
-
water_flow
(Quantity("volume/time"))¶ Get or set the water flow of the pumpstation instance
-
property
get_hydraulic_energy_excluding_riser_friction
¶ Return the hydraulic energy required by the pumpstation without considering the friction energy loss in the riser.
This method is useful when dealing with progressive displacement pumps, because they require a two-step calculation: * first, the pump body is selected * then, the pump body dictates the shaft and therefore a correction to the riser friction, which is due to the shaft and could not be evaluated before the pump doby had been selected in the previous step.
Note
Precondition: The hardware is set: the pump depth, the _piped_segments in the feeder, the pump and the riser assembly.
-
property
water_flow
¶
-
business.station.solvers.check module¶
Collection of mixins that help solving the ‘hydraulic check problem’ for ‘station’ water supplies.
Separate classes are provided for the electric station and the electricless station.
-
class
business.station.solvers.check.
ElectricCheckAlgorithmsMixin
¶ Bases:
object
Algorithms for the check problem of an electric pumpstation.
-
solve_hydraulic_check_problem
¶ solve the ‘hydarulic check problem’ and set the results in the calculations report.
-
property
get_hydraulic_energy_at_wellhead
¶
-
property
solve_hydraulic_check_problem
¶ Solve the ‘hydarulic check problem’.
Note
This is a fixed pump speed solution, so it differs from that of the ‘electricless’ problem, whch deals instead with variable speed pumping.
When the pump head discharge curve and the system head curve are plotted on the same axes, only one point lies on both the pump characteristic curve and the system head curve. The point where the two curves intersect, the operating point, is the actual combination of discharge and energy head that will be produced by the pump when insatlled in that piping system.
The problem is solved by finding the intersection between the system resititve curve (hydraulic energy required by the borehole and the pipeline) and the pump delivery curve.
The results are stored into the _calculations_report attribute and in the plots generated through the process.
Note
Precondition: The user interface (through javascript) ensures that the input data were provided.
-
-
class
business.station.solvers.check.
ElectriclessCheckAlgorithmsMixin
¶ Bases:
object
Algorithms for the check problem of a pumpstation that makes no use of electric power.
-
solve_hydraulic_check_problem
¶ solve the ‘hydarulic check problem’ and set the results in the calculations report.
-
property
solve_hydraulic_check_problem
¶ Solve the ‘hydarulic check problem’.
Note
This is a variable pump speed solution, so it differs from that of the ‘electric’ problem, whch deals instead with fixed speed pumping.
The problem is solved by evaluating the pumpstation duty point and working conditions for every rotation speed of the engine.
The results are stored into the _calculations_report attribute and in the plots generated through the process.
Note
Precondition: The user interface (through javascript) ensures that the input data were provided.
-
business.station.solvers.design module¶
Collection of mixins that help solving the ‘hydraulic design problem’ for ‘station’ water supplies.
Separate classes are provided for the electric pumpstation and for the one without use of energy.
-
class
business.station.solvers.design.
ElectricDesignAlgorithmsMixin
¶ Bases:
business.station.solvers.base.ElectricMixin
,business.station.plots.ElectricPlotMixin
,business.station.reports.ElectricReportMixin
Algorithms for the check problem of an electric pumpstation.
-
solve_hydraulic_design_problem
¶ solve the hydarulic design problem considering the current water flow and set the results in the calculations report
-
property
solve_hydraulic_design_problem
¶
-
-
class
business.station.solvers.design.
ElectriclessDesignAlgorithmsMixin
¶ Bases:
business.station.solvers.base.ElectriclessMixin
,business.station.plots.ElectriclessPlotMixin
,business.station.reports.ElectriclessReportMixin
Algorithms for the check problem of a pumpstation that does not make use of electric power.
Perform the ‘systematic search’ to optimize the ‘hydraulic design problem’.
-
property
solve_hydraulic_design_problem
¶
-
property