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