# Extracting subdomain data for each node

I have a mesh with 2 subdomains - `dx(0) and dx(1)` . I wanted the know the subdomain data for each node.

I have got the nodal values of function w (determined by `solve(a==L,w,bc)` ) using `w.compute_vertex_values(mesh)`.

#Do we have similar command to compute subdomain data for each node, like list of `dx(0)` or `dx(1)` for each node.

I tried using ` a0= np.ndarray[np.float64[0.09333333, 0. ]]`

`SubDomain.inside(a0, True) `

``````TypeError                                 Traceback (most recent call last)
/tmp/ipykernel_295/1734471881.py in <module>
----> 1 a0= np.ndarray[np.float64[0.09333333, 0.        ]]
2
3 SubDomain.inside(a0, True)

TypeError: 'type' object is not subscriptable
``````

but getting the following error.

The work is related to
Any help is greatly appreciated!!!

To me it is not clear what you are trying to do in

as you have not presented a code that can repodue this.

Do you mean that you want the coordinates of all vertices within the cells marked with 0 or 1?

Hi@dokken

Thanks for your reply. I exactly want the coordinates of all vertices marked as 0 or 1 ( based on corresponding subdomain 0 or 1 respectively).

I will share other part of code too.

Consider the following MWE:

``````from IPython import embed
import dolfin

mesh = dolfin.UnitSquareMesh(10, 10)

class Left(dolfin.SubDomain):
def inside(self, x, on_boundary):
return x < 0.5

cell_marker = dolfin.MeshFunction("size_t", mesh, mesh.topology().dim(), 0)
Left().mark(cell_marker, 1)

left_cells = cell_marker.where_equal(1)

cell_to_vertex = mesh.topology()(mesh.topology().dim(), 0)
x = mesh.coordinates()
for cell in left_cells:
vertices = cell_to_vertex(cell)
print(x[vertices])
``````
1 Like