Interface SensitivityAnalysisProvider

All Superinterfaces:
PlatformConfigNamedProvider, Versionable

public interface SensitivityAnalysisProvider extends Versionable, PlatformConfigNamedProvider
Sensitivity analysis provider

Sensitivity analysis is used to assess the impact of a small modification of a network variables on the value of network functions. This analysis can be assimilated to a partial derivative computed on a given network variant and on that variant modified based on a list of contingencies, if specified.

PTDFs used in Flowbased methodology for example are sensitivity analysis results. The sensitivity variables are the GSK shift and the function reference are the monitored lines/transformers flows.

Author:
Sebastien Murgey <sebastien.murgey at rte-france.com>
  • Method Details

    • findAll

      static List<SensitivityAnalysisProvider> findAll()
    • run

      CompletableFuture<Void> run(Network network, String workingVariantId, SensitivityFactorReader factorReader, SensitivityResultWriter resultWriter, List<Contingency> contingencies, List<SensitivityVariableSet> variableSets, SensitivityAnalysisParameters parameters, ComputationManager computationManager, ReportNode reportNode)
      Run a single sensitivity analysis. Factors are given by a factorReader on the workingVariantId of the network on pre-contingency state and after each Contingency provided by contingencies according to the parameters.
      Parameters:
      network - IIDM network on which the sensitivity analysis will be performed
      workingVariantId - network variant ID on which the analysis will be performed
      factorReader - provider of sensitivity factors to be computed
      resultWriter - provider of sensitivity results
      contingencies - list of contingencies after which sensitivity factors will be computed
      variableSets - list of variableSets
      parameters - specific sensitivity analysis parameters
      computationManager - a computation manager to external program execution
      reportNode - a reportNode for functional logs
      Returns:
      a CompletableFuture on SensitivityAnalysisResult that gathers sensitivity factor values
    • getSpecificParametersSerializer

      default Optional<ExtensionJsonSerializer> getSpecificParametersSerializer()
      The serializer for implementation-specific parameters, or Optional.empty() if the implementation does not have any specific parameters, or does not support JSON serialization.

      Note that the actual serializer type should be ExtensionJsonSerializer<SensitivityAnalysisParameters, MyParametersExtension> where MyParametersExtension is the specific parameters class.

      Returns:
      The serializer for implementation-specific parameters.
    • loadSpecificParameters

      default Optional<Extension<SensitivityAnalysisParameters>> loadSpecificParameters(PlatformConfig config)
      Reads implementation-specific parameters from platform config, or return Optional.empty() if the implementation does not have any specific parameters, or does not support loading from config.
      Returns:
      The specific parameters read from platform config.
    • loadSpecificParameters

      default Optional<Extension<SensitivityAnalysisParameters>> loadSpecificParameters(Map<String,String> properties)
      Reads implementation-specific parameters from a Map, or return Optional.empty() if the implementation does not have any specific parameters, or does not support loading from config.
      Returns:
      The specific parameters read from Map.
    • updateSpecificParameters

      default void updateSpecificParameters(Extension<SensitivityAnalysisParameters> extension, Map<String,String> properties)
      Updates implementation-specific parameters from a Map.
    • getLoadFlowProviderName

      default Optional<String> getLoadFlowProviderName()
      Returns:
      The name of the loadflow used for the sensitivity analysis.
    • getSpecificParametersNames

      default List<String> getSpecificParametersNames()
      get the list of the specific parameters names.
      Returns:
      the list of the specific parameters names.