Package com.powsybl.openloadflow.sensi
Class DcSensitivityAnalysis
- java.lang.Object
-
- com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis<DcVariableType,DcEquationType>
-
- com.powsybl.openloadflow.sensi.DcSensitivityAnalysis
-
public class DcSensitivityAnalysis extends AbstractSensitivityAnalysis<DcVariableType,DcEquationType>
- Author:
- Geoffroy Jamgotchian
, Gaƫl Macherel
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis
AbstractSensitivityAnalysis.SensitivityFactorGroupList<V extends Enum<V> & Quantity,E extends Enum<E> & Quantity>
-
-
Field Summary
-
Fields inherited from class com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis
connectivityFactory, LOGGER, matrixFactory, parameters
-
-
Constructor Summary
Constructors Constructor Description DcSensitivityAnalysis(com.powsybl.math.matrix.MatrixFactory matrixFactory, GraphConnectivityFactory<LfBus,LfBranch> connectivityFactory, com.powsybl.sensitivity.SensitivityAnalysisParameters parameters)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
analyse(com.powsybl.iidm.network.Network network, List<PropagatedContingency> contingencies, List<com.powsybl.sensitivity.SensitivityVariableSet> variableSets, com.powsybl.sensitivity.SensitivityFactorReader factorReader, com.powsybl.sensitivity.SensitivityResultWriter resultWriter, com.powsybl.commons.reporter.Reporter reporter, Set<com.powsybl.iidm.network.Switch> allSwitchesToOpen)
protected com.powsybl.math.matrix.DenseMatrix
calculateActivePowerFlows(LfNetwork network, DcLoadFlowParameters parameters, EquationSystem<DcVariableType,DcEquationType> equationSystem, JacobianMatrix<DcVariableType,DcEquationType> j, List<com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis.LfSensitivityFactor<DcVariableType,DcEquationType>> factors, List<ParticipatingElement> participatingElements, Collection<LfBus> disabledBuses, Collection<LfBranch> disabledBranches, com.powsybl.commons.reporter.Reporter reporter)
Calculate the active power flows for pre-contingency or a post-contingency state and set the factor function reference.void
calculateContingencySensitivityValues(PropagatedContingency contingency, AbstractSensitivityAnalysis.SensitivityFactorGroupList<DcVariableType,DcEquationType> factorGroups, com.powsybl.math.matrix.DenseMatrix factorStates, com.powsybl.math.matrix.DenseMatrix contingenciesStates, com.powsybl.math.matrix.DenseMatrix flowStates, Collection<com.powsybl.openloadflow.sensi.DcSensitivityAnalysis.ComputedContingencyElement> contingencyElements, com.powsybl.sensitivity.SensitivityResultWriter resultWriter, LfNetwork lfNetwork, DcLoadFlowParameters lfParameters, OpenLoadFlowParameters lfParametersExt, JacobianMatrix<DcVariableType,DcEquationType> j, EquationSystem<DcVariableType,DcEquationType> equationSystem, com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis.SensitivityFactorHolder<DcVariableType,DcEquationType> factorHolder, List<ParticipatingElement> participatingElements, Set<LfBus> disabledBuses, Set<LfBranch> disabledBranches, com.powsybl.commons.reporter.Reporter reporter)
Calculate sensitivity values for a post-contingency state.protected void
calculateSensitivityValues(List<com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis.LfSensitivityFactor<DcVariableType,DcEquationType>> lfFactors, com.powsybl.math.matrix.DenseMatrix factorStates, com.powsybl.math.matrix.DenseMatrix contingenciesStates, com.powsybl.math.matrix.DenseMatrix flowStates, Collection<com.powsybl.openloadflow.sensi.DcSensitivityAnalysis.ComputedContingencyElement> contingencyElements, PropagatedContingency contingency, com.powsybl.sensitivity.SensitivityResultWriter resultWriter, Set<LfBus> disabledBuses, Set<LfBranch> disabledBranches)
Calculate sensitivity values for pre-contingency state or a post-contingency state using the pre-contingency sensitivity value and some flow transfer factors (alphas).protected static void
fillRhsContingency(LfNetwork lfNetwork, EquationSystem<DcVariableType,DcEquationType> equationSystem, Collection<com.powsybl.openloadflow.sensi.DcSensitivityAnalysis.ComputedContingencyElement> contingencyElements, com.powsybl.math.matrix.Matrix rhs)
Fills the right hand side with +1/-1 to model a branch contingency.protected static com.powsybl.math.matrix.DenseMatrix
initContingencyRhs(LfNetwork lfNetwork, EquationSystem<DcVariableType,DcEquationType> equationSystem, Collection<com.powsybl.openloadflow.sensi.DcSensitivityAnalysis.ComputedContingencyElement> contingencyElements)
protected void
setBaseCaseSensitivityValues(AbstractSensitivityAnalysis.SensitivityFactorGroupList<DcVariableType,DcEquationType> factorGroups, com.powsybl.math.matrix.DenseMatrix factorsState)
Calculate the sensitivity value for pre-contingency state only.-
Methods inherited from class com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis
checkContingencies, checkLoadFlowParameters, createFactorGroups, fillRhsSensitivityVariable, filterBusTargetVoltageVariable, filterSensitivityValue, getInjectionBusId, getLegNumber, getLegNumber, getParticipatingElements, getPredefinedResults, hasBusTargetVoltage, initFactorsRhs, isActivePowerFunctionType, isCurrentFunctionType, isDistributedSlackOnGenerators, isDistributedSlackOnLoads, isFlowFunction, readAndCheckFactors, rescaleGlsk, setPredefinedResults, unscaleFunction, unscaleSensitivity, writeInvalidFactors
-
-
-
-
Constructor Detail
-
DcSensitivityAnalysis
public DcSensitivityAnalysis(com.powsybl.math.matrix.MatrixFactory matrixFactory, GraphConnectivityFactory<LfBus,LfBranch> connectivityFactory, com.powsybl.sensitivity.SensitivityAnalysisParameters parameters)
-
-
Method Detail
-
calculateActivePowerFlows
protected com.powsybl.math.matrix.DenseMatrix calculateActivePowerFlows(LfNetwork network, DcLoadFlowParameters parameters, EquationSystem<DcVariableType,DcEquationType> equationSystem, JacobianMatrix<DcVariableType,DcEquationType> j, List<com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis.LfSensitivityFactor<DcVariableType,DcEquationType>> factors, List<ParticipatingElement> participatingElements, Collection<LfBus> disabledBuses, Collection<LfBranch> disabledBranches, com.powsybl.commons.reporter.Reporter reporter)
Calculate the active power flows for pre-contingency or a post-contingency state and set the factor function reference. The interesting disabled branches are only phase shifters.
-
setBaseCaseSensitivityValues
protected void setBaseCaseSensitivityValues(AbstractSensitivityAnalysis.SensitivityFactorGroupList<DcVariableType,DcEquationType> factorGroups, com.powsybl.math.matrix.DenseMatrix factorsState)
Calculate the sensitivity value for pre-contingency state only.
-
calculateSensitivityValues
protected void calculateSensitivityValues(List<com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis.LfSensitivityFactor<DcVariableType,DcEquationType>> lfFactors, com.powsybl.math.matrix.DenseMatrix factorStates, com.powsybl.math.matrix.DenseMatrix contingenciesStates, com.powsybl.math.matrix.DenseMatrix flowStates, Collection<com.powsybl.openloadflow.sensi.DcSensitivityAnalysis.ComputedContingencyElement> contingencyElements, PropagatedContingency contingency, com.powsybl.sensitivity.SensitivityResultWriter resultWriter, Set<LfBus> disabledBuses, Set<LfBranch> disabledBranches)
Calculate sensitivity values for pre-contingency state or a post-contingency state using the pre-contingency sensitivity value and some flow transfer factors (alphas).
-
fillRhsContingency
protected static void fillRhsContingency(LfNetwork lfNetwork, EquationSystem<DcVariableType,DcEquationType> equationSystem, Collection<com.powsybl.openloadflow.sensi.DcSensitivityAnalysis.ComputedContingencyElement> contingencyElements, com.powsybl.math.matrix.Matrix rhs)
Fills the right hand side with +1/-1 to model a branch contingency.
-
initContingencyRhs
protected static com.powsybl.math.matrix.DenseMatrix initContingencyRhs(LfNetwork lfNetwork, EquationSystem<DcVariableType,DcEquationType> equationSystem, Collection<com.powsybl.openloadflow.sensi.DcSensitivityAnalysis.ComputedContingencyElement> contingencyElements)
-
calculateContingencySensitivityValues
public void calculateContingencySensitivityValues(PropagatedContingency contingency, AbstractSensitivityAnalysis.SensitivityFactorGroupList<DcVariableType,DcEquationType> factorGroups, com.powsybl.math.matrix.DenseMatrix factorStates, com.powsybl.math.matrix.DenseMatrix contingenciesStates, com.powsybl.math.matrix.DenseMatrix flowStates, Collection<com.powsybl.openloadflow.sensi.DcSensitivityAnalysis.ComputedContingencyElement> contingencyElements, com.powsybl.sensitivity.SensitivityResultWriter resultWriter, LfNetwork lfNetwork, DcLoadFlowParameters lfParameters, OpenLoadFlowParameters lfParametersExt, JacobianMatrix<DcVariableType,DcEquationType> j, EquationSystem<DcVariableType,DcEquationType> equationSystem, com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis.SensitivityFactorHolder<DcVariableType,DcEquationType> factorHolder, List<ParticipatingElement> participatingElements, Set<LfBus> disabledBuses, Set<LfBranch> disabledBranches, com.powsybl.commons.reporter.Reporter reporter)
Calculate sensitivity values for a post-contingency state. When a contingency involves the loss of a load or a generator, the slack distribution could changed or the sensitivity factors in case of GLSK.
-
analyse
public void analyse(com.powsybl.iidm.network.Network network, List<PropagatedContingency> contingencies, List<com.powsybl.sensitivity.SensitivityVariableSet> variableSets, com.powsybl.sensitivity.SensitivityFactorReader factorReader, com.powsybl.sensitivity.SensitivityResultWriter resultWriter, com.powsybl.commons.reporter.Reporter reporter, Set<com.powsybl.iidm.network.Switch> allSwitchesToOpen)
- Specified by:
analyse
in classAbstractSensitivityAnalysis<DcVariableType,DcEquationType>
-
-