Skip to content

Commit 00af0eb

Browse files
committed
fixing a bug in storage units
Signed-off-by: DONNOT Benjamin <benjamin.donnot@rte-france.com>
1 parent 0d26c76 commit 00af0eb

4 files changed

Lines changed: 16 additions & 1 deletion

File tree

lightsim2grid/lightSimBackend.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1520,7 +1520,8 @@ def runpf(self, is_dc : bool=False) -> Tuple[bool, Union[Exception, None]]:
15201520
raise BackendError(f"At least one generator is disconnected (check gen {gen_disco})")
15211521

15221522
if self.__has_storage:
1523-
sto_active = (np.abs(self.storage_p) > 0.)
1523+
# TODO speed optim here: self._grid.get_storage_target_p() is not "cached"
1524+
sto_active = (np.abs(self._grid.get_storage_target_p()) > 0.)
15241525
sto_act_disco = (((~np.isfinite(self.storage_v)) & sto_active).any() or
15251526
((self.storage_v <= 0.) & sto_active).any()
15261527
)

src/GridModel.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,12 @@ class GridModel : public GenericContainer
545545

546546
Eigen::Ref<const IntVect> get_all_shunt_buses() const {return shunts_.get_buses();}
547547

548+
Eigen::Ref<const RealVect> get_shunt_target_p() const {return shunts_.get_target_p();}
549+
Eigen::Ref<const RealVect> get_load_target_p() const {return loads_.get_target_p();}
550+
Eigen::Ref<const RealVect> get_gen_target_p() const {return generators_.get_target_p();}
551+
Eigen::Ref<const RealVect> get_sgen_target_p() const {return sgens_.get_target_p();}
552+
Eigen::Ref<const RealVect> get_storage_target_p() const {return storages_.get_target_p();}
553+
548554
// complete results (with theta)
549555
tuple4d get_loads_res_full() const {return loads_.get_res_full();}
550556
tuple4d get_shunts_res_full() const {return shunts_.get_res_full();}

src/element_container/OneSideContainer.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ class OneSideContainer : public GenericContainer
6060
int get_bus(int el_id) {return _get_bus(el_id, status_, bus_id_);}
6161
Eigen::Ref<const IntVect> get_buses() const {return bus_id_;}
6262

63+
Eigen::Ref<const RealVect> get_target_p() const {return p_mw_;}
6364
tuple3d get_res() const {return tuple3d(res_p_, res_q_, res_v_);}
6465
tuple4d get_res_full() const {return tuple4d(res_p_, res_q_, res_v_, res_theta_);}
6566

src/main.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -916,6 +916,13 @@ PYBIND11_MODULE(lightsim2grid_cpp, m)
916916
.def("get_sgens_res_full", &GridModel::get_sgens_res_full, DocGridModel::_internal_do_not_use.c_str())
917917
.def("get_dclineor_res_full", &GridModel::get_dclineor_res_full, DocGridModel::_internal_do_not_use.c_str())
918918
.def("get_dclineex_res_full", &GridModel::get_dclineex_res_full, DocGridModel::_internal_do_not_use.c_str())
919+
920+
.def("get_shunt_target_p", &GridModel::get_shunt_target_p, DocGridModel::_internal_do_not_use.c_str())
921+
.def("get_load_target_p", &GridModel::get_load_target_p, DocGridModel::_internal_do_not_use.c_str())
922+
.def("get_gen_target_p", &GridModel::get_gen_target_p, DocGridModel::_internal_do_not_use.c_str())
923+
.def("get_sgen_target_p", &GridModel::get_sgen_target_p, DocGridModel::_internal_do_not_use.c_str())
924+
.def("get_storage_target_p", &GridModel::get_storage_target_p, DocGridModel::_internal_do_not_use.c_str())
925+
919926

920927
// do something with the grid
921928
.def("deactivate_result_computation", &GridModel::deactivate_result_computation, DocGridModel::deactivate_result_computation.c_str())

0 commit comments

Comments
 (0)