-
Notifications
You must be signed in to change notification settings - Fork 7
Class refactoring
Guido Pleßmann edited this page May 11, 2016
·
6 revisions
The aim is to match class definition with PyPSA to enable smooth linking with power flow analysis (PFA) and with oemof.powerflow. Furthermore, the question how the whole project is related to oemof has to be addressed.
Component | Dingo (current) | PyPSA | TODOs/Questions |
---|---|---|---|
Line | Adjacency of LVStations and BranchDingo (holds properties) | pypsa.components.Line | (a) Adjacency representation compatible with PyPSA? (b) All necessary attributes/methods given by PyPSA class? |
Transformer | TransformerDingo | pypsa.components.Transformer | (a) All necessary attributes/methods given by PyPSA class? (b) Differentiation between MV and LV Transformer required? |
Station | Station | pypsa.components.SubStation? | |
...MVStation | |||
...LVStation | |||
Bus | BusDingo | pypsa.components.Bus | (a) Buses in Dingo currently not used |
Generator | SourceDingo | pypsa.components.Generator | (a) There exists a further Class called pypsa.components.Source -> Do we need this? |
Load | ? | pypsa.components.Load | (a) How to represent Ersatzlasten at LVStations if LVGrid is not considered in the analysis? |
- All PyPSA components have at least one bus attribute. In case of Branch (and derived classes) they have to buses which they are connected to
- Check all relevant PyPSA components concerning required attributes
Attributes denoted by (r) are required attributes of PyPSA
Dingo attribute | PyPSA attribute | Task |
---|---|---|
equip_line_id | name (r) | id in Dingo is type of int, name in str -> How do we want it? |
v_level | missing | add to PyPSA class |
type (line/cable) | missing | add to PyPSA class |
r | r (r) | furthermore there exists r_pu |
x | x (r) | furthermore there exists x_pu |
i_max_therm | - | do we really need this? |
s_max_a | s_nom_max | |
bus0 (r) | Adapt to concept of Dingo | |
bus1 (r) | Adapt to concept of Dingo | |
Further attributes of line exist is PyPSA. Check UML diagram if these are needed. |
Dingo attribute | PyPSA attribute | Task |
---|---|---|
equip_trans_id | name (r) | adapt |
v_level | missing (is given by voltage level of connected buses) | |
s_max_a | missing | |
s_max_b | missing | still needed in Dingo? |
s_max_c | missing | still needed in Dingo? |
phase_angle | phase_shift | check if is the same |
tap_ratio | tap_ratio | |
bus0 (r) | Adapt to concept of Dingo | |
bus1 (r) | Adapt to concept of Dingo | |
r (r) | Adapt to concept of Dingo | |
x (r) | Adapt to concept of Dingo |
Currently not implemented in Dingo. Take PyPSA classes from the very beginning!
- Do we need Bus objects within a Station?
- Before or after Transformer?
- Shall all nodes be representated by Buses?
- P,Q, etc. in PyPSA is of type Series. Is it possible to use scalar values for non-continuous PF analyses? (see oemof.powerflow example)