Skip to content

Commit 159bcb3

Browse files
committed
New test
1 parent 2a469f1 commit 159bcb3

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

tests/test_component.py

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,47 @@ def test_previous_states_with_multiple_flows(self, basic_flow_system_linopy_coor
349349
+ 1e-5,
350350
)
351351

352+
def test_previous_states_with_multiple_flows_2(self, basic_flow_system_linopy_coords, coords_config):
353+
"""Test that flow model constraints are correctly generated."""
354+
flow_system, coords_config = basic_flow_system_linopy_coords, coords_config
355+
356+
ub_out2 = np.linspace(1, 1.5, 10).round(2)
357+
inputs = [
358+
fx.Flow(
359+
'In1',
360+
'Fernwärme',
361+
relative_minimum=np.ones(10) * 0.1,
362+
size=100,
363+
previous_flow_rate=np.array([0, 0, 1e-6, 1e-5, 1e-4, 3, 4]),
364+
on_off_parameters=fx.OnOffParameters(consecutive_on_hours_min=3),
365+
),
366+
]
367+
outputs = [
368+
fx.Flow('Out1', 'Gas', relative_minimum=np.ones(10) * 0.2, size=200, previous_flow_rate=[3, 4, 5]),
369+
fx.Flow(
370+
'Out2',
371+
'Gas',
372+
relative_minimum=np.ones(10) * 0.3,
373+
relative_maximum=ub_out2,
374+
size=300,
375+
previous_flow_rate=20,
376+
),
377+
]
378+
comp = flixopt.elements.Component(
379+
'TestComponent',
380+
inputs=inputs,
381+
outputs=outputs,
382+
on_off_parameters=fx.OnOffParameters(consecutive_on_hours_min=3),
383+
)
384+
flow_system.add_elements(comp)
385+
create_linopy_model(flow_system)
386+
387+
assert_conequal(
388+
comp.submodel.constraints['TestComponent|consecutive_on_hours|initial'],
389+
comp.submodel.variables['TestComponent|consecutive_on_hours'].isel(time=0)
390+
== comp.submodel.variables['TestComponent|on'].isel(time=0) * 5,
391+
)
392+
352393

353394
class TestTransmissionModel:
354395
def test_transmission_basic(self, basic_flow_system, highs_solver):

0 commit comments

Comments
 (0)