From 96494e51b80c471ef4ad7376af1fed1cd32a7a6f Mon Sep 17 00:00:00 2001 From: Cory Mikida <cmikida2@illinois.edu> Date: Fri, 15 May 2020 13:12:06 -0500 Subject: [PATCH] Cuts down new code by using axis list --- meshmode/mesh/generation.py | 57 +++++++++++-------------------------- 1 file changed, 17 insertions(+), 40 deletions(-) diff --git a/meshmode/mesh/generation.py b/meshmode/mesh/generation.py index 6fc9c8f5..335751e9 100644 --- a/meshmode/mesh/generation.py +++ b/meshmode/mesh/generation.py @@ -782,51 +782,28 @@ def generate_box_mesh(axis_coords, order=1, coord_dtype=np.float64, facial_adjacency_groups = None face_vertex_indices_to_tags = {} boundary_tags = list(face_to_boundary_tag.keys()) + axes = ["x", "y", "z"] + face_ids = [1, 0, 0] from meshmode.mesh import _compute_facial_adjacency_from_vertices if boundary_tags: for tag_idx, tag in enumerate(boundary_tags): # Need to map the correct face vertices to the boundary tags for face in face_to_boundary_tag[tag]: - if face == "-x": - face_id = 1 - dim_crit = 0 - node_crit = axis_coords[0][0] - elif face == "+x": - face_id = 1 - dim_crit = 0 - node_crit = axis_coords[0][-1] - elif face == "-y": - # Check to make sure we are at least 2D. - if dim < 2: - raise ValueError("Attempting to implement y- " - "boundary condition on 1D box mesh.") - face_id = 0 - dim_crit = 1 - node_crit = axis_coords[1][-1] - elif face == "+y": - # Check to make sure we are at least 2D. - if dim < 2: - raise ValueError("Attempting to implement y- " - "boundary condition on 1D box mesh.") - face_id = 0 - dim_crit = 1 - node_crit = axis_coords[1][0] - elif face == "-z": - # Check to make sure we are at least 3D. - if dim < 3: - raise ValueError("Attempting to implement z- " - "boundary condition on 2D box mesh.") - face_id = 0 - dim_crit = 2 - node_crit = axis_coords[2][-1] - elif face == "+z": - # Check to make sure we are at least 3D. - if dim < 3: - raise ValueError("Attempting to implement z- " - "boundary condition on 2D box mesh.") - face_id = 0 - dim_crit = 2 - node_crit = axis_coords[2][0] + for i_ax, axis in enumerate(axes): + if face == "-" + axis: + if dim < i_ax + 1: + raise ValueError("Boundary condition dimension " + "mismatch") + face_id = face_ids[i_ax] + dim_crit = i_ax + node_crit = axis_coords[i_ax][0] + elif face == "+" + axis: + if dim < i_ax + 1: + raise ValueError("Boundary condition dimension " + "mismatch") + face_id = face_ids[i_ax] + dim_crit = i_ax + node_crit = axis_coords[i_ax][-1] for ielem in range(0, grp.nelements): if grp.nodes[dim_crit][ielem][0] == node_crit: fvi = grp.vertex_indices[ielem, -- GitLab