Class AbstractSensitivityAnalysis<V extends Enum<V> & Quantity,​E extends Enum<E> & Quantity>

    • Field Detail

      • LOGGER

        protected static final org.slf4j.Logger LOGGER
      • matrixFactory

        protected final com.powsybl.math.matrix.MatrixFactory matrixFactory
      • parameters

        protected com.powsybl.sensitivity.SensitivityAnalysisParameters parameters
    • Constructor Detail

      • AbstractSensitivityAnalysis

        protected AbstractSensitivityAnalysis​(com.powsybl.math.matrix.MatrixFactory matrixFactory,
                                              GraphConnectivityFactory<LfBus,​LfBranch> connectivityFactory,
                                              com.powsybl.sensitivity.SensitivityAnalysisParameters parameters)
    • Method Detail

      • setPredefinedResults

        protected void setPredefinedResults​(Collection<com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis.LfSensitivityFactor<V,​E>> lfFactors,
                                            Set<LfBus> disabledBuses,
                                            Set<LfBranch> disabledBranches,
                                            PropagatedContingency propagatedContingency)
      • writeInvalidFactors

        protected com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis.SensitivityFactorHolder<V,​E> writeInvalidFactors​(com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis.SensitivityFactorHolder<V,​E> factorHolder,
                                                                                                                                    com.powsybl.sensitivity.SensitivityResultWriter resultWriter)
        Write zero or skip factors to output and send a new factor holder containing only other valid ones. IMPORTANT: this is only a base case test (factor status only deal with base case). We do not output anything on post contingency if factor is already invalid (skip o zero) on base case.
      • checkLoadFlowParameters

        public void checkLoadFlowParameters​(com.powsybl.loadflow.LoadFlowParameters lfParameters)
      • getInjectionBusId

        protected static String getInjectionBusId​(com.powsybl.iidm.network.Network network,
                                                  String injectionId,
                                                  boolean breakers)
      • readAndCheckFactors

        public com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis.SensitivityFactorHolder<V,​E> readAndCheckFactors​(com.powsybl.iidm.network.Network network,
                                                                                                                                 Map<String,​com.powsybl.sensitivity.SensitivityVariableSet> variableSetsById,
                                                                                                                                 com.powsybl.sensitivity.SensitivityFactorReader factorReader,
                                                                                                                                 LfNetwork lfNetwork,
                                                                                                                                 boolean breakers)
      • isActivePowerFunctionType

        public static boolean isActivePowerFunctionType​(com.powsybl.sensitivity.SensitivityFunctionType functionType)
      • isCurrentFunctionType

        public static boolean isCurrentFunctionType​(com.powsybl.sensitivity.SensitivityFunctionType functionType)
      • hasBusTargetVoltage

        public org.apache.commons.lang3.tuple.Pair<Boolean,​Boolean> hasBusTargetVoltage​(com.powsybl.sensitivity.SensitivityFactorReader factorReader,
                                                                                              com.powsybl.iidm.network.Network network)
      • isDistributedSlackOnGenerators

        public static boolean isDistributedSlackOnGenerators​(DcLoadFlowParameters lfParameters)
      • isDistributedSlackOnLoads

        public static boolean isDistributedSlackOnLoads​(DcLoadFlowParameters lfParameters)
      • unscaleSensitivity

        protected static <V extends Enum<V> & Quantity,​E extends Enum<E> & Quantity> double unscaleSensitivity​(com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis.LfSensitivityFactor<V,​E> factor,
                                                                                                                     double sensitivity)
        Unscales sensitivity value from per-unit, according to its type.
      • unscaleFunction

        protected static <V extends Enum<V> & Quantity,​E extends Enum<E> & Quantity> double unscaleFunction​(com.powsybl.openloadflow.sensi.AbstractSensitivityAnalysis.LfSensitivityFactor<V,​E> factor,
                                                                                                                  double value)
        Unscales function value from per-unit, according to its type.
      • getLegNumber

        protected static int getLegNumber​(com.powsybl.sensitivity.SensitivityFunctionType type)
      • getLegNumber

        protected static int getLegNumber​(com.powsybl.sensitivity.SensitivityVariableType type)
      • analyse

        public abstract 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)
      • filterSensitivityValue

        public static boolean filterSensitivityValue​(double value,
                                                     com.powsybl.sensitivity.SensitivityVariableType variable,
                                                     com.powsybl.sensitivity.SensitivityFunctionType function,
                                                     com.powsybl.sensitivity.SensitivityAnalysisParameters parameters)
      • filterBusTargetVoltageVariable

        protected static boolean filterBusTargetVoltageVariable​(double value,
                                                                com.powsybl.sensitivity.SensitivityFunctionType function,
                                                                com.powsybl.sensitivity.SensitivityAnalysisParameters parameters)
      • isFlowFunction

        protected static boolean isFlowFunction​(com.powsybl.sensitivity.SensitivityFunctionType function)