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