def test_constraint_currents_some_magnitudes(self) -> None: self._compare_array_dicts( acnsim.constraint_currents( self.sim, constraint_ids=["Primary A", "Secondary C"]), to_array_dict(self.edf_algo_true_analysis_dict[ "constraint_currents_some_linear"]), )
def test_constraint_currents_all_magnitudes(self) -> None: self._compare_array_dicts( acnsim.constraint_currents(self.sim), to_array_dict( self. edf_algo_true_analysis_dict["constraint_currents_all_linear"]), )
def add_acn_load(self, acn_bus): acn_experiment = self.acn_experiments[acn_bus] if self.unbalanced: ev_load = acnsim.constraint_currents(acn_experiment.sim, return_magnitudes=True) if acn_experiment.site == "jpl": for phase in "ABC": ev_load[f"Secondary {phase}"] = ( ev_load[ f"Third/Fourth Floor Transformer Secondary {phase}"] + ev_load[f"First Floor Transformer Secondary {phase}"]) voltages = { "Secondary A": 120, "Secondary B": 120 * np.exp(1j * np.deg2rad(-120)), "Secondary C": 120 * np.exp(1j * np.deg2rad(120)), } for phase in voltages: ev_load[phase] = voltages[phase] * np.conj( ev_load[phase]) / 1000 # horizon = ev_load["Secondary A"].shape[0] # baseline_load = ( # dss_ex.P[f"load_{acn_bus}"][:horizon] # + 1j * dss_ex.Q[f"load_{acn_bus}"][:horizon] # ) / 3 self.open_dss_experiment.add_load([f"load_{acn_bus}_a"], ev_load["Secondary A"], self.ev_load_offset) self.open_dss_experiment.add_load([f"load_{acn_bus}_b"], ev_load["Secondary B"], self.ev_load_offset) self.open_dss_experiment.add_load([f"load_{acn_bus}_c"], ev_load["Secondary C"], self.ev_load_offset) else: self.open_dss_experiment.add_load( [f"load_{acn_bus}"], acnsim.aggregate_power(acn_experiment.sim), self.ev_load_offset, )
def test_constraint_currents_some_magnitudes(self): self.compare_array_dicts( acnsim.constraint_currents(self.sim, constraint_ids=['Primary A', 'Secondary C']), to_array_dict( self.edf_algo_true_analysis_dict['constraint_currents_some_linear']))