Re: [firedrake] complex problem with sphere meshes
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 Ah, I see it's not the sphere bit that's the problem - it's the Interpolator. 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
Thanks David. Unfortunately checking out the tsfc commit throws a different error and merging from master into complex gives a ton of conflicts that I'm not sure I am able to work through... I'll see... J ________________________________ From: Ham, David A Sent: 05 June 2019 10:05 To: Shipton, Jemma; firedrake Subject: Re: [firedrake] complex problem with sphere meshes 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 Ah, I see it's not the sphere bit that's the problem - it's the Interpolator. 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
participants (2)
- 
                
                Ham, David A
- 
                
                Shipton, Jemma