dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #26277
DofMap.tabulate_vertex_map
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?
Should a version of this method exist in other classes. FunctionSpace,
Function (without the mesh argument of course)?
Johan
Follow ups