Topology_NodeBreaker module¶
This module contains definitions of classes to represent ONLY additional data from the CIM import, which is not part of the original Matpower data structure, but might be necessary for the GARPUR project.
Note
The data in the classes in this file is structured according to how it will be represented in Matlab, and not according to how it will be represented in the Python import code.
Note
The current implementation refers to CIMv14 !
See also
| Date: | 2016-05-10 |
|---|---|
| Authors: | Konstantin Gerasimov |
| e-mail: | kkgerasimov@gmail.com |
| Credits: | This function is created for KU-Leuven as part of the GARPUR project http://www.garpur-project.eu |
-
class
Topology_NodeBreaker.Area(id_cim, name='', netInterchange=0, pTolerance=0)[source]¶ Repsenets the basic info about a
IEC61970::ControlArea::ControlAreaobject from the source CIM file.-
id= None¶ An autogenerated ID, subsequent numbering, starting from 1, (integer)
Note
This ID goes in the Matpower
mpc.bus(:,BUS_AREA)struct field.
-
id_cim= None¶ The unique
mRIDobject identifier attribute (string)
-
name= None¶ The
nameattribute (string)
-
netInterchange= None¶ The
netInterchangeattribute (ActivePower datatype, usually MW for TSO networks)
-
pTolerance= None¶ The
pToleranceattribute (ActivePower datatype, usually MW for TSO networks)
-
-
class
Topology_NodeBreaker.Branch(node_from_id, node_to_id, id_cim, name='', status_from=False, status_to=False)[source]¶ Represents additional to the
Topology_BusBranch.Branchdata about eitherIEC61970::Wires::ACLineSegmentorIEC61970::Wires::PowerTransformerobject from the source CIM file, which formed that Branch.-
id= None¶ Autogenerated ID, subsequent numbering, starting from 1, (integer)
-
id_cim= None¶ The unique
mRIDobject identifier attribute (string)
-
name= None¶ The
nameattribute (string)
-
node_from_id= None¶ A
Topology_NodeBreaker.Node.id`on Terminal 0 (integer)
-
node_to_id= None¶ A
Topology_NodeBreaker.Node.id`on Terminal 1 (integer)
-
status_from= None¶ The Branch FROM terminal status (Open or Closed), i.e. terminal’s attribute
connected. (boolean)Note
For
ACLineSegment-s the FROM terminal is terminal 0. ForPowerTransformer-s however it is the secondary winding’s terminal (in order to comply with the Matpower transformer modeling assumptions)!
-
status_to= None¶ The Branch TO terminal status (Open or Closed), i.e. terminal’s attribute
connected. (boolean)Note
For
ACLineSegment-s the TO terminal is terminal 1. ForPowerTransformer-s however it is the primary winding’s terminal (in order to comply with the Matpower transformer modeling assumptions)!
-
-
class
Topology_NodeBreaker.Generator(node_id, id_cim, type, name='', mode='', fuel_type='')[source]¶ Repsenets the basic info about a
IEC61970::Wires::SynchronousMachineobject from the source CIM file, not contained in the Matpowermpc.genfield.-
fuel_type= None¶ The
FossilFuel.fossilFuelTypeattribute (string) of theThermalGeneratingUnitCIM class
-
id= None¶ Autogenerated ID, subsequent numbering, starting from 1, (integer)
-
id_cim= None¶ The unique
mRIDobject identifier attribute (string)
-
mode= None¶ The
operatingModeattribute (string)
-
name= None¶ The
nameattribute (string)
-
node_id= None¶ A
Topology_NodeBreaker.Node.id`to which the Generator is connected (integer)
-
type= None¶ The prefix of the
GeneratingUnitclass reference (string)Warning
Some Generator-s are assigned to the generic
GeneratingUnitclass. Then their type is an empty sting!
-
-
class
Topology_NodeBreaker.Load(node_id, id_cim, name='', p_mw=0, q_mvar=0, status=False)[source]¶ Repsenets the basic info about a
IEC61970::Wires::EnergyConsumerobject from the source CIM file.Note
The problem is that the Matpower mpc structure aggeregates all Load-s in the same bus. However if is useful to preserve the information about them (for example for load shedding) and this is why it is stored separately in this class.
-
id_cim= None¶ The unique
mRIDobject identifier attribute (string)
-
name= None¶ The
nameattribute (string)
-
node_id= None¶ A
Topology_NodeBreaker.Node.id`to which the Load is connected (integer)
-
p_mw= None¶ The load terminal’s StateVariable
SvPowerFlow.pattribute (ActivePower datatype, usually MW for TSO networks)
-
q_mvar= None¶ The load terminal’s StateVariable
SvPowerFlow.qattribute (ReactivePower datatype, usually MVAr for TSO networks)
-
status= None¶ The Load terminal’s attribute
connected(boolean)
-
-
class
Topology_NodeBreaker.Node(id_cim, bus_id=-1, name='', desc='')[source]¶ Repsenets the basic info about a
IEC61970::Topology::TopologicalNodeobject from the source CIM file.-
bus_id= None¶ A
Topology_BusBranch.Bus.id(integer)
-
desc= None¶ The
descriptionattribute (string)
-
id= None¶ An autogenerated ID, subsequent numbering, starting from 1, (integer)
-
id_cim= None¶ The unique
mRIDobject identifier attribute (string)
-
name= None¶ The
nameattribute (string)
-
-
class
Topology_NodeBreaker.PhaseTapChanger(branch_id, id_cim, step_num_list, x_pu_list, angle_shift_deg_list, continuous_position)[source]¶ Repsenets the basic info about a
IEC61970::Wires::PhaseTapChangerobject from the source CIM file.-
angle_shift_deg_list= None¶ A list of phase shifts [deg] for each corresponding step (list of floats)
-
branch_id= None¶ A
Topology_BusBranch.Branch.id`(integer)
-
continuous_position= None¶ The PhaseTapChanger‘s StateVariable
SvTapStep.continuousPositionattribute, i.e. the actual step position (integer)
-
id_cim= None¶ The unique
mRIDobject identifier attribute (string)
-
step_num_list= None¶ A list of the step numbers (list of subsequent string)
-
x_pu_list= None¶ A list of reactances [p.u.] for each corresponding step (list of floats)
-
-
class
Topology_NodeBreaker.RatioTapChanger(branch_id, id_cim, lowStep, highStep, neutralU_kV, stepVoltageIncrement_kV, continuousPosition, hasRegulatingControl, RC_discrete=[], RC_mode='', RC_targetRange_kV=[], RC_targetValue_kV=[])[source]¶ Repsenets the basic info about a
IEC61970::Wires::RatioTapChangerobject from the source CIM file.-
RC_discrete= None¶ The
RegulatingControl‘sdiscreteattribute (integer)
-
RC_mode= None¶ The
RegulatingControl‘smodeattribute (string)
-
RC_targetRange_kV= None¶ The
RegulatingControl‘stargetRangeattribute (kV)
-
RC_targetValue_kV= None¶ The
RegulatingControl‘stargetValueattribute (kV)
-
branch_id= None¶ A
Topology_BusBranch.Branch.id`(integer)
-
continuousPosition= None¶ The RatioTapChanger‘s StateVariable
SvTapStep.continuousPositionattribute, i.e. tap step voltage increment, per step position. (integer)
-
hasRegulatingControl= None¶ The RatioTapChanger‘s
RegulatingControlreference, false if unavailable (boolean)
-
highStep= None¶ The
highStepattribute (inherited from:TapChanger), i.e. the highest possible tap step position, advance from neutral (integer)
-
id_cim= None¶ The unique
mRIDobject identifier attribute (string)
-
lowStep= None¶ The
lowStepattribute (inherited from:TapChanger), i.e. the low step position number (integer)
-
neutralU_kV= None¶ The
neutralUattribute (inherited from:TapChanger), i.e. voltage at which the winding operates at the neutral tap setting (kV)
-
stepVoltageIncrement_kV= None¶ The
stepVoltageIncrementattribute (inherited from:TapChanger), i.e. tap step voltage increment, per step position. (kV)
-
-
class
Topology_NodeBreaker.Shunt(node_id, id_cim, maximumSections, numActiveSections, gPerSection_MVAr, bPerSection_MVAr, name='', status=False)[source]¶ Repsenets the basic info about a
IEC61970::Wires::ShuntCompensatorobject from the source CIM file.Note
The problem is that the Matpower mpc structure aggeregates all Shunt-s in the same bus. However if is useful to preserve the information about them (for example for switching actions) and this is why it is stored separately in this class.
Warning
IEC61970::Wires::SeriesCompensatorandIEC61970::Wires::StaticVarCompensatorare not yet implemented! See the source code ofCIM2Matpower.CIM2Matpower._create_buses_and_gens()!-
bPerSection_MVAr= None¶ The
bPerSectionattribute, transformed MVAr injected at V = 1.0 p.u. as required by Matpower specifications
-
gPerSection_MVAr= None¶ The
gPerSectionattribute, transformed MW demanded at V = 1.0 p.u. as required by Matpower specifications
-
id_cim= None¶ The unique
mRIDobject identifier attribute (string)
-
maximumSections= None¶ The
maximumSectionsattribute (integer)
-
name= None¶ The
nameattribute (string)
-
node_id= None¶ A
Topology_NodeBreaker.Node.id`to which the Shunt is connected (integer)
-
numActiveSections= None¶ The Shunt‘s StateVariable
SvShuntCompensatorSections.continuousSectionsattribute, i.e. the number of switched ON sections (integer)
-
status= None¶ The Shunt terminal’s attribute
connected(boolean)
-
-
class
Topology_NodeBreaker.Substation(node_id_list, id_cim, name='')[source]¶ Repsenets the basic info about a
IEC61970::Core::Substationobject from the source CIM file.-
id_cim= None¶ The unique
mRIDobject identifier attribute (string)
-
name= None¶ The
nameattribute (string)
-
node_id_list= None¶ A list of
Topology_NodeBreaker.Node.id`-s within the substation (integers)
-
-
class
Topology_NodeBreaker.Switch(node_from_id, node_to_id, id_cim, name='', status=False, branch_id=0)[source]¶ Repsenets the basic info about a
IEC61970::Wires::Switchobject from the source CIM file.-
branch_id= None¶ A
Topology_BusBranch.Branch.id(integer)Note
This property only reserves place. The Matpower case, which comes out of this import tool is a BusBranch model, therefore it should not have branches representing Switch-es. However, it the created in Matlab function
mpc_bb2nodal.mis called, it creates a NodeBreaker model by adding the Switch-es as low impedence Branch-es and stores theTopology_BusBranch.Branch.idfor the opposite transformation. This information is also necessary when switching actions are to be performed.
-
id_cim= None¶ The
nameattribute (string)
-
name= None¶ The
nameattribute (string)
-
node_from_id= None¶ A
Topology_NodeBreaker.Node.idon Terminal 0 (integer)
-
node_to_id= None¶ A
Topology_NodeBreaker.Node.idon Terminal 1 (integer)
-
status= None¶ The Swtich status (Open or Closed), i.e. False if either of the Swtich terminal’s attribute
connectedis False. (boolean)
-
-
class
Topology_NodeBreaker.Topology_NodeBreaker(CIM_filenames)[source]¶ Additional data from the CIM files about the NodeBreaker topology of the system
-
CIM_filenames= None¶ List of the CIM files which were passed to
CIM2Matpower.import()(list if string)
-
branches= None¶ List of all
Topology_NodeBreaker.Branch-es within the biggestTopologicalIslandof the imported power system.
-
generators= None¶ List of all
Topology_NodeBreaker.Generator-es within the biggestTopologicalIslandof the imported power system.
-
loads= None¶ List of all
Topology_NodeBreaker.Load-es within the biggestTopologicalIslandof the imported power system.
-
phasetapchangers= None¶ List of all
Topology_NodeBreaker.PhaseTapChanger-s within the biggestTopologicalIslandof the imported power system.
-
ratiotapchangers= None¶ List of all
Topology_NodeBreaker.RatioTapChanger-s within the biggestTopologicalIslandof the imported power system.
-
shunts= None¶ List of all
Topology_NodeBreaker.Shunt-es within the biggestTopologicalIslandof the imported power system.
-
substations= None¶ List of
Topology_NodeBreaker.Substation-s within the biggestTopologicalIslandof the imported power system.
-
switches= None¶ List of all
Topology_NodeBreaker.Switch-es within the biggestTopologicalIslandof the imported power system.
-
zones= None¶ List of all
Topology_NodeBreaker.Zone-s within the imported CIM files.
-
-
class
Topology_NodeBreaker.Zone(id_cim, name='')[source]¶ Repsenets the basic info about a
IEC61970::LoadModel::LoadAreaobject from the source CIM file.Warning
The current implementation of the
CIM2Matpower.CIM2Matpower._iterate_prim_eq()is fine tuned for the RTE CIM data in which there is noIEC61970::LoadModel::LoadAreaobjects and because of that instead theIEC61970::Core::SubGeographicalRegionobjects are treated as load Zone-s.-
id= None¶ An autogenerated ID, subsequent numbering, starting from 1, (integer)
Note
This ID goes in the Matpower
mpc.bus(:,ZONE) struct field.
-
id_cim= None¶ The unique
mRIDobject identifier attribute (string)
-
name= None¶ The
nameattribute (string)
-