I have a Gmsh mesh which has physical points/curves/surfaces.
I need to create indicator functions for these that are equal to 1 for nodes in the given physical entity and zero everywhere else.
```
fn = Function(fnspace)
par_loop( 'for (int i=0; i < f.dofs; i++) f[i][0] = 1.0;', dx(subdomain_id), {'f': (fn, WRITE)} )
 
``
where subdomain_id is the numerical id of the physical entity in Gmsh. 
Unfortunately, this only works for physical surfaces and not points or lines. The error I get is 
```
  File "firedrake/dmplex.pyx", line 1022, in firedrake.dmplex.get_cell_markers
ValueError: Invalid subdomain_id 5 not in [3 4]
 
```
where 5 is a physical line, 1,2 are physical points, and 3,4 are physical surfaces.
Is there a different way I can create the necessary indicator function?