The wpoint submodule

Working-point models in the Q-H (flow-head) plane.

This module defines classes used to represent and update operating points of hydraulic systems, especially for pump/circuit analysis and plotting.

Main classes:

  • Wpoint: static working point storing fixed Q and H values.

  • WpointDyn: dynamic working point linked to pump/circuit behavior, recalculating operating conditions when upstream model parameters change.

Typical use cases:

  • annotate operating points on Q-H diagrams,

  • compute updated intersection points after speed or resistance changes,

  • drive interactive plotting workflows where pump/circuit parameters vary.

Typical usage:

wp = Wpoint(name='nominal', Q=5 * u.m**3 / u.h, H=12 * u.m)
dyn = WpointDyn(name='op', pump=pump, circuit=circuit)
dyn.recalc()
print(dyn.Q, dyn.H)
class fluidsolve.wpoint.Wpoint(**kwargs: int)[source]

Bases: object

Static working point in the Q-H plane.

Parameters:
  • name (str, optional) – Working point label.

  • Q (int | float | Quantity, optional) – Flow rate (default in m3/h).

  • H (int | float | Quantity, optional) – Head (default in m).

__init__(**kwargs: int) None[source]
property name: str

Name of the working point.

property Q: Quantity

Flow rate (in m3/h).

property H: Quantity

Head (in m).

property Qmag: float

Flow rate magnitude (in m3/h).

property Hmag: float

Head magnitude (in m).

update() Wpoint[source]

Update Q and H. In this base class returns self unchanged.

Returns:

self.

Return type:

Wpoint

toString(detail: int = 0) str[source]
__str__() str[source]

Return str(self).

__repr__() str[source]

Return repr(self).

class fluidsolve.wpoint.WpointDyn(**kwargs: int)[source]

Bases: Wpoint

Dynamic working point that recalculates Q and H from two components.

Parameters:
  • s1 (Comp_Base, optional) – First component (e.g. pump curve).

  • s2 (Comp_Base, optional) – Second component (e.g. system curve).

  • guess (int | float | list, optional) – Initial flow guess for the solver.

  • name (str, optional) – Working point label.

  • Q (int | float | Quantity, optional) – Initial flow rate (default in m3/h).

  • H (int | float | Quantity, optional) – Initial head (default in m).

__init__(**kwargs: int) None[source]
update() WpointDyn[source]

Recalculate Q and H from the two components.

Returns:

self.

Return type:

WpointDyn

fluidsolve.wpoint.calcOperatingPoint(c1: Any, c2: Any, guess: Any | None = None) tuple[source]

Calculate the operating point for two intersecting curves.

Typically a pump curve and a system curve; each component may itself be a composite (e.g. Comp_Serial).

Parameters:
  • c1 (Comp_Base) – First component.

  • c2 (Comp_Base) – Second component.

  • guess (int | float | list, optional) – Initial flow guess for the solver.

Returns:

Operating point (Q, H).

Return type:

tuple[Quantity, Quantity]