pywr.nodes.BreakLink¶
-
class
pywr.nodes.BreakLink(*args, **kwargs)¶ Compound node used to reduce the number of routes in a model
- Parameters
- modelpywr.model.Model
- namestring
- min_flowfloat or pywr.parameters.Parameter
- max_flowfloat or pywr.parameters.Parameter
- costfloat or pywr.parameters.Parameter
Notes
In a model with form (3, 1, 3), i.e. 3 (A,B,C) inputs connected to 3 outputs (D,E,F) via a bottleneck (X), there are 3*3 routes = 9 routes.
A -->\ /--> D B --> X --> E C -->/ \--> F
If X is a storage, there are only 6 routes: A->X_o, B->X_o, C->X_o and X_i->D_o, X_i->E_o, X_i->F_o.
The BreakLink node is a compound node composed of a Storage with zero volume and a Link. It can be used in place of a normal Link, but with the benefit that it reduces the number of routes in the model (in the situation described above). The resulting LP is easier to solve.
-
__init__(model, name, **kwargs)¶ Initialise a new Node object
- Parameters
- modelModel
The model the node belongs to
- namestring
A unique name for the node
Methods
__init__(model, name, **kwargs)Initialise a new Node object
after(self, Timestep ts)before(self, Timestep ts)Called at the beginning of the timestep
check()Check the node is valid
commit(self, int scenario_index, double value)Called once for each route the node is a member of
commit_all(self, double[)Called once for each route the node is a member of
connect(node[, from_slot, to_slot])Create an edge from this Node to another Node
disconnect([node, slot_name, all_slots])Remove a connection from this Node to another Node
finish(self)get_conversion_factor(self)Get the conversion factor
get_cost(self, ScenarioIndex scenario_index)Get the cost per unit flow at a given timestep
get_max_flow(self, ScenarioIndex scenario_index)Get the maximum flow at a given timestep
get_min_flow(self, ScenarioIndex scenario_index)Get the minimum flow at a given timestep
iter_slots([slot_name, is_connector])Returns the object(s) wich should be connected to given slot_name
load(data, model)reset(self)Called at the beginning of a run
setup(self, model)Called before the first run of the model
Attributes
allow_isolatedcommentcomment: basestring
component_attrscomponentsGenerator that returns all of the Components attached to the Node
conversion_factorThe conversion between inflow and outflow for the node
costThe cost per unit flow via the node
domainflowTotal flow via this node in the current timestep
fully_qualified_namemax_flowThe maximum flow constraint on the node
min_flowThe minimum flow constraint on the node
modelThe recorder for the node, e.g.
nameName of the node.
parentThe parent Node/Storage of this object.
prev_flowTotal flow via this node in the previous timestep
recordersReturns a list of pywr.recorders.Recorder objects attached to this node.
virtualvirtual: ‘bool’