Skip to content

Commit 5183e71

Browse files
committed
integrate with Josh's code
1 parent 6cd207a commit 5183e71

2 files changed

Lines changed: 12 additions & 20 deletions

File tree

flopy/plot/plotutil.py

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,12 @@
1919

2020
from ..datbase import DataInterface, DataType
2121
from ..utils import Util3d, import_optional_dependency
22-
from ..utils.faceutil import get_shared_face, get_shared_face_3d, is_vertical
22+
from ..utils.faceutil import (
23+
get_shared_face,
24+
get_shared_face_3d,
25+
get_shared_face_indices,
26+
is_vertical,
27+
)
2328

2429
warnings.simplefilter("ignore", RuntimeWarning)
2530

@@ -2968,7 +2973,6 @@ def hfb_data_to_linework(recarray, modelgrid):
29682973
-------
29692974
list : list of line segments
29702975
"""
2971-
iverts = modelgrid.iverts
29722976
verts = modelgrid.verts
29732977
nodes = []
29742978
if modelgrid.grid_type == "structured":
@@ -2996,23 +3000,13 @@ def hfb_data_to_linework(recarray, modelgrid):
29963000

29973001
shared_edges = []
29983002
for node0, node1 in nodes:
2999-
iv0 = iverts[node0]
3000-
iv1 = iverts[node1]
3001-
edges = []
3002-
for ix in range(len(iv0)):
3003-
edges.append(tuple(sorted((iv0[ix - 1], iv0[ix]))))
3004-
3005-
for ix in range(len(iv1)):
3006-
edge = tuple(sorted((iv1[ix - 1], iv1[ix])))
3007-
if edge in edges:
3008-
shared_edges.append(edge)
3009-
break
3010-
3011-
if not shared_edges:
3003+
edge = get_shared_face_indices(modelgrid, node0, node1)
3004+
if edge is None:
30123005
raise AssertionError(
30133006
f"No shared cell edges found. Cannot represent HFB "
30143007
f"for nodes {node0} and {node1}"
30153008
)
3009+
shared_edges.append(edge)
30163010

30173011
lines = []
30183012
for edge in shared_edges:

flopy/utils/faceutil.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,7 @@
77
from ..discretization.grid import Grid
88

99

10-
def _get_shared_face_indices(
11-
mg: Grid, node1: int, node2: int
12-
) -> tuple[int, int] | None:
10+
def get_shared_face_indices(mg: Grid, node1: int, node2: int) -> tuple[int, int] | None:
1311
"""
1412
Find a shared face between two cells and return its vertex indices.
1513
@@ -75,7 +73,7 @@ def get_shared_face(
7573

7674
node1 = mg.get_node([cellid1], node2d=True)[0]
7775
node2 = mg.get_node([cellid2], node2d=True)[0]
78-
if face := _get_shared_face_indices(mg, node1, node2):
76+
if face := get_shared_face_indices(mg, node1, node2):
7977
return [tuple(mg.verts[face[0]]), tuple(mg.verts[face[1]])]
8078
return None
8179

@@ -126,7 +124,7 @@ def get_shared_face_3d(
126124
# Find shared lateral face
127125
node1 = mg.get_node([cellid1], node2d=True)[0]
128126
node2 = mg.get_node([cellid2], node2d=True)[0]
129-
shared_lat_face = _get_shared_face_indices(mg, node1, node2)
127+
shared_lat_face = get_shared_face_indices(mg, node1, node2)
130128
if shared_lat_face is None:
131129
return None
132130

0 commit comments

Comments
 (0)