diff --git a/ufl/algorithms/apply_derivatives.py b/ufl/algorithms/apply_derivatives.py index 848c405f6..c624fb6a5 100644 --- a/ufl/algorithms/apply_derivatives.py +++ b/ufl/algorithms/apply_derivatives.py @@ -22,6 +22,7 @@ ConstantValue, ExprList, ExprMapping, + FacetNormal, FloatValue, FormArgument, Grad, @@ -657,7 +658,7 @@ def reference_grad(self, o): f = o.ufl_operands[0] valid_operand = f._ufl_is_in_reference_frame_ or isinstance( - f, (JacobianInverse, SpatialCoordinate, Jacobian, JacobianDeterminant) + f, (JacobianInverse, SpatialCoordinate, Jacobian, JacobianDeterminant, FacetNormal) ) if not valid_operand: raise ValueError("ReferenceGrad can only wrap a reference frame type!")