diff --git a/cpp/src/bindings.cpp b/cpp/src/bindings.cpp index 01ac372aac..6b83c94b84 100644 --- a/cpp/src/bindings.cpp +++ b/cpp/src/bindings.cpp @@ -789,6 +789,7 @@ PYBIND11_MODULE(_pypowsybl, m) { .value("BRANCH_ACTIVE_POWER_3",sensitivity_function_type::BRANCH_ACTIVE_POWER_3) .value("BRANCH_CURRENT_3",sensitivity_function_type::BRANCH_CURRENT_3) .value("BRANCH_REACTIVE_POWER_3",sensitivity_function_type::BRANCH_REACTIVE_POWER_3) + .value("BUS_REACTIVE_POWER",sensitivity_function_type::BUS_REACTIVE_POWER) .value("BUS_VOLTAGE",sensitivity_function_type::BUS_VOLTAGE); py::enum_(m, "SensitivityVariableType") diff --git a/cpp/src/pypowsybl-api.h b/cpp/src/pypowsybl-api.h index 396499969d..a23a820fb1 100644 --- a/cpp/src/pypowsybl-api.h +++ b/cpp/src/pypowsybl-api.h @@ -218,6 +218,7 @@ typedef enum { BRANCH_ACTIVE_POWER_3, BRANCH_CURRENT_3, BRANCH_REACTIVE_POWER_3, + BUS_REACTIVE_POWER, BUS_VOLTAGE, } sensitivity_function_type; diff --git a/docs/user_guide/sensitivity.rst b/docs/user_guide/sensitivity.rst index 422de18109..ba08f0f487 100644 --- a/docs/user_guide/sensitivity.rst +++ b/docs/user_guide/sensitivity.rst @@ -437,6 +437,15 @@ Here is a table summarizing the possible functions and variables and if it is su - N/A - N/A - N/A + * - BUS_REACTIVE_POWER + - N/A + - AC + - N/A + - AC + - N/A + - N/A + - N/A + - N/A A special value of `SensitivityVariableType` `AUTO_DETECT` allows to auto detect each of the variable type using its ID. It is important to notice that in this case, not all type of sensitivity variable are usable. For instance when an diff --git a/java/src/main/java/com/powsybl/python/commons/PyPowsyblApiHeader.java b/java/src/main/java/com/powsybl/python/commons/PyPowsyblApiHeader.java index 66933b968d..e428da15a2 100644 --- a/java/src/main/java/com/powsybl/python/commons/PyPowsyblApiHeader.java +++ b/java/src/main/java/com/powsybl/python/commons/PyPowsyblApiHeader.java @@ -703,6 +703,7 @@ public enum SensitivityFunctionType { BRANCH_ACTIVE_POWER_3, BRANCH_CURRENT_3, BRANCH_REACTIVE_POWER_3, + BUS_REACTIVE_POWER, BUS_VOLTAGE; @CEnumValue diff --git a/java/src/main/java/com/powsybl/python/commons/Util.java b/java/src/main/java/com/powsybl/python/commons/Util.java index 0ccb0bff80..5e4ba8ea1f 100644 --- a/java/src/main/java/com/powsybl/python/commons/Util.java +++ b/java/src/main/java/com/powsybl/python/commons/Util.java @@ -264,6 +264,7 @@ public static SensitivityFunctionType convert(PyPowsyblApiHeader.SensitivityFunc case BRANCH_CURRENT_3 -> SensitivityFunctionType.BRANCH_CURRENT_3; case BRANCH_REACTIVE_POWER_3 -> SensitivityFunctionType.BRANCH_REACTIVE_POWER_3; case BUS_VOLTAGE -> SensitivityFunctionType.BUS_VOLTAGE; + case BUS_REACTIVE_POWER -> SensitivityFunctionType.BUS_REACTIVE_POWER; }; } diff --git a/pypowsybl/_pypowsybl.pyi b/pypowsybl/_pypowsybl.pyi index adbac56c20..cd0e277976 100644 --- a/pypowsybl/_pypowsybl.pyi +++ b/pypowsybl/_pypowsybl.pyi @@ -67,6 +67,7 @@ class SensitivityFunctionType: BRANCH_ACTIVE_POWER_3: ClassVar[SensitivityFunctionType] = ... BRANCH_CURRENT_3: ClassVar[SensitivityFunctionType] = ... BRANCH_REACTIVE_POWER_3: ClassVar[SensitivityFunctionType] = ... + BUS_REACTIVE_POWER: ClassVar[SensitivityFunctionType] = ... BUS_VOLTAGE: ClassVar[SensitivityFunctionType] = ... def __init__(self, arg0: int) -> None: ... def __eq__(self, arg0: object) -> bool: ... diff --git a/pypowsybl/sensitivity/impl/sensitivity.py b/pypowsybl/sensitivity/impl/sensitivity.py index 7986914fe7..2d2686dc83 100644 --- a/pypowsybl/sensitivity/impl/sensitivity.py +++ b/pypowsybl/sensitivity/impl/sensitivity.py @@ -156,6 +156,8 @@ def add_factor_matrix(self, functions_ids: List[str], variables_ids: List[str], - BRANCH_ACTIVE_POWER_3 - BRANCH_CURRENT_3 - BRANCH_REACTIVE_POWER_3 + - BUS_REACTIVE_POWER + - BUS_VOLTAGE sensitivity_variable_type can be: - INJECTION_ACTIVE_POWER