On 28 January 2013 21:22, Anders Logg <[email protected]> wrote: > 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. >
Doesn't mean much to me. Can it be more descriptive? >> 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. > I don't see the benefit of spreading it around. It should just belong to DofMap. Garth > 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 _______________________________________________ Mailing list: https://launchpad.net/~dolfin Post to : [email protected] Unsubscribe : https://launchpad.net/~dolfin More help : https://help.launchpad.net/ListHelp

