Package com.powsybl.sensitivity
Interface SensitivityAnalysisProvider
-
- All Superinterfaces:
PlatformConfigNamedProvider
,Versionable
public interface SensitivityAnalysisProvider extends Versionable, PlatformConfigNamedProvider
Sensitivity analysis providerSensitivity 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>
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.powsybl.commons.config.PlatformConfigNamedProvider
PlatformConfigNamedProvider.Finder
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default Optional<String>
getLoadFlowProviderName()
default List<String>
getSpecificParametersNames()
get the list of the specific parameters names.default Optional<ExtensionJsonSerializer>
getSpecificParametersSerializer()
The serializer for implementation-specific parameters, orOptional.empty()
if the implementation does not have any specific parameters, or does not support JSON serialization.default Optional<Extension<SensitivityAnalysisParameters>>
loadSpecificParameters(PlatformConfig config)
Reads implementation-specific parameters from platform config, or returnOptional.empty()
if the implementation does not have any specific parameters, or does not support loading from config.default Optional<Extension<SensitivityAnalysisParameters>>
loadSpecificParameters(Map<String,String> properties)
Reads implementation-specific parameters from a Map, or returnOptional.empty()
if the implementation does not have any specific parameters, or does not support loading from config.CompletableFuture<Void>
run(Network network, String workingVariantId, SensitivityFactorReader factorReader, SensitivityValueWriter valueWriter, List<Contingency> contingencies, List<SensitivityVariableSet> variableSets, SensitivityAnalysisParameters parameters, ComputationManager computationManager, Reporter reporter)
Run a single sensitivity analysis.default void
updateSpecificParameters(Extension<SensitivityAnalysisParameters> extension, Map<String,String> properties)
Updates implementation-specific parameters from a Map.-
Methods inherited from interface com.powsybl.commons.config.PlatformConfigNamedProvider
getName, getPlatformConfigName
-
Methods inherited from interface com.powsybl.commons.Versionable
getName, getVersion
-
-
-
-
Method Detail
-
run
CompletableFuture<Void> run(Network network, String workingVariantId, SensitivityFactorReader factorReader, SensitivityValueWriter valueWriter, List<Contingency> contingencies, List<SensitivityVariableSet> variableSets, SensitivityAnalysisParameters parameters, ComputationManager computationManager, Reporter reporter)
Run a single sensitivity analysis. Factors are given by afactorReader
on theworkingVariantId
of thenetwork
on pre-contingency state and after eachContingency
provided bycontingencies
according to theparameters
.- Parameters:
network
- IIDM network on which the sensitivity analysis will be performedworkingVariantId
- network variant ID on which the analysis will be performedfactorReader
- provider of sensitivity factors to be computedvalueWriter
- provider of sensitivity values resultscontingencies
- list of contingencies after which sensitivity factors will be computedvariableSets
- list of variableSetsparameters
- specific sensitivity analysis parameterscomputationManager
- a computation manager to external program executionreporter
- a reporter for functional logs- Returns:
- a
CompletableFuture
onSensitivityAnalysisResult
that gathers sensitivity factor values
-
getSpecificParametersSerializer
default Optional<ExtensionJsonSerializer> getSpecificParametersSerializer()
The serializer for implementation-specific parameters, orOptional.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>
whereMyParametersExtension
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 returnOptional.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 returnOptional.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.
-
-