-
Notifications
You must be signed in to change notification settings - Fork 54
Description
Describe the current behavior
The sensitivity analysis has currently some limitations.
- No support of multi-component computation (no way to report if a base simulation succeeds on one component but fails on another)
- No indication of the cause of a failure to compute a contingency, compared to what is reported for a loadflow run. It makes it hard to troubleshoot issues when results are missing for a contingency.
- No indication whether the result is complete or only partial, if the operation has been canceled and the thread interrupted.
Describe the expected behavior
To address these limiations, we propose to extend the ResultWriter as follow:
public interface SensitivityResultWriter {
// No API change - meaning below in the case of multi-component computation
// A factor has a variable that is linked to en equipement that is in a single component
// Called once per factor and contingency in the factor context that belongs to the same component as the factor equipment
// Nan for invalid factors whose equipement does not belongs to a component that has been run
void writeSensitivityValue(int factorIndex, int contingencyIndex, double value, double functionReference);
// 3 new parameters
// Called for every contigency and every numCC/numCS where the contingency has an impact
// For contingencies that are never run, called once in the end with no IMPACT and numCC and numCs set to -1
void writeContingencyStatus(int contingencyIndex, SensitivityAnalysisResult.Status status, SensitivityAnalysisResult.LoadFlowStatus loadFlowStatus, int numCC, int numCs);
// new method
void writeSynchronousComponentStatus(int numCC, int numCS, SensitivityAnalysisResult.LoadFlowStatus loadFlowStatus);
// Called at the end of the computation if the computation has not been interrupted
void computationComplete();
// Record to be added in the SensitivityAnalysisResult class
record LoadFlowStatus (LoadFlowResult.ComponentResult.Status status, String statusText) {
}
}
Describe the motivation
Enable to add multi-component support for sensitivity analysis inOpenLoadFlow
Enable to return partial results in case of interruption
Enable a better diagnosis of contingency failure
Extra Information
No response
Metadata
Metadata
Assignees
Labels
Type
Projects
Status