On Mon, Jan 28, 2013 at 10:10:40PM +0100, Johan Hake wrote: > Hello! > > I have now added a method to DofMap, which tabulate a map between > vertices and dofs. It will only work for DofMaps with dofs on vertices. > So basically for any CG 1 FunctionSpaces and will raise error else wise. > > Usage: > > from dolfin import * > import numpy as np > mesh = UnitSquareMesh(10,10) > V = VectorFunctionSpace(mesh, "CG", 1) > u = Function(V) > u.interpolate(Constant((1,2))) > vert_values = np.zeros(mesh.num_vertices()*2) > vert_values[V.dofmap().tabulate_vertex_map(mesh)] = \ > u.vector().array() > print vert_values > > In parallel the map will follow the local dofs. This means that some > values in vert_values above will still be 0. The 0 values will then > correspond to vertex values which are owned by another process. > > In C++ the method returns a std::vector<std::size_t>. > > Questions: > Does the name "tabulate_vertex_map" work?
Sounds ok. > Should a version of this method exist in other classes. FunctionSpace, > Function (without the mesh argument of course)? Yes, would be good to have for convenience. What is the relation to Function::compute_vertex_values? -- Anders _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : [email protected] Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp

