Dear Firedrakers, I've encountered an issue in my code where it won't allow me to interpolate anything containing a reference to a defined FacetNormal onto a Function. Here is a snippet of code where I purposefully tried to put the bare minimum required to get the error: H1 = VectorFunctionSpace(mesh,'CG',1,5) x0,x1,x2 = SpatialCoordinate(mesh) nu = FacetNormal(mesh) h = interpolate(as_vector([nu[0],0,0,0,0]),H1) If I try to run this, I get the following traceback: File "/home/andrewh/firedrake/firedrake/src/firedrake/firedrake/function.py", line 353, in interpolate return interpolation.interpolate(expression, self, subset=subset) File "/home/andrewh/firedrake/firedrake/src/firedrake/firedrake/interpolation.py", line 36, in interpolate return Interpolator(expr, V, subset=subset, access=access).interpolate() File "/home/andrewh/firedrake/firedrake/src/firedrake/firedrake/interpolation.py", line 58, in __init__ self.callable, arguments = make_interpolator(expr, V, subset, access) File "/home/andrewh/firedrake/firedrake/src/firedrake/firedrake/interpolation.py", line 163, in make_interpolator loops.extend(_interpolator(V, tensor, expr, subset, arguments, access)) File "</home/andrewh/firedrake/firedrake/lib/python3.6/site-packages/decorator.py:decorator-gen-22>", line 2, in _interpolator File "/home/andrewh/firedrake/firedrake/src/firedrake/firedrake/utils.py", line 64, in wrapper return f(*args, **kwargs) File "/home/andrewh/firedrake/firedrake/src/firedrake/firedrake/interpolation.py", line 214, in _interpolator ast, oriented, needs_cell_sizes, coefficients, _ = compile_ufl_kernel(expr, to_pts, coords, coffee=False) File "/home/andrewh/firedrake/firedrake/src/tsfc/tsfc/driver.py", line 338, in compile_expression_at_points ir, = fem.compile_ufl(expression, point_sum=False, **config) File "/home/andrewh/firedrake/firedrake/src/tsfc/tsfc/fem.py", line 645, in compile_ufl result = map_expr_dags(context.translator, expressions) File "/home/andrewh/firedrake/firedrake/src/ufl/ufl/corealg/map_dag.py", line 73, in map_expr_dags r = handlers[v._ufl_typecode_](v) File "/home/andrewh/firedrake/firedrake/src/tsfc/tsfc/ufl_utils.py", line 144, in _modified_terminal return self.modified_terminal(o) File "/home/andrewh/firedrake/firedrake/src/tsfc/tsfc/fem.py", line 303, in modified_terminal return translate(mt.terminal, mt, self.context) File "/usr/lib/python3.6/functools.py", line 807, in wrapper return dispatch(args[0].__class__)(*args, **kw) File "/home/andrewh/firedrake/firedrake/src/tsfc/tsfc/fem.py", line 379, in translate_reference_normal return ctx.entity_selector(callback, mt.restriction) File "/home/andrewh/firedrake/firedrake/src/tsfc/tsfc/fem.py", line 98, in entity_selector return callback(self.entity_ids[0]) File "/home/andrewh/firedrake/firedrake/src/tsfc/tsfc/fem.py", line 377, in callback n = ctx.fiat_cell.compute_reference_normal(ctx.integration_dim, facet_i) File "/home/andrewh/firedrake/firedrake/src/fiat/FIAT/reference_element.py", line 387, in compute_reference_normal assert facet_dim == self.get_spatial_dimension() - 1 AssertionError Anyone know what could be the problem here? Any help would be much appreciated. -AH