Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Het genereren van de linkjes met D-HyDAMO gaat met de functies links1d2d_add_links_1d_to_2d, links1d2d_add_links_2d_to_1d_embedded en links1d2d_add_links_2d_to_1d_lateral. De eerste functie probeert links te leggen vanuit de 1D rekenpunten naar de 2D cellen; de tweede en derde functie doen dat omgekeerd. Deze functies zijn in principe in combinatie te gebruiken. Voor ‘Embedded’ en “Lateral” links zou dat wel logisch zijn. Deze combinaties zijn echter nog niet grondig getest.

Hieronder geven we meer infomatie over de mogelijkheden van elk van de drie functies, en geven we fictieve voorbeelden van het gebruik ervan.

...

Code Block
# generate 1d
branch = LineString([[-9, -3], [0, 4]])
branchids = mesh.mesh1d_add_branch_from_linestring(network, branch, node_distance=1)
# Generate 2d
areas = MultiPolygon([box(-8, -10, 8, -2), box(-8, 2, 8, 10)])
hole = box(-6, -6, 6, -4)
mesh.mesh2d_add_rectilinear(network, areas, dx=0.5, dy=0.5)
mesh.mesh2d_clip(network, hole)
within = box(-10, -10, 12, 10).difference(
     LineString([[-2, -10], [2, 10]]).buffer(2)
)
mesh.links1d2d_add_links_2d_to_1d_lateral(network, within=within)

Via onderstaande functie kunnen links die zijn aangemaakt binnen een bepaald polygon weer worden verwijderd.

Code Block
def links1d2d_remove_within(
    network: Network, within: Union[Polygon, MultiPolygon]
) -> None:
    """Remove 1d2d links within a given polygon or multipolygon

    Args:
        network (Network): The network from which the links are removed
        within (Union[Polygon, MultiPolygon]): The polygon that indicates which to remove
    """

1d2d links die zijn aangemaakt op een uiteinde van het netwerk moeten ook worden verwijderd omdat anders randvoorwaarden op die punten niet goed werken,. Gebruik darvoor onderstaande functie.

Code Block
def links1d2d_remove_1d_endpoints(network: Network) -> None:
    """Method to remove 1d2d links from end points of the 1d mesh. The GUI
    will interpret every endpoint as a boundary conditions, which does not
    allow a 1d 2d link at the same node. To avoid problems with this, use
    this metho