Source code for pypowsybl.loadflow.impl.validation_result
# Copyright (c) 2023, RTE (http://www.rte-france.com)
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
# SPDX-License-Identifier: MPL-2.0
#
from typing import Optional
import pandas as pd
OptionalDf = Optional[pd.DataFrame]
[docs]class ValidationResult:
"""
The result of a loadflow validation.
"""
def __init__(self, branch_flows: OptionalDf, buses: OptionalDf, generators: OptionalDf, svcs: OptionalDf,
shunts: OptionalDf, twts: OptionalDf, t3wts: OptionalDf):
self._branch_flows = branch_flows
self._buses = buses
self._generators = generators
self._svcs = svcs
self._shunts = shunts
self._twts = twts
self._t3wts = t3wts
self._valid = self._is_valid_or_unchecked(self.branch_flows) and self._is_valid_or_unchecked(self.buses) \
and self._is_valid_or_unchecked(self.generators) and self._is_valid_or_unchecked(self.svcs) \
and self._is_valid_or_unchecked(self.shunts) and self._is_valid_or_unchecked(self.twts) \
and self._is_valid_or_unchecked(self.t3wts)
@staticmethod
def _is_valid_or_unchecked(df: OptionalDf) -> bool:
return df is None or df['validated'].all()
@property
def branch_flows(self) -> OptionalDf:
"""
Validation results for branch flows.
"""
return self._branch_flows
@property
def buses(self) -> OptionalDf:
"""
Validation results for buses.
"""
return self._buses
@property
def generators(self) -> OptionalDf:
"""
Validation results for generators.
"""
return self._generators
@property
def svcs(self) -> OptionalDf:
"""
Validation results for SVCs.
"""
return self._svcs
@property
def shunts(self) -> OptionalDf:
"""
Validation results for shunts.
"""
return self._shunts
@property
def twts(self) -> OptionalDf:
"""
Validation results for two winding transformers.
"""
return self._twts
@property
def t3wts(self) -> OptionalDf:
"""
Validation results for three winding transformers.
"""
return self._t3wts
@property
def valid(self) -> bool:
"""
True if all checked data is valid.
"""
return self._valid