findNodes

Найдите узлы mesh в заданной области

Описание

пример

nodes = findNodes(mesh,'region',RegionType,RegionID) возвращает идентификаторы узлов mesh, которые принадлежат заданной геометрической области.

пример

nodes = findNodes(mesh,'box',xlim,ylim) возвращает идентификаторы узлов mesh в ограничительной рамке, заданной xlim и ylim. Используйте этот синтаксис в 2D сетках.

nodes = findNodes(mesh,'box',xlim,ylim,zlim) возвращает идентификаторы узлов mesh, расположенных в ограничительной рамке, заданной xlimylim, и zlim. Используйте этот синтаксис в 3-D сетках.

пример

nodes = findNodes(mesh,'radius',center,radius) возвращает идентификаторы узлов mesh, расположенных в кругу (для 2D сеток) или сфера (для 3-D сеток) заданный center и radius.

пример

nodes = findNodes(mesh,'nearest',point) возвращает идентификаторы узлов mesh, самых близких к точке запроса или нескольким точкам запроса с Декартовыми координатами, заданными point.

Примеры

свернуть все

Найдите узлы сопоставленными с геометрической областью.

Создайте модель PDE.

model = createpde;

Включайте геометрию встроенной функции lshapeg. Постройте геометрию.

geometryFromEdges(model,@lshapeg);
pdegplot(model,'FaceLabels','on','EdgeLabels','on')

Сгенерируйте mesh.

mesh = generateMesh(model,'Hmax',0.5);

Найдите узлы сопоставленными с поверхностью 2.

Nf2 = findNodes(mesh,'region','Face',2);

Подсветите эти узлы зеленого цвета на сетчатом графике.

figure
pdemesh(model,'NodeLabels','on')
hold on
plot(mesh.Nodes(1,Nf2),mesh.Nodes(2,Nf2),'ok','MarkerFaceColor','g')  

Найдите узлы сопоставленными с ребрами 5 и 7.

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

Подсветите эти узлы зеленого цвета на сетчатом графике.

figure
pdemesh(model,'NodeLabels','on')
hold on
plot(mesh.Nodes(1,Ne57),mesh.Nodes(2,Ne57),'or','MarkerFaceColor','g')

Найдите узлы расположенными в заданном поле.

Создайте модель PDE.

model = createpde;

Импортируйте и постройте геометрию.

importGeometry(model,'PlateHolePlanar.stl');
pdegplot(model)

Сгенерируйте mesh.

mesh = generateMesh(model,'Hmax',2,'Hmin',0.4,'GeometricOrder','linear');

Найдите узлы расположенными в следующем поле.

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

Подсветите эти узлы зеленого цвета на сетчатом графике.

figure
pdemesh(model)
hold on
plot(mesh.Nodes(1,Nb),mesh.Nodes(2,Nb),'or','MarkerFaceColor','g')

Найдите узлы расположенными в заданном диске.

Создайте модель PDE.

model = createpde;

Импортируйте и постройте геометрию.

importGeometry(model,'PlateHolePlanar.stl');
pdegplot(model)

Сгенерируйте mesh.

mesh = generateMesh(model,'Hmax',2,'Hmin',0.4,'GeometricOrder','linear');

Найдите узлы расположенными в радиусе 2 от центра [5 10].

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

Подсветите эти узлы зеленого цвета на сетчатом графике.

figure
pdemesh(model)
hold on
plot(mesh.Nodes(1,Nb),mesh.Nodes(2,Nb),'or','MarkerFaceColor','g')

Найдите узел самым близким к заданной точке и подсветите его на сетчатом графике.

Создайте модель PDE.

model = createpde;

Импортируйте и постройте геометрию.

importGeometry(model,'PlateHolePlanar.stl');
pdegplot(model)

Сгенерируйте mesh.

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

Найдите узел самым близким к точке [15; 10].

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

Подсветите этот узел зеленого цвета на сетчатом графике.

figure
pdemesh(model)
hold on
plot(mesh.Nodes(1,N_ID),mesh.Nodes(2,N_ID),'or','MarkerFaceColor','g')

Входные параметры

свернуть все

Объект ячейки, заданный как Mesh свойство PDEModel возразите или как выход generateMesh.

Пример: model.Mesh

Геометрический тип области, заданный как 'Cell', 'Face', 'Edge', или 'Vertex'.

Пример: findNodes(mesh,'region','Face',1:3)

Типы данных: char

Геометрический ID области, заданный как вектор положительных целых чисел. Найдите идентификаторы области при помощи pdegplot.

Пример: findNodes(mesh,'region','Face',1:3)

Типы данных: double

x- ограничительной рамки, заданной как двухэлементный вектор-строка. Первый элемент xlim более низкий ограниченный x, и вторым элементом является верхний ограниченный x.

Пример: findNodes(mesh,'box',[5 10],[10 20])

Типы данных: double

y- ограничительной рамки, заданной как двухэлементный вектор-строка. Первый элемент ylim более низкий ограниченный y, и вторым элементом является верхний ограниченный y.

Пример: findNodes(mesh,'box',[5 10],[10 20])

Типы данных: double

z- ограничительной рамки, заданной как двухэлементный вектор-строка. Первый элемент zlim более низкий ограниченный z, и вторым элементом является верхний ограниченный z. Можно задать zlim только для 3-D сеток.

Пример: findNodes(mesh,'box',[5 10],[10 20],[1 2])

Типы данных: double

Центр круга ограничения или сферы, заданной как двухэлементный вектор-строка для 2D mesh или трехэлементный вектор-строка для 3-D mesh. Элементы этих векторов содержат координаты центра круга или сферы.

Пример: findNodes(mesh,'radius',[0 0 0],0.5)

Типы данных: double

Радиус круга ограничения или сферы, заданной как положительное число.

Пример: findNodes(mesh,'radius',[0 0 0],0.5)

Типы данных: double

Декартовы координаты точек запроса, заданных как 2 N или 3 N матрицей. Эти матрицы содержат координаты точек запроса. Здесь, N является количеством точек запроса.

Пример: findNodes(mesh,'nearest',[15 10.5 1; 12 10 1.2])

Типы данных: double

Выходные аргументы

свернуть все

Идентификаторы узла, возвращенные как положительное целое число или вектор-строка из положительных целых чисел.

Введенный в R2018a

Для просмотра документации необходимо авторизоваться на сайте