Dear Drake -- Suppose I generate a mesh and FunctionSpace this way (or any other way): mesh = UnitSquareMesh(2,1) W = FunctionSpace(mesh, 'Lagrange', 1) Is there a programmatic and/or option way to view the underlying DMPlex? Actually, where is the underlying DMPlex? When I look at W.dm it is of type DMShell. W.dm.view() gives an output including VecView on the solution, but no real info on the mesh. An example of what I have in mind is the output from DMViewFromOptions(). (Is it somewhere in Firedrake/petsc4py?) For a certain 3-triangle mesh (i.e. not the mesh from UnitSquareMesh() above) the output of DMViewFromOptions() is: DM Object: tiny mesh 1 MPI processes type: plex tiny mesh in 2 dimensions: 0-cells: 5 1-cells: 7 2-cells: 3 Labels: depth: 3 strata with value/size (0 (5), 1 (7), 2 (3)) So I know I have 3 cells with 7 edges and 5 vertices, and the multi-process view tells me about the partition. Thanks! I don't want to write my own viewer in Python until I have no choice. ;-) Ed -- Ed Bueler Dept of Math and Stat and Geophysical Institute University of Alaska Fairbanks Fairbanks, AK 99775-6660 301C Chapman