Deltares / xugrid

Xarray and unstructured grids
https://deltares.github.io/xugrid/
MIT License
61 stars 8 forks source link

Voronoi tesselation: add option to remove short edges #144

Open Huite opened 1 year ago

Huite commented 1 year ago

In case of using a circumcenter voronoi tesselation, the cell-to-cell connections will nicely form orthogonal intersections with the cell faces. However, it may also generate a lot of very short edges. For MODFLOW 6, we'd expect this to result in a poor cell-to-cell estimate of the flow, since MODFLOW assumes a normal line to the face center. In general, this shouldn't give to much trouble, since such a short edge will have a very small cross-sectional area and so the flow should be dominated by the other connections.

But, it's rather easy to delete these edges by checking the length of each edge, and collapsing the nodes if the edge length falls below a certain value (a fraction of the face perimeter or something). This might would also be an alternative solution to d079cca.

Huite commented 1 week ago

This could be a general option instead on any Ugrid2d topology, contract_short_edges or something.

It's not trivial though: many short edges should not all be removed, they should be merged or something (along with the faces).