Skip to content

Commit

Permalink
Use subdegree instead of superdegree to check cell bendy-ness (FEniCS…
Browse files Browse the repository at this point in the history
…#295)

The reason subdegree is right is that you care about whether the
edges are straight, not whether there are any quadratic functions
on the interior.

See firedrakeproject/firedrake#3612.

Co-authored-by: Matthew Scroggs <[email protected]>
  • Loading branch information
connorjward and mscroggs authored Jul 4, 2024
1 parent 7bfef95 commit e69de17
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions ufl/algorithms/apply_geometry_lowering.py
Original file line number Diff line number Diff line change
Expand Up @@ -304,7 +304,7 @@ def _reduce_cell_edge_length(self, o, reduction_op):

domain = extract_unique_domain(o)

if domain.ufl_coordinate_element().embedded_superdegree > 1:
if domain.ufl_coordinate_element().embedded_subdegree > 1:
# Don't lower bendy cells, instead leave it to form compiler
warnings.warn("Only know how to compute cell edge lengths of P1 or Q1 cell.")
return o
Expand All @@ -329,7 +329,7 @@ def cell_diameter(self, o):

domain = extract_unique_domain(o)

if domain.ufl_coordinate_element().embedded_superdegree > 1:
if domain.ufl_coordinate_element().embedded_subdegree > 1:
# Don't lower bendy cells, instead leave it to form compiler
warnings.warn("Only know how to compute cell diameter of P1 or Q1 cell.")
return o
Expand Down Expand Up @@ -366,7 +366,7 @@ def _reduce_facet_edge_length(self, o, reduction_op):
if domain.ufl_cell().topological_dimension() < 3:
raise ValueError("Facet edge lengths only make sense for topological dimension >= 3.")

elif domain.ufl_coordinate_element().embedded_superdegree > 1:
elif domain.ufl_coordinate_element().embedded_subdegree > 1:
# Don't lower bendy cells, instead leave it to form compiler
warnings.warn("Only know how to compute facet edge lengths of P1 or Q1 cell.")
return o
Expand Down

0 comments on commit e69de17

Please sign in to comment.