public interface VoltageLevel extends Container<VoltageLevel>
A voltage level contains a topology model, i.e. an object that describes how equipments are connected together.
getTopologyKind()
):
Depending on the topology model kind of the voltage level a view can have the status:
The view status is summarized in the following table:
Topology model | |||
---|---|---|---|
node/breaker | bus/breaker | ||
Topology view | node/breaker | modifiable | N/A |
bus/breaker | readable | modifiable | |
bus | readable | readable |
Here is a diagram of the substation:
The next diagram shows how to map the subtation topology to a graph.
Switch.isRetained()
).
The following code shows how to create the substation with a node/breaker topology model.
Network n = ... Substation s = ... VoltageLevel vl1 = s.newVoltageLevel() .setId("VL1") .setTopologyKind(TopologyKind.NODE_BREAKER) .add(); vl1.getNodeBreakerView().setNodeCount(8); // create busbar sections BBS1 and BBS2 vl1.getNodeBreakerView().newBusbarSection() .setId("BBS1") .add(); vl1.getNodeBreakerView().newBusbarSection() .setId("BBS2") .add(); // create generator GN vl1.newGenerator() .setId("GN") .setNode(1) ... .add(); // create load LD vl1.newLoad() .setId("LD") .setNode(5) ... .add(); // connect generator GN by creating breaker BR1 and disconnectors DI1 and DI2 vl1.getNodeBreakerView().newBreaker() .setId("BR1") .setOpen(false) .setNode1(1) .setNode1(2) .add(); vl1.getNodeBreakerView().newDisconnector() .setId("DI1") .setOpen(false) .setNode1(2) .setNode1(3) .add(); vl1.getNodeBreakerView().newDisconnector() .setId("DI2") .setOpen(true) .setNode1(2) .setNode1(4) .add(); // connect load LD ... // create busbar coupler BR3 vl1.getNodeBreakerView().newBreaker() .setId("BR3") .setOpen(false) .setRetained(true) // retain this breaker in the bus/breaker topology!!! .setNode1(3) .setNode2(4) .add(); VoltageLevel vl2 = s.newVoltageLevel() .setId("VL2") .setTopologyKind(TopologyKind.NODE_BREAKER) .add(); vl2.getNodeBreakerView().setNodeCount(3); // create busbar section BBS3 vl2.getNodeBreakerView().newBusbarSection() .setId("BBS3") .add(); // create line LN n.newLine() .setId("LN") .setVoltageLevel1("VL2") .setNode1(1) .setVoltageLevel2(...) .setNode2(...) ... .add(); // create transformer TR s.newTwoWindingsTransformer() .setId("TR") .setVoltageLevel1("VL1") .setNode1(8) .setVoltageLevel2("VL2") .setNode2(3) ... .add();
The following diagram shows computed bus/breaker topology. Compared to node/breaker topology, only remains equipements (GN, LD, TR, LN), and switches flagged as retained (BR3). Equipments are now connected through buses (B1 and B2).
To get a bus/breaker view on the substation voltage level VL1 use
getBusBreakerView()
.
The following code shows how to get buses and breakers of the bus/breaker
view in voltage level VL1.
// VL1 contains 2 buses in the bus/breaker view Iterator<Bus> itB = vl1.getBusBreakerView().getBuses().iterator(); // first bus connects nodes 1, 2, 3, 5, 6 Bus b1 = itB.next(); // ... and consequently generator GN and load LD Generator gn = b1.getGenerators().iterator().next(); Load ld = b1.getLoads().iterator().next(); // bus/breaker view can also be accessed from an equipment Bus alsoB1 = gn.getTerminal().getBusBreakerView.getBus(); // second bus connects nodes 4, 7, 8 Bus b2 = itB.next(); TwoWindingsTransformer tr = b2.getTwoWindingsTransformer().iterator().next(); // VL1 contains 1 switch in the bus/breaker view Iterator<Switch> itS = vl1.getBusBreakerView().getSwitches().iterator(); Switch br3 = itS.next();
The following diagram shows computed bus topology. Compared to bus/breaker topology, there is no switches anymore. Only remains equipements (GN, LD, TR, LN) connected through buses.
To get a bus view one the substation voltage level VL1 use
getBusView()
.
The following code shows how to get buses of the bus view in voltage level VL1.
// VL1 contains 1 buses in the bus view Iterator<Bus> itB = vl1.getBusView().getBuses(); // the bus connects all the equipements of voltage level VL1 Bus b1 = itB.next();
The following code shows how to create the substation with a bus/breaker topology model.
VoltageLevel vl1 = s.newVoltageLevel() .setId("VL1") .setTopologyKind(TopologyKind.BUS_BREAKER) .add(); // create busbar sections BBS1 and BBS2 vl1.getBusBreakerView().newBus() .setId("B1") .add(); vl1.getBusBreakerView().newBus() .setId("B2") .add(); // create generator GN vl1.newGenerator() .setId("GN") .setBus("B1") ... .add(); // create load LD vl1.newLoad() .setId("LD") .setBus("B1") ... .add(); // create busbar coupler BR3 vl1.getBusBreakerView().newBreaker() .setId("BR3") .setOpen(false) .setBus1("B1") .setBus2("B2") .add(); VoltageLevel vl2 = s.newVoltageLevel() .setId("VL2") .setTopologyKind(TopologyKind.BUS_BREAKER) .add(); vl2.getBusBreakerView().newBus() .setId("B3") .add(); // create line LN n.newLine() .setId("LN") .setVoltageLevel1("VL2"); .setBus1("B3") .setVoltageLevel2(...); .setBus2(...) ... .add(); // create transformer TR s.newTwoWindingsTransformer() .setId("TR") .setVoltageLevel1("VL1"); .setBus1("B2") .setVoltageLevel2("VL2"); .setBus2("B3") ... .add();
Warning: in that case the node/breaker view status on voltage level VL1 and VL2 is N/A.
To create a voltage level, see VoltageLevelAdder
VoltageLevelAdder
Modifier and Type | Interface and Description |
---|---|
static interface |
VoltageLevel.BusBreakerView
A bus/breaker view of the topology.
|
static interface |
VoltageLevel.BusView
A bus view of the substation topology.
|
static interface |
VoltageLevel.NodeBreakerView
A node/breaker view of the topology.
|
static interface |
VoltageLevel.TopologyTraverser
Topology traversal handler
|
Modifier and Type | Method and Description |
---|---|
void |
exportTopology(java.io.OutputStream outputStream)
Export the topology in DOT format (Graphviz).
|
void |
exportTopology(java.lang.String filename)
Export in a file the topology in DOT format (Graphviz).
|
VoltageLevel.BusBreakerView |
getBusBreakerView()
Get a bus/breaker view of the topology.
|
VoltageLevel.BusView |
getBusView()
Get a bus view of the topology.
|
<T extends Connectable> |
getConnectable(java.lang.String id,
java.lang.Class<T> aClass)
Get an equipment connected to this substation voltage level.
|
int |
getConnectableCount()
Count the equipments connected to this substation voltage level.
|
<T extends Connectable> |
getConnectableCount(java.lang.Class<T> clazz)
Count the equipments connected to this substation voltage level for a given type.
|
java.lang.Iterable<Connectable> |
getConnectables()
Get an Iterable on all the equipments connected to this substation voltage level.
|
<T extends Connectable> |
getConnectables(java.lang.Class<T> clazz)
Get an Iterable on all the equipments connected to this substation voltage level for a given type.
|
java.util.stream.Stream<Connectable> |
getConnectableStream()
Get a Stream on all the equipments connected to this substation voltage level.
|
<T extends Connectable> |
getConnectableStream(java.lang.Class<T> clazz)
Get a Stream on all the equipments connected to this substation voltage level for a given type.
|
int |
getDanglingLineCount()
Get dangling line count.
|
java.lang.Iterable<DanglingLine> |
getDanglingLines()
Get dangling lines.
|
java.util.stream.Stream<DanglingLine> |
getDanglingLineStream()
Get dangling lines.
|
int |
getGeneratorCount()
Get generator count.
|
java.lang.Iterable<Generator> |
getGenerators()
Get generators.
|
java.util.stream.Stream<Generator> |
getGeneratorStream()
Get generators.
|
double |
getHighVoltageLimit()
Get the high voltage limit in KV.
|
int |
getLccConverterStationCount()
Get LCC converter stations count connected to this voltage level.
|
java.lang.Iterable<LccConverterStation> |
getLccConverterStations()
Get all LCC converter stations connected to this voltage level.
|
java.util.stream.Stream<LccConverterStation> |
getLccConverterStationStream()
Get all LCC converter stations connected to this voltage level.
|
int |
getLoadCount()
Get load count.
|
java.lang.Iterable<Load> |
getLoads()
Get loads.
|
java.util.stream.Stream<Load> |
getLoadStream()
Get loads.
|
double |
getLowVoltageLimit()
Get the low voltage limit in KV.
|
VoltageLevel.NodeBreakerView |
getNodeBreakerView()
Get a node/breaker view of the topology.
|
double |
getNominalV()
Get the nominal voltage in KV.
|
default int |
getShuntCompensatorCount()
Get shunt count.
|
default java.lang.Iterable<ShuntCompensator> |
getShuntCompensators()
Get compensator shunts.
|
default java.util.stream.Stream<ShuntCompensator> |
getShuntCompensatorStream()
Get compensator shunts.
|
default int |
getShuntCount()
Deprecated.
Use
getShuntCompensatorCount() instead. |
default java.lang.Iterable<ShuntCompensator> |
getShunts()
Deprecated.
Use
getShuntCompensators() instead. |
default java.util.stream.Stream<ShuntCompensator> |
getShuntStream()
Deprecated.
Use
getShuntCompensatorStream() instead. |
int |
getStaticVarCompensatorCount()
Get static var compensator count.
|
java.lang.Iterable<StaticVarCompensator> |
getStaticVarCompensators()
Get static var compensators.
|
java.util.stream.Stream<StaticVarCompensator> |
getStaticVarCompensatorStream()
Get static var compensators.
|
Substation |
getSubstation()
Get the substation to which the voltage level belongs.
|
int |
getSwitchCount()
Get switch count.
|
java.lang.Iterable<Switch> |
getSwitches()
Get switches.
|
TopologyKind |
getTopologyKind()
Get the kind of topology.
|
int |
getVscConverterStationCount()
Get VSC converter stations count connected to this voltage level.
|
java.lang.Iterable<VscConverterStation> |
getVscConverterStations()
Get all VSC converter stations connected to this voltage level.
|
java.util.stream.Stream<VscConverterStation> |
getVscConverterStationStream()
Get all VSC converter stations connected to this voltage level.
|
DanglingLineAdder |
newDanglingLine()
Get a builder to create a new dangling line.
|
GeneratorAdder |
newGenerator()
Get a builder to create a new generator.
|
LccConverterStationAdder |
newLccConverterStation()
Get a builder to create a new LCC converter station connected to this voltage level.
|
LoadAdder |
newLoad()
Get a builder to create a new load.
|
default ShuntCompensatorAdder |
newShunt()
Deprecated.
Use
newShuntCompensator() instead. |
default ShuntCompensatorAdder |
newShuntCompensator()
Get a builder to create a new compensator shunt.
|
StaticVarCompensatorAdder |
newStaticVarCompensator()
Get a builder to create a new static var compensator.
|
VscConverterStationAdder |
newVscConverterStation()
Get a builder to create a new VSC converter station connected to this voltage level.
|
void |
printTopology()
Print an ASCII representation of the topology on the standard ouput.
|
void |
printTopology(java.io.PrintStream out,
ShortIdDictionary dict)
Print an ASCII representation of the topology on a stream.
|
VoltageLevel |
setHighVoltageLimit(double highVoltageLimit)
Set the high voltage limit in KV.
|
VoltageLevel |
setLowVoltageLimit(double lowVoltageLimit)
Set the low voltage limit in KV.
|
VoltageLevel |
setNominalV(double nominalV) |
void |
visitEquipments(TopologyVisitor visitor)
Visit equipments of the voltage level.
|
getContainerType
getId, getName, getProperties, hasProperty
addExtension, getExtension, getExtensionByName, getExtensions, removeExtension
Substation getSubstation()
double getNominalV()
VoltageLevel setNominalV(double nominalV)
double getLowVoltageLimit()
VoltageLevel setLowVoltageLimit(double lowVoltageLimit)
lowVoltageLimit
- the low voltage limit in KVdouble getHighVoltageLimit()
VoltageLevel setHighVoltageLimit(double highVoltageLimit)
highVoltageLimit
- the high voltage limit in KV<T extends Connectable> T getConnectable(java.lang.String id, java.lang.Class<T> aClass)
id
- the equipment idaClass
- <T extends Connectable> java.lang.Iterable<T> getConnectables(java.lang.Class<T> clazz)
clazz
- equipments type<T extends Connectable> java.util.stream.Stream<T> getConnectableStream(java.lang.Class<T> clazz)
clazz
- equipments type<T extends Connectable> int getConnectableCount(java.lang.Class<T> clazz)
clazz
- equipments typejava.lang.Iterable<Connectable> getConnectables()
java.util.stream.Stream<Connectable> getConnectableStream()
int getConnectableCount()
GeneratorAdder newGenerator()
java.lang.Iterable<Generator> getGenerators()
java.util.stream.Stream<Generator> getGeneratorStream()
int getGeneratorCount()
LoadAdder newLoad()
java.lang.Iterable<Load> getLoads()
java.util.stream.Stream<Load> getLoadStream()
java.lang.Iterable<Switch> getSwitches()
int getSwitchCount()
int getLoadCount()
@Deprecated default ShuntCompensatorAdder newShunt()
newShuntCompensator()
instead.@Deprecated default java.lang.Iterable<ShuntCompensator> getShunts()
getShuntCompensators()
instead.@Deprecated default java.util.stream.Stream<ShuntCompensator> getShuntStream()
getShuntCompensatorStream()
instead.@Deprecated default int getShuntCount()
getShuntCompensatorCount()
instead.default ShuntCompensatorAdder newShuntCompensator()
default java.lang.Iterable<ShuntCompensator> getShuntCompensators()
default java.util.stream.Stream<ShuntCompensator> getShuntCompensatorStream()
default int getShuntCompensatorCount()
DanglingLineAdder newDanglingLine()
java.lang.Iterable<DanglingLine> getDanglingLines()
java.util.stream.Stream<DanglingLine> getDanglingLineStream()
int getDanglingLineCount()
StaticVarCompensatorAdder newStaticVarCompensator()
java.lang.Iterable<StaticVarCompensator> getStaticVarCompensators()
java.util.stream.Stream<StaticVarCompensator> getStaticVarCompensatorStream()
int getStaticVarCompensatorCount()
VscConverterStationAdder newVscConverterStation()
java.lang.Iterable<VscConverterStation> getVscConverterStations()
java.util.stream.Stream<VscConverterStation> getVscConverterStationStream()
int getVscConverterStationCount()
LccConverterStationAdder newLccConverterStation()
java.lang.Iterable<LccConverterStation> getLccConverterStations()
java.util.stream.Stream<LccConverterStation> getLccConverterStationStream()
int getLccConverterStationCount()
void visitEquipments(TopologyVisitor visitor)
visitor
- TopologyKind getTopologyKind()
VoltageLevel.NodeBreakerView getNodeBreakerView()
VoltageLevel.BusBreakerView getBusBreakerView()
VoltageLevel.BusView getBusView()
void printTopology()
void printTopology(java.io.PrintStream out, ShortIdDictionary dict)
out
- the streamvoid exportTopology(java.lang.String filename) throws java.io.IOException
filename
- the file namejava.io.IOException
void exportTopology(java.io.OutputStream outputStream) throws java.io.IOException
outputStream
- a writerjava.io.IOException