On Fri, 30 Aug 2013 15:47:28 +0100 "Garth N. Wells" <[email protected]> wrote:
> The functions GenericDofmap::vertex_to_dof_map and > GenericDofMap::dof_to_vertex_map are not properly documented (the doc > string is the same for both), and I think that they are back to front. > The docstring in DofMap has inconsistencies. I would expect that > > map0 = GenericDofmap::vertex_to_dof_map(...) > > would mean a map from vertex to dof, i.e. > > map0[vertex_index] -> dof index > > and that > > map1 = GenericDofmap::dof_to_vertex_map(...) > > would mean a map from dof index to > > map1[dof_index] -> vertex index > > Tests (see below code) and the return types also indicate that things > are back to front. Can someone clarify the situation? If you have some map defined on dofs, i.e. it returns whatever from dofs, for example Vector()[:], then composition with dof_to_vertex_map makes it a map on vertices (modulo dofs per vertex). vertex_to_dof_map is just an inversion of dof_to_vertex_map. Jan > > Garth > > > > from dolfin import * > > mesh = UnitSquareMesh(4, 4) > V = FunctionSpace(mesh, "Lagrange", 1) > > dof_to_vertex = V.dofmap().dof_to_vertex_map(mesh) > vertex_to_dof = V.dofmap().vertex_to_dof_map(mesh) > > for c in cells(mesh): > print "Cell index:", c.index() > > # Get cell dofs > dofs = V.dofmap().cell_dofs(c.index()) > print " Cell dofs:", dofs > > # Get vertices from cell > cell_vertices0 = sorted([v.index() for v in vertices(c)]) > print " Cell vertex indices (from cell):", cell_vertices0 > > # Get vertices from dof_to_vertex > cell_vertices1 = sorted([dof_to_vertex[dof] for dof in dofs]) > print " Cell vertex indices (from dof_to_vertex_map):", > cell_vertices1 > > # Get vertices from vertex_to_dof_map > cell_vertices2 = sorted([vertex_to_dof[dof] for dof in dofs]) > print " Cell vertex indices (from vertex_to_dof_map):", > cell_vertices2 _______________________________________________ > fenics mailing list > [email protected] > http://fenicsproject.org/mailman/listinfo/fenics _______________________________________________ fenics mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics
