Dear all,

I have had an error while trying to solve the Helmholtz eqn on Icosahedral grids. The code used is:

>>> from firedrake import *
>>> m = IcosahedralSphereMesh(radius=3, refinement_level=3)
>>> mesh = ExtrudedMesh(m, 5, layer_height=0.1, extrusion_type='radial')
>>> horiz_elt = FiniteElement("CG", triangle, 1)
>>> vert_elt = FiniteElement("CG", interval, 1)
>>> elt = OuterProductElement(horiz_elt, vert_elt)
>>> V = FunctionSpace(mesh, elt)
>>> u = TrialFunction(V)
>>> v = TestFunction(V)
>>> f = Function(V)
>>> f.interpolate(Expression("(2*x[0])+(sin(3*x[1]))+(cos(0.5*x[2]))"))
Coefficient(FunctionSpace(Mesh(OuterProductVectorElement(OuterProductElement(FiniteElement('Lagrange', triangle, 1), FiniteElement('Lagrange', interval, 1), OuterProductCell(triangle, interval)), dim=3), 4), OuterProductElement(FiniteElement('Lagrange', triangle, 1), FiniteElement('Lagrange', interval, 1), OuterProductCell(triangle, interval))), 3)
>>> a = (dot(grad(v), grad(u)) + v * u) * dx
>>> L = f * v * dx
>>> solve(a == L, u, solver_parameters={'ksp_type': 'cg'})
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/master/firedrake/lib/python2.7/site-packages/firedrake/solving.py", line 120, in solve
    _solve_varproblem(*args, **kwargs)
  File "/Users/master/firedrake/lib/python2.7/site-packages/firedrake/solving.py", line 132, in _solve_varproblem
    nest = _extract_args(*args, **kwargs)
  File "/Users/master/firedrake/lib/python2.7/site-packages/firedrake/solving.py", line 259, in _extract_args
    u = _extract_u(args[1])
  File "/Users/master/firedrake/lib/python2.7/site-packages/firedrake/solving.py", line 299, in _extract_u
    raise RuntimeError("Expecting second argument to be a Coefficient")
RuntimeError: Expecting second argument to be a Coefficient

I will be glad to get help on how to fix this, and any other advice on implementation of icosahedral grids.

Receive thanks in advance.

David