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.uk http://people.bath.ac.uk/em459/