public class ObservableIslandList extends GroupListI<ObservableIslandList.ObservableIsland>
List of observable islands based on a USDOE paper, "Contribution to Power State Estimation and Transient Stability Analysis" , Feb 1984.
Measurement Telemetered status is not yet available directly in OpenPA or the PSIM CSV formats. As such, we look for non-zero measurements on devices connected to known-energized buses.
This class provides a list of observable islands built using
ObsIslandBldrDOE
(inner static class for now). This class has been
tested only against a 24-bus model with fabricated data. Test procedures are
under development for larger models
There is a 2nd "build", @{link ObsIslandBldrNew} algorith based on the DOE algorithm, with some potential optimizations in place. This is a work in progress, and does not currently work.
Modifier and Type | Class and Description |
---|---|
static interface |
ObservableIslandList.Debug
Provide in interface to trace debug information in different implementations
|
class |
ObservableIslandList.ObservableIsland
Single Observable Island.
|
Constructor and Description |
---|
ObservableIslandList(PAModel model)
Create a new observable island list
|
ObservableIslandList(PAModel model,
ObservableIslandList.Debug debug)
Create a new observable island list with debugging enabled
|
Modifier and Type | Method and Description |
---|---|
ObservableIslandList.ObservableIsland |
get(int index) |
java.util.Set<ColumnMeta> |
getColTypes() |
<R> R |
getColumnData(ColumnMeta col) |
java.lang.String[] |
getID()
return array of string object ID's
|
java.lang.String |
getID(int ndx)
get unique object ID
|
ListMetaType |
getListMeta() |
java.lang.String[] |
getName()
name of object
|
java.lang.String |
getName(int ndx)
name of object
|
boolean |
hasVoltage(int ndx)
Try to find a bus with voltage telemetry
TODO: Since OpenPA doesn't yet have explicity telemetry status, we assume
that if a bus has nonzero voltage but we know that the topological island
is energized, then we have good telemetry
|
static void |
main(java.lang.String... args) |
getBuses, getByBus, getGenerators, getLines, getLoads, getPhaseShifters, getSeriesCapacitors, getSeriesReactors, getShuntCapacitors, getShuntReactors, getSVCs, getSwitches, getTransformers, getTwoTermDCLines, translateBusIndexes
getByID, getByKey, getIndex, getIndexesFromKeys, getKey, getKeys, reset, setID, setID, setName, setName
add, add, addAll, clear, equals, hashCode, indexOf, iterator, lastIndexOf, listIterator, listIterator, remove, set, subList
addAll, contains, containsAll, isEmpty, remove, removeAll, retainAll, toArray, toArray, toString
CalcListHash, getByID, getByKey, getIndex, getIndexes, getIndexesFromIDs, getIndexesFromKeys, getKey, getKeys, objEquals, objHash, reset, setID, setID, setName, setName, toArray
public ObservableIslandList(PAModel model) throws PAModelException
model
- PAModelException
public ObservableIslandList(PAModel model, ObservableIslandList.Debug debug) throws PAModelException
model
- PAModelException
public ListMetaType getListMeta()
public java.util.Set<ColumnMeta> getColTypes()
public ObservableIslandList.ObservableIsland get(int index)
get
in interface java.util.List<ObservableIslandList.ObservableIsland>
get
in class java.util.AbstractList<ObservableIslandList.ObservableIsland>
public boolean hasVoltage(int ndx) throws PAModelException
ndx
- PAModelException
public java.lang.String getID(int ndx)
com.powerdata.openpa.impl.AbstractPAList
getID
in interface BaseList<ObservableIslandList.ObservableIsland>
getID
in class com.powerdata.openpa.impl.AbstractPAList<ObservableIslandList.ObservableIsland>
public java.lang.String[] getID() throws PAModelException
com.powerdata.openpa.impl.AbstractPAList
getID
in interface BaseList<ObservableIslandList.ObservableIsland>
getID
in class com.powerdata.openpa.impl.AbstractPAList<ObservableIslandList.ObservableIsland>
PAModelException
public java.lang.String getName(int ndx) throws PAModelException
com.powerdata.openpa.impl.AbstractPAList
getName
in interface BaseList<ObservableIslandList.ObservableIsland>
getName
in class com.powerdata.openpa.impl.AbstractPAList<ObservableIslandList.ObservableIsland>
PAModelException
public java.lang.String[] getName() throws PAModelException
com.powerdata.openpa.impl.AbstractPAList
getName
in interface BaseList<ObservableIslandList.ObservableIsland>
getName
in class com.powerdata.openpa.impl.AbstractPAList<ObservableIslandList.ObservableIsland>
PAModelException
public static void main(java.lang.String... args) throws java.lang.Exception
java.lang.Exception
public <R> R getColumnData(ColumnMeta col)