Skip to content

Commit

Permalink
Indicate that the unstable model is invalid
Browse files Browse the repository at this point in the history
  • Loading branch information
SouthEndMusic committed Apr 29, 2024
1 parent 90abb12 commit 37c0d6b
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 27 deletions.
5 changes: 3 additions & 2 deletions python/ribasim_testmodels/ribasim_testmodels/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -48,13 +48,14 @@
invalid_edge_types_model,
invalid_fractional_flow_model,
invalid_qh_model,
invalid_unstable_model,
)
from ribasim_testmodels.pid_control import (
discrete_control_of_pid_control_model,
pid_control_model,
)
from ribasim_testmodels.time import flow_boundary_time_model
from ribasim_testmodels.trivial import trivial_model, unstable_model
from ribasim_testmodels.trivial import trivial_model
from ribasim_testmodels.two_basin import two_basin_model

__all__ = [
Expand All @@ -74,6 +75,7 @@
"invalid_edge_types_model",
"invalid_fractional_flow_model",
"invalid_qh_model",
"invalid_unstable_model",
"leaky_bucket_model",
"level_boundary_condition_model",
"level_demand_model",
Expand All @@ -97,7 +99,6 @@
"tabulated_rating_curve_model",
"trivial_model",
"two_basin_model",
"unstable_model",
"user_demand_model",
]

Expand Down
24 changes: 23 additions & 1 deletion python/ribasim_testmodels/ribasim_testmodels/invalid.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from typing import Any

import pandas as pd
from ribasim.config import Node
from ribasim.config import Node, Solver
from ribasim.input_base import TableModel
from ribasim.model import Model
from ribasim.nodes import (
Expand Down Expand Up @@ -219,3 +219,25 @@ def invalid_edge_types_model() -> Model:
model.edge.df["edge_type"] = ["foo", "bar"]

return model


def invalid_unstable_model() -> Model:
"""Model with an extremely quickly emptying basin."""

model = Model(
starttime="2020-01-01",
endtime="2021-01-01",
crs="EPSG:28992",
solver=Solver(dtmin=1.0),
)

model.basin.add(
Node(1, Point(0, 0)),
[basin.Profile(area=1000.0, level=[0.0, 1.0]), basin.State(level=[1.0])],
)
model.pump.add(Node(2, Point(0, 1)), [pump.Static(flow_rate=[1e15])])
model.terminal.add(Node(3, Point(0, 2)))

model.edge.add(model.basin[1], model.pump[2])
model.edge.add(model.pump[2], model.terminal[3])
return model
26 changes: 2 additions & 24 deletions python/ribasim_testmodels/ribasim_testmodels/trivial.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from ribasim.config import Node, Results, Solver
from ribasim.config import Node, Results
from ribasim.model import Model
from ribasim.nodes import basin, pump, tabulated_rating_curve
from ribasim.nodes import basin, tabulated_rating_curve
from shapely.geometry import Point


Expand Down Expand Up @@ -58,25 +58,3 @@ def trivial_model() -> Model:
)

return model


def unstable_model() -> Model:
"""Model with an extremely quickly emptying basin."""

model = Model(
starttime="2020-01-01",
endtime="2021-01-01",
crs="EPSG:28992",
solver=Solver(dtmin=1.0),
)

model.basin.add(
Node(1, Point(0, 0)),
[basin.Profile(area=1000.0, level=[0.0, 1.0]), basin.State(level=[1.0])],
)
model.pump.add(Node(2, Point(0, 1)), [pump.Static(flow_rate=[1e15])])
model.terminal.add(Node(3, Point(0, 2)))

model.edge.add(model.basin[1], model.pump[2])
model.edge.add(model.pump[2], model.terminal[3])
return model

0 comments on commit 37c0d6b

Please sign in to comment.