Skip to content

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.

Class relations

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?

General remarks

  • 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

Line

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.

Transformer

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

Generator, Load, Bus

Currently not implemented in Dingo. Take PyPSA classes from the very beginning!

Other questions

  • 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)

Resources

Clone this wiki locally