This is machine translation

Translated by Microsoft
Mouseover text to see original. Click the button below to return to the English version of the page.

Note: This page has been translated by MathWorks. Click here to see
To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

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 using pdegplot, as shown in Create Geometry and Remove Face Boundaries or STL File Import.

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.

Introduced in R2018a