# findNodes

Find mesh nodes in specified region

## Syntax

``nodes = findNodes(mesh,"region",RegionType,RegionID)``
``nodes = findNodes(mesh,"box",xlim,ylim)``
``nodes = findNodes(mesh,"box",xlim,ylim,zlim)``
``nodes = findNodes(mesh,"radius",center,radius)``
``nodes = findNodes(mesh,"nearest",point)``

## Description

example

````nodes = findNodes(mesh,"region",RegionType,RegionID)` returns the IDs of the mesh nodes that belong to the specified geometric region.```

example

````nodes = findNodes(mesh,"box",xlim,ylim)` returns the IDs of the mesh nodes within a bounding box specified by `xlim` and `ylim`. Use this syntax for 2-D meshes.```
````nodes = findNodes(mesh,"box",xlim,ylim,zlim)` returns the IDs of the mesh nodes located within a bounding box specified by `xlim`, `ylim`, and `zlim`. Use this syntax for 3-D meshes.```

example

````nodes = findNodes(mesh,"radius",center,radius)` returns the IDs of mesh nodes located within a circle (for 2-D meshes) or sphere (for 3-D meshes) specified by `center` and `radius`.```

example

````nodes = findNodes(mesh,"nearest",point)` returns the IDs of mesh nodes closest to a query point or multiple query points with Cartesian coordinates specified by `point`.```

## Examples

collapse all

Find the nodes associated with a geometric region.

Create a PDE model.

`model = createpde;`

Include the geometry of the built-in function `lshapeg`. Plot the geometry.

```geometryFromEdges(model,@lshapeg); pdegplot(model,"FaceLabels","on","EdgeLabels","on")``` Generate a mesh.

`mesh = generateMesh(model,"Hmax",0.5);`

Find the nodes associated with face 2.

`Nf2 = findNodes(mesh,"region","Face",2);`

Highlight these nodes in green on the mesh plot.

```figure pdemesh(model,"NodeLabels","on") hold on plot(mesh.Nodes(1,Nf2),mesh.Nodes(2,Nf2),"ok","MarkerFaceColor","g") ``` Find the nodes associated with edges 5 and 7.

`Ne57 = findNodes(mesh,"region","Edge",[5 7]);`

Highlight these nodes in green on the mesh plot.

```figure pdemesh(model,"NodeLabels","on") hold on plot(mesh.Nodes(1,Ne57),mesh.Nodes(2,Ne57),"or","MarkerFaceColor","g")``` Find the nodes located within a specified box.

Create a PDE model.

`model = createpde;`

Import and plot the geometry.

```importGeometry(model,"PlateHolePlanar.stl"); pdegplot(model)``` Generate a mesh.

```mesh = generateMesh(model,"Hmax",2,"Hmin",0.4, ... "GeometricOrder","linear");```

Find the nodes located within the following box.

`Nb = findNodes(mesh,"box",[5 10],[10 20]);`

Highlight these nodes in green on the mesh plot.

```figure pdemesh(model) hold on plot(mesh.Nodes(1,Nb),mesh.Nodes(2,Nb),"or","MarkerFaceColor","g")``` Find the nodes located within a specified disk.

Create a PDE model.

`model = createpde;`

Import and plot the geometry.

```importGeometry(model,"PlateHolePlanar.stl"); pdegplot(model)``` Generate a mesh.

```mesh = generateMesh(model,"Hmax",2,"Hmin",0.4, ... "GeometricOrder","linear");```

Find the nodes located within radius 2 from the center [5 10].

`Nb = findNodes(mesh,"radius",[5 10],2);`

Highlight these nodes in green on the mesh plot.

```figure pdemesh(model) hold on plot(mesh.Nodes(1,Nb),mesh.Nodes(2,Nb),"or","MarkerFaceColor","g")``` Find the node closest to a specified point and highlight it on the mesh plot.

Create a PDE model.

`model = createpde;`

Import and plot the geometry.

```importGeometry(model,"PlateHolePlanar.stl"); pdegplot(model)``` Generate a mesh.

`mesh = generateMesh(model,"Hmax",2,"Hmin",0.4);`

Find the node closest to the point [15;10].

`N_ID = findNodes(mesh,"nearest",[15;10])`
```N_ID = 10 ```

Highlight this node in green on the mesh plot.

```figure pdemesh(model) hold on plot(mesh.Nodes(1,N_ID),mesh.Nodes(2,N_ID),"or","MarkerFaceColor","g")``` ## Input Arguments

collapse all

Mesh object, specified as the `Mesh` property of a `PDEModel` object or as the output of `generateMesh`.

Example: `model.Mesh`

Geometric region type, specified as `"Cell"`, `"Face"`, `"Edge"`, or `"Vertex"`.

Example: `findNodes(mesh,"region","Face",1:3)`

Data Types: `char`

Geometric region ID, specified as a vector of positive integers. Find the region IDs by using `pdegplot`.

Example: `findNodes(mesh,"region","Face",1:3)`

Data Types: `double`

x-limits of the bounding box, specified as a two-element row vector. The first element of `xlim` is the lower x-bound, and the second element is the upper x-bound.

Example: ```findNodes(mesh,"box",[5 10],[10 20])```

Data Types: `double`

y-limits of the bounding box, specified as a two-element row vector. The first element of `ylim` is the lower y-bound, and the second element is the upper y-bound.

Example: ```findNodes(mesh,"box",[5 10],[10 20])```

Data Types: `double`

z-limits of the bounding box, specified as a two-element row vector. The first element of `zlim` is the lower z-bound, and the second element is the upper z-bound. You can specify `zlim` only for 3-D meshes.

Example: ```findNodes(mesh,"box",[5 10],[10 20],[1 2])```

Data Types: `double`

Center of the bounding circle or sphere, specified as a two-element row vector for a 2-D mesh or three-element row vector for a 3-D mesh. The elements of these vectors contain the coordinates of the center of a circle or a sphere.

Example: ```findNodes(mesh,"radius",[0 0 0],0.5)```

Data Types: `double`

Radius of the bounding circle or sphere, specified as a positive number.

Example: ```findNodes(mesh,"radius",[0 0 0],0.5)```

Data Types: `double`

Cartesian coordinates of query points, specified as a 2-by-N or 3-by-N matrix. These matrices contain the coordinates of the query points. Here, N is the number of query points.

Example: ```findNodes(mesh,"nearest",[15 10.5 1; 12 10 1.2])```

Data Types: `double`

## Output Arguments

collapse all

Node IDs, returned as a positive integer or a row vector of positive integers.

## Version History

Introduced in R2018a