Coverage for src/distopf/pyomo_models/lindist_loads.py: 100%

25 statements  

« prev     ^ index     » next       coverage.py v7.10.6, created at 2025-11-13 17:34 -0800

1from distopf.pyomo_models.lindist import create_lindist_model 

2from distopf.importer import Case 

3from distopf.pyomo_models import constraints 

4 

5class LinDistPyoMPL(): 

6 def __init__(self, case: Case): 

7 model = create_lindist_model(case) 

8 constraints.add_p_flow_constraints(model) 

9 constraints.add_q_flow_constraints(model) 

10 # Node Voltages 

11 constraints.add_voltage_limits(model) 

12 constraints.add_voltage_drop_constraints(model) 

13 constraints.add_swing_bus_constraints(model) 

14 # Loads, Capacitors and Regulators 

15 constraints.add_cvr_load_constraints(model) 

16 constraints.add_capacitor_constraints(model) 

17 constraints.add_regulator_constraints(model) 

18 # Generators 

19 constraints.add_generator_limits(model) 

20 constraints.add_generator_constant_p_constraints_q_control(model) 

21 constraints.add_generator_constant_q_constraints_p_control(model) 

22 # constraints.add_circular_generator_constraints_pq_control(model) 

23 constraints.add_octagonal_inverter_constraints_pq_control(model) 

24 # Battery models 

25 constraints.add_battery_constant_q_constraints_p_control(model) 

26 constraints.add_battery_energy_constraints(model) 

27 constraints.add_battery_net_p_bat_equal_phase_constraints(model) 

28 constraints.add_battery_power_limits(model) 

29 constraints.add_battery_soc_limits(model) 

30 self.model = model 

31 self.case = case