I think this is caused by the fact that the loopy changes have been merged in tsfc but not in complex. The right answer to this is to merge master into complex. A plausible workaround is to checkout tsfc commit efc06ae45ec71aaa2742c253f339f5fade97f85d,
which is the last commit before loopy landed.
Regards,
David
From:
<firedrake-bounces@imperial.ac.uk> on behalf of "Shipton, Jemma" <j.shipton@imperial.ac.uk>
Date: Tuesday, 4 June 2019 at 22:01
To: firedrake <firedrake@imperial.ac.uk>
Subject: Re: [firedrake] complex problem with sphere meshes
Just to confirm - I did follow the instructions on the website so I should have the right branches of tsfc and PyOP2.
J
From: firedrake-bounces@imperial.ac.uk <firedrake-bounces@imperial.ac.uk>
on behalf of Shipton, Jemma <j.shipton@imperial.ac.uk>
Sent: 04 June 2019 21:47
To: firedrake
Subject: [firedrake] complex problem with sphere meshes
Hi All,
The following used to work on the complex branch but now throws an error....
mesh=IcosahedralSphereMesh(1,
3)
x=SpatialCoordinate(mesh)
mesh.init_cell_orientations(x)
The error is:
File "/Users/jshipton/complex-firedrake/src/firedrake/firedrake/mesh.py", line 1216, in init_cell_orientations
f.interpolate(ufl.dot(expr, ufl.cross(ReferenceGrad(x)[:, 0], ReferenceGrad(x)[:, 1])))
File "/Users/jshipton/complex-firedrake/src/firedrake/firedrake/function.py", line 334, in interpolate
return interpolation.interpolate(expression, self, subset=subset)
File "/Users/jshipton/complex-firedrake/src/firedrake/firedrake/interpolation.py", line 37, in interpolate
return Interpolator(expr, V, subset=subset).interpolate()
File "/Users/jshipton/complex-firedrake/src/firedrake/firedrake/interpolation.py", line 57, in __init__
self.callable = make_interpolator(expr, V, subset)
File "/Users/jshipton/complex-firedrake/src/firedrake/firedrake/interpolation.py", line 112, in make_interpolator
loops.extend(_interpolator(V, f.dat, expr, subset))
File "/Users/jshipton/complex-firedrake/src/firedrake/firedrake/interpolation.py", line 171, in _interpolator
ast, oriented, needs_cell_sizes, coefficients = compile_ufl_kernel(expr, to_pts, coords, parameters=parameters)
ValueError: too many values to unpack (expected 4)
Any help would be appreciated!
Thanks!
Jemma