Dear firedrakers,
do the hierarchical meshes and function spaces currently only work in 2+1 dimension and not for 1+1? If I run the code below it works for dimension=3, but if I replace this by dimension=2 it crashes with
[0]PETSC ERROR: DMPlexGetCellRefiner_Internal() line 6777 in /Users/eikemueller/PostDocBath/EllipticSolvers/petsc/src/dm/impls/plex/plexrefine.c
    Unknown dimension 1 for cell refiner
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD 
with errorcode 62.
NOTE: invoking MPI_ABORT causes Open MPI to kill all MPI processes.
You may or may not see output from other processes, depending on
exactly when Open MPI kills them.
--------------------------------------------------------------------------
I want to work in dimension=2+1, but having dimension=1+1 would be useful for testing.
Thanks a lot,
Eike
from firedrake import *
dimension = 2
D = 0.1
nlayers=4
nlevel = 4
if (dimension == 2):
    ncells=3
    host_mesh = CircleManifoldMesh(ncells)
else:
    refcount = 0
    host_mesh = UnitIcosahedralSphereMesh(refcount)
host_mesh_hierarchy = MeshHierarchy(host_mesh,nlevel)
mesh_hierarchy = ExtrudedMeshHierarchy(host_mesh_hierarchy,
                                       layers=nlayers,
                                       extrusion_type='radial',
                                       layer_height=D/nlayers)
if (dimension == 2):
    U2 = FiniteElement('DG',interval,1)
    V1 = FiniteElement('DG',interval,1)
else:
    U2 = FiniteElement('DG',triangle,0)
    V1 = FiniteElement('DG',interval,0)
W3_elt = OuterProductElement(U2,V1)
W3 = FunctionSpaceHierarchy(mesh_hierarchy,W3_elt)
f = FunctionHierarchy(W3)
f[-1].interpolate(Expression('x[0]*x[1]'))
print norm(f[-1])
--
Dr Eike Hermann Mueller
Research Associate (PostDoc)
Department of Mathematical Sciences
University of Bath
Bath BA2 7AY, United Kingdom
+44 1225 38 5803
e.mueller@bath.ac.ukhttp://people.bath.ac.uk/em459/