public interface LoadflowAlgorithm extends NetworkRef<BaseAclfNetwork<?,?>>, IAclfNetBVisitor
The following features are supported:
copyright
Modifier and Type | Method and Description |
---|---|
void |
distributeLoad(double totalLoad)
distribute the total load to Bus.contributeLoad.loadCP, based on the AclfLoad.dFactor.
|
AclfNetwork |
getAclfNet()
get the AclfNetwork object
|
IChildNetLfSolver |
getChildNetSolver()
Returns the value of the 'Child Net Solver' reference.
|
CustomLFMethod |
getCustomMethod()
Returns the value of the 'Custom Method' containment reference.
|
DataCheckConfiguration |
getDataCheckConfig()
Returns the value of the 'Data Check Config' containment reference.
|
double |
getGsAccFactor()
Returns the value of the 'Gs Acc Factor' attribute.
|
LfAdjustAlgorithm |
getLfAdjAlgo()
Returns the value of the 'Lf Adj Algo' containment reference.
|
LfCalculator |
getLfCalculator()
Returns the value of the 'Lf Calculator' containment reference.
|
AclfMethodType |
getLfMethod()
Returns the value of the 'Lf Method' attribute.
|
int |
getMaxIterations()
Returns the value of the 'Max Iterations' attribute.
|
NetAdjustAlgorithm |
getNetAdjAlgo()
Returns the value of the 'Net Adj Algo' containment reference.
|
double |
getTolerance()
Returns the value of the 'Tolerance' attribute.
|
double |
getTolerance(Unit.UnitType unit,
double baseKva)
get tolerance in the unit specified
|
boolean |
initializeAclfNet()
Initialize the aclf network prior to running power flow.
|
boolean |
isB11MatrixDirty()
Returns the value of the 'B11 Matrix Dirty' attribute.
|
boolean |
isInitBusVoltage()
Returns the value of the 'Init Bus Voltage' attribute.
|
boolean |
isNonDivergent()
Returns the value of the 'Non Divergent' attribute.
|
boolean |
isTurnOffIslandBus()
Returns the value of the 'Turn Off Island Bus' attribute.
|
boolean |
loadflow()
perform LoadFlow calculation.
|
boolean |
loadflow(boolean initNetwork)
perform LoadFlow calculation.
|
boolean |
loadflow(java.util.function.Consumer<BaseAclfNetwork<?,?>> extAclfNetDataChecker)
perform LoadFlow calculation with an extenal AclfNetwork data checker.
|
boolean |
needAdjustment()
Check if there is a need to perform adjustment.
|
boolean |
performAdjustment(Mismatch netMismatch,
AclfMethodType lfMethod)
Perform adjustment.
|
void |
setB11MatrixDirty(boolean value)
Sets the value of the '
B11 Matrix Dirty ' attribute. |
void |
setChildNetSolver(IChildNetLfSolver value)
Sets the value of the '
Child Net Solver ' reference. |
void |
setCustomMethod(CustomLFMethod value)
Sets the value of the '
Custom Method ' containment reference. |
void |
setDataCheckConfig(DataCheckConfiguration value)
Sets the value of the '
Data Check Config ' containment reference. |
void |
setGsAccFactor(double value)
Sets the value of the '
Gs Acc Factor ' attribute. |
void |
setInitBusVoltage(boolean value)
Sets the value of the '
Init Bus Voltage ' attribute. |
void |
setLfAdjAlgo(LfAdjustAlgorithm value)
Sets the value of the '
Lf Adj Algo ' containment reference. |
void |
setLfCalculator(LfCalculator value)
Sets the value of the '
Lf Calculator ' containment reference. |
void |
setLfMethod(AclfMethodType value)
Sets the value of the '
Lf Method ' attribute. |
void |
setMaxIterations(int value)
Sets the value of the '
Max Iterations ' attribute. |
void |
setNetAdjAlgo(NetAdjustAlgorithm value)
Sets the value of the '
Net Adj Algo ' containment reference. |
void |
setNonDivergent(boolean value)
Sets the value of the '
Non Divergent ' attribute. |
void |
setTolerance(double value)
Sets the value of the '
Tolerance ' attribute. |
void |
setTolerance(double e,
Unit.UnitType unit,
double baseKva)
set tolerance in the unit specified
|
void |
setTurnOffIslandBus(boolean value)
Sets the value of the '
Turn Off Island Bus ' attribute. |
getNetwork, setNetwork
checkData, checkData, getDesc, getId, getName, getNumber, getStatusChangeInfo, hzCopy, isActive, isStatus, jsonCopy, setDesc, setId, setName, setNumber, setStatus, setStatusChangeInfo
eAllContents, eClass, eContainer, eContainingFeature, eContainmentFeature, eContents, eCrossReferences, eGet, eGet, eInvoke, eIsProxy, eIsSet, eResource, eSet, eUnset
eAdapters, eDeliver, eNotify, eSetDeliver
readData, writeData
visit
int getMaxIterations()
"20"
.
If the meaning of the 'Max Iterations' attribute isn't clear, there really should be more of a description here...
attribute for max iterations for loadflow. For multi-net Loadflow, it also controls number of iterations between the main network and the child network(s).setMaxIterations(int)
,
CoreAlgorithmPackage.getLoadflowAlgorithm_MaxIterations()
void setMaxIterations(int value)
Max Iterations
' attribute.
value
- the new value of the 'Max Iterations' attribute.getMaxIterations()
double getTolerance()
"0.0001"
.
If the meaning of the 'Tolerance' attribute isn't clear, there really should be more of a description here...
attribute for loadflow tolerancesetTolerance(double)
,
CoreAlgorithmPackage.getLoadflowAlgorithm_Tolerance()
void setTolerance(double value)
Tolerance
' attribute.
value
- the new value of the 'Tolerance' attribute.getTolerance()
boolean isTurnOffIslandBus()
"true"
.
If the meaning of the 'Turn Off Island Bus' attribute isn't clear, there really should be more of a description here...
option to turn island bus offsetTurnOffIslandBus(boolean)
,
CoreAlgorithmPackage.getLoadflowAlgorithm_TurnOffIslandBus()
void setTurnOffIslandBus(boolean value)
Turn Off Island Bus
' attribute.
value
- the new value of the 'Turn Off Island Bus' attribute.isTurnOffIslandBus()
boolean isB11MatrixDirty()
"true"
.
If the meaning of the 'B11 Matrix Dirty' attribute isn't clear, there really should be more of a description here...
attribute to indicate B11 matrix dirty status.setB11MatrixDirty(boolean)
,
CoreAlgorithmPackage.getLoadflowAlgorithm_B11MatrixDirty()
void setB11MatrixDirty(boolean value)
B11 Matrix Dirty
' attribute.
value
- the new value of the 'B11 Matrix Dirty' attribute.isB11MatrixDirty()
double getGsAccFactor()
"1.0"
.
If the meaning of the 'Gs Acc Factor' attribute isn't clear, there really should be more of a description here...
GS acceleration factorsetGsAccFactor(double)
,
CoreAlgorithmPackage.getLoadflowAlgorithm_GsAccFactor()
void setGsAccFactor(double value)
Gs Acc Factor
' attribute.
value
- the new value of the 'Gs Acc Factor' attribute.getGsAccFactor()
boolean isInitBusVoltage()
"true"
.
option to init AclfNet, including bus initial voltage, before a Loadflow run
setInitBusVoltage(boolean)
,
CoreAlgorithmPackage.getLoadflowAlgorithm_InitBusVoltage()
void setInitBusVoltage(boolean value)
Init Bus Voltage
' attribute.
value
- the new value of the 'Init Bus Voltage' attribute.isInitBusVoltage()
DataCheckConfiguration getDataCheckConfig()
setDataCheckConfig(DataCheckConfiguration)
,
CoreAlgorithmPackage.getLoadflowAlgorithm_DataCheckConfig()
void setDataCheckConfig(DataCheckConfiguration value)
Data Check Config
' containment reference.
value
- the new value of the 'Data Check Config' containment reference.getDataCheckConfig()
AclfMethodType getLfMethod()
"NR"
.
The literals are from the enumeration AclfMethodType
.
If the meaning of the 'Lf Method' attribute isn't clear, there really should be more of a description here...
loadflow methodAclfMethodType
,
setLfMethod(AclfMethodType)
,
CoreAlgorithmPackage.getLoadflowAlgorithm_LfMethod()
void setLfMethod(AclfMethodType value)
Lf Method
' attribute.
value
- the new value of the 'Lf Method' attribute.AclfMethodType
,
getLfMethod()
boolean isNonDivergent()
"false"
.
If the meaning of the 'Adjust Change Step' attribute isn't clear, there really should be more of a description here...
attribute for non divergent loadflowsetNonDivergent(boolean)
,
CoreAlgorithmPackage.getLoadflowAlgorithm_NonDivergent()
void setNonDivergent(boolean value)
Non Divergent
' attribute.
value
- the new value of the 'Non Divergent' attribute.isNonDivergent()
NetAdjustAlgorithm getNetAdjAlgo()
Lf Algo
'.
If the meaning of the 'Net Adj Algo' reference isn't clear, there really should be more of a description here...
referece to network adjustment/control object containersetNetAdjAlgo(NetAdjustAlgorithm)
,
CoreAlgorithmPackage.getLoadflowAlgorithm_NetAdjAlgo()
,
NetAdjustAlgorithm.getLfAlgo()
void setNetAdjAlgo(NetAdjustAlgorithm value)
Net Adj Algo
' containment reference.
value
- the new value of the 'Net Adj Algo' containment reference.getNetAdjAlgo()
LfAdjustAlgorithm getLfAdjAlgo()
Lf Algo
'.
If the meaning of the 'Lf Adj Algo' reference isn't clear, there really should be more of a description here...
referece to bus/branch adjustment/control object containersetLfAdjAlgo(LfAdjustAlgorithm)
,
CoreAlgorithmPackage.getLoadflowAlgorithm_LfAdjAlgo()
,
LfAdjustAlgorithm.getLfAlgo()
void setLfAdjAlgo(LfAdjustAlgorithm value)
Lf Adj Algo
' containment reference.
value
- the new value of the 'Lf Adj Algo' containment reference.getLfAdjAlgo()
LfCalculator getLfCalculator()
Lf Algo
'.
If the meaning of the 'Lf Calculator' reference isn't clear, there really should be more of a description here...
referece to loadflow calculator, where loadflow calculation is implemented.setLfCalculator(LfCalculator)
,
CoreAlgorithmPackage.getLoadflowAlgorithm_LfCalculator()
,
LfCalculator.getLfAlgo()
void setLfCalculator(LfCalculator value)
Lf Calculator
' containment reference.
value
- the new value of the 'Lf Calculator' containment reference.getLfCalculator()
IChildNetLfSolver getChildNetSolver()
setChildNetSolver(IChildNetLfSolver)
,
CoreAlgorithmPackage.getLoadflowAlgorithm_ChildNetSolver()
void setChildNetSolver(IChildNetLfSolver value)
Child Net Solver
' reference.
value
- the new value of the 'Child Net Solver' reference.getChildNetSolver()
AclfNetwork getAclfNet()
CustomLFMethod getCustomMethod()
If the meaning of the 'Custom Method' reference isn't clear, there really should be more of a description here...
referece to custom Loadflow method definition objectsetCustomMethod(CustomLFMethod)
,
CoreAlgorithmPackage.getLoadflowAlgorithm_CustomMethod()
void setCustomMethod(CustomLFMethod value)
Custom Method
' containment reference.
value
- the new value of the 'Custom Method' containment reference.getCustomMethod()
boolean loadflow() throws InterpssException
InterpssException
boolean loadflow(java.util.function.Consumer<BaseAclfNetwork<?,?>> extAclfNetDataChecker) throws InterpssException
InterpssException
boolean loadflow(boolean initNetwork) throws InterpssException
initNetwork
- flag to define if the network needs to be reinitialized, this should be called after any generation,
load and topology changes is applied to the network
InterpssException
boolean initializeAclfNet() throws InterpssException
InterpssException
double getTolerance(Unit.UnitType unit, double baseKva)
unit
- tolerance unitbaseKva
- base kva for unit conversion
void setTolerance(double e, Unit.UnitType unit, double baseKva)
e
- toleranceunit
- tolerance unitbaseKva
- base kva for unit conversion
boolean needAdjustment() throws IpssNumericException
IpssNumericException
boolean performAdjustment(Mismatch netMismatch, AclfMethodType lfMethod)
netMismatch
- max mismatch in the networklfMethod
- Aclf method
void distributeLoad(double totalLoad)
totalLoad
- if set to true, reset Dclf Algorithm, for example, BMatrix, for the dc loadflow calculation.