New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add reactive_power_sigma attribute #409
Conversation
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
26f9174
to
89a19a4
Compare
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <martijn.govers@alliander.com>
…erGridModel/power-grid-model into feature/reactive-power-sigma
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <martijn.govers@alliander.com>
…erGridModel/power-grid-model into feature/reactive-power-sigma
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
@TonyXiang8787 this is ready for review. Remaining sonar cloud code smells are not caused by this PR |
power_grid_model_c/power_grid_model/include/power_grid_model/calculation_parameters.hpp
Show resolved
Hide resolved
power_grid_model_c/power_grid_model/include/power_grid_model/component/sensor.hpp
Outdated
Show resolved
Hide resolved
power_grid_model_c/power_grid_model/include/power_grid_model/three_phase_tensor.hpp
Outdated
Show resolved
Hide resolved
...model_c/power_grid_model/include/power_grid_model/math_solver/iterative_linear_se_solver.hpp
Outdated
Show resolved
Hide resolved
...model_c/power_grid_model/include/power_grid_model/math_solver/iterative_linear_se_solver.hpp
Outdated
Show resolved
Hide resolved
...model_c/power_grid_model/include/power_grid_model/math_solver/iterative_linear_se_solver.hpp
Outdated
Show resolved
Hide resolved
...model_c/power_grid_model/include/power_grid_model/math_solver/iterative_linear_se_solver.hpp
Outdated
Show resolved
Hide resolved
...model_c/power_grid_model/include/power_grid_model/math_solver/iterative_linear_se_solver.hpp
Outdated
Show resolved
Hide resolved
...model_c/power_grid_model/include/power_grid_model/math_solver/iterative_linear_se_solver.hpp
Show resolved
Hide resolved
power_grid_model_c/power_grid_model/include/power_grid_model/component/power_sensor.hpp
Show resolved
Hide resolved
power_grid_model_c/power_grid_model/include/power_grid_model/component/power_sensor.hpp
Show resolved
Hide resolved
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
216c34a
to
6ff436e
Compare
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
Signed-off-by: Martijn Govers <Martijn.Govers@Alliander.com>
remaining code smells either already on main or related to equivalent on main (see e.g. https://sonarcloud.io/project/issues?resolved=false&rules=cpp%3AS1709&id=PowerGridModel_power-grid-model&open=AYm75yP7TgVATTPnBGJv ) |
@TonyXiang8787 i think i resolved all comments and it's ready for review again |
Kudos, SonarCloud Quality Gate passed! |
Related to #237
Related to #369
Changes
RealValue
attributesp_sigma
andq_sigma
to power sensor input and update. These are optional attributes.p_sigma
andq_sigma
are bothNaN
, thepower_sigma
is the apparent power sigma and is required (current behaviour) for state estimation.p_sigma
andq_sigma
are both notNaN
,p_sigma
is the active power sigma andq_sigma
is the reactive power sigma.p_sigma
andq_sigma
, just like how it is not supported to only provide 1 of three phases of an asymmetricRealValue
. The behavior is undefined in the core. In the validation function in Python side we raise an error.calculation_parameters.hpp
withPowerSensorCalcParam
,VoltageSensorCalcParam
, as the calculation parameter output of relevant sensor components. InVoltageSensorCalcParam
is the same as oldSensorCalcParam
.PowerSensorCalcParam
should havevariance_p
andvariance_q
, these are alsoRealValue
. So it is three phase for asymmetric calculation.power_sigma
,p_sigma
andq_sigma
as member data. Store them as per unit value as it is now. Note: the base power forsym_power_sensor
andasym_power_sensor
is different. Change the way to generatePowerSensorCalcParam
:p_sigma
isNaN
: Setvariance_p = variance_q = power_sigma**2 / 2
sym_power_sensor
andasym_power_sensor
),variance_p = variance_q = power_sigma**2 / 2 * [1, 1, 1]
p_sigma
is notNaN
: Setvariance_p = p_sigma**2
andvariance_q = q_sigma**2
sym_power_sensor
,variance_p = p_sigma**2 * [1, 1, 1]
, same as Q.asym_power_sensor
,variance_p = mean(p_sigma**2)
, same as Q.p_sigma
is provided andq_sigma
is not, or vice versa. The behaviour is undefined. That's why we only checkp_sigma
in the above two cases.p_sigma
orq_sigma
isinf
, set bothvariance_p
andvariance_q
toinf
.p_sigma
is not provided andpower_sigma
isinf
, set bothvariance_p
andvariance_q
toinf
.MeasuredValue
logic, to split voltage and power measurement from one singlemain_value
. For power measurement, aggregate and deaggregate P/Q separately based onvariance_p
andvariance_q
.1/(variance_p + variance_q)
. For asymmetric calculation, this is a diagonal matrix.