Skip to content

Commit

Permalink
MOre ridge->edge
Browse files Browse the repository at this point in the history
  • Loading branch information
jorgensd committed Jan 14, 2025
1 parent 957469d commit 7d08d46
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions ffcx/codegeneration/geometry.py
Original file line number Diff line number Diff line change
Expand Up @@ -38,18 +38,18 @@ def facet_ridge_vertices(tablename, cellname):
"""Write facet ridge vertices."""
celltype = getattr(basix.CellType, cellname)
topology = basix.topology(celltype)
triangle_ridges = basix.topology(basix.CellType.triangle)[1]
quadrilateral_ridges = basix.topology(basix.CellType.quadrilateral)[1]
triangle_edges = basix.topology(basix.CellType.triangle)[1]
quadrilateral_edges = basix.topology(basix.CellType.quadrilateral)[1]

if len(topology) != 4:
raise ValueError("Can only get facet ridges for 3D cells.")

ridge_vertices = []
for facet in topology[-2]:
if len(facet) == 3:
ridge_vertices += [[[facet[i] for i in ridge] for ridge in triangle_ridges]]
ridge_vertices += [[[facet[i] for i in ridge] for ridge in triangle_edges]]
elif len(facet) == 4:
ridge_vertices += [[[facet[i] for i in ridge] for ridge in quadrilateral_ridges]]
ridge_vertices += [[[facet[i] for i in ridge] for ridge in quadrilateral_edges]]
else:
raise ValueError("Only triangular and quadrilateral faces supported.")

Expand Down Expand Up @@ -109,19 +109,19 @@ def reference_facet_edge_vectors(tablename, cellname):
celltype = getattr(basix.CellType, cellname)
topology = basix.topology(celltype)
geometry = basix.geometry(celltype)
triangle_ridges = basix.topology(basix.CellType.triangle)[1]
quadrilateral_ridges = basix.topology(basix.CellType.quadrilateral)[1]
triangle_edges = basix.topology(basix.CellType.triangle)[1]
quadrilateral_edges = basix.topology(basix.CellType.quadrilateral)[1]

if len(topology) != 4:
raise ValueError("Can only get facet ridges for 3D cells.")

edge_vectors = []
for facet in topology[-2]:
if len(facet) == 3:
edge_vectors += [geometry[facet[j]] - geometry[facet[i]] for i, j in triangle_ridges]
edge_vectors += [geometry[facet[j]] - geometry[facet[i]] for i, j in triangle_edges]
elif len(facet) == 4:
edge_vectors += [
geometry[facet[j]] - geometry[facet[i]] for i, j in quadrilateral_ridges
geometry[facet[j]] - geometry[facet[i]] for i, j in quadrilateral_edges
]
else:
raise ValueError("Only triangular and quadrilateral faces supported.")
Expand Down

0 comments on commit 7d08d46

Please sign in to comment.