Class AbstractSecurityAnalysis<V extends Enum<V> & Quantity,​E extends Enum<E> & Quantity,​P extends AbstractLoadFlowParameters,​C extends LoadFlowContext<V,​E,​P>>

    • Field Detail

      • LOGGER

        protected static final org.slf4j.Logger LOGGER
      • network

        protected final com.powsybl.iidm.network.Network network
      • matrixFactory

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

        protected final com.powsybl.security.monitor.StateMonitorIndex monitorIndex
      • reporter

        protected final com.powsybl.commons.reporter.Reporter reporter
    • Constructor Detail

      • AbstractSecurityAnalysis

        protected AbstractSecurityAnalysis​(com.powsybl.iidm.network.Network network,
                                           com.powsybl.math.matrix.MatrixFactory matrixFactory,
                                           GraphConnectivityFactory<LfBus,​LfBranch> connectivityFactory,
                                           List<com.powsybl.security.monitor.StateMonitor> stateMonitors,
                                           com.powsybl.commons.reporter.Reporter reporter)
    • Method Detail

      • run

        public CompletableFuture<com.powsybl.security.SecurityAnalysisReport> run​(String workingVariantId,
                                                                                  com.powsybl.security.SecurityAnalysisParameters securityAnalysisParameters,
                                                                                  com.powsybl.contingency.ContingenciesProvider contingenciesProvider,
                                                                                  com.powsybl.computation.ComputationManager computationManager,
                                                                                  List<com.powsybl.security.strategy.OperatorStrategy> operatorStrategies,
                                                                                  List<com.powsybl.security.action.Action> actions)
      • postContingencyStatusFromNRStatus

        public static com.powsybl.security.PostContingencyComputationStatus postContingencyStatusFromNRStatus​(NewtonRaphsonStatus status)
      • loadFlowResultStatusFromNRStatus

        public static com.powsybl.loadflow.LoadFlowResult.ComponentResult.Status loadFlowResultStatusFromNRStatus​(NewtonRaphsonStatus status)
      • checkActions

        protected static void checkActions​(com.powsybl.iidm.network.Network network,
                                           List<com.powsybl.security.action.Action> actions)
      • indexActionsById

        protected static Map<String,​com.powsybl.security.action.Action> indexActionsById​(List<com.powsybl.security.action.Action> actions)
      • indexOperatorStrategiesByContingencyId

        protected static Map<String,​List<com.powsybl.security.strategy.OperatorStrategy>> indexOperatorStrategiesByContingencyId​(List<PropagatedContingency> propagatedContingencies,
                                                                                                                                       List<com.powsybl.security.strategy.OperatorStrategy> operatorStrategies,
                                                                                                                                       Map<String,​com.powsybl.security.action.Action> actionsById,
                                                                                                                                       Set<com.powsybl.security.action.Action> neededActions)
      • checkCondition

        protected boolean checkCondition​(com.powsybl.security.strategy.OperatorStrategy operatorStrategy,
                                         com.powsybl.security.LimitViolationsResult limitViolationsResult)
      • findAllSwitchesToOperate

        protected static void findAllSwitchesToOperate​(com.powsybl.iidm.network.Network network,
                                                       List<com.powsybl.security.action.Action> actions,
                                                       Set<com.powsybl.iidm.network.Switch> allSwitchesToClose,
                                                       Set<com.powsybl.iidm.network.Switch> allSwitchesToOpen)
      • runActionSimulation

        protected com.powsybl.security.results.OperatorStrategyResult runActionSimulation​(LfNetwork network,
                                                                                          C context,
                                                                                          com.powsybl.security.strategy.OperatorStrategy operatorStrategy,
                                                                                          LimitViolationManager preContingencyLimitViolationManager,
                                                                                          com.powsybl.security.SecurityAnalysisParameters.IncreasedViolationsParameters violationsParameters,
                                                                                          Map<String,​LfAction> lfActionById,
                                                                                          boolean createResultExtension,
                                                                                          LfContingency contingency,
                                                                                          LfNetworkParameters networkParameters)
      • runActionLoadFlow

        protected abstract com.powsybl.security.PostContingencyComputationStatus runActionLoadFlow​(C context)