findNodes

Поиск узлов сетки в заданной области

Описание

пример

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

пример

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

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

пример

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

пример

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

Примеры

свернуть все

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

Создайте модель УЧП.

model = createpde;

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

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

Figure contains an axes. The axes contains 14 objects of type line, text.

Сгенерируйте 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')  

Figure contains an axes. The axes contains 3 objects of type line.

Найдите узлы, сопоставленные с ребрами 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')

Figure contains an axes. The axes contains 3 objects of type line.

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

Создайте модель УЧП.

model = createpde;

Импортируйте и постройте график геометрии.

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

Figure contains an axes. The axes contains an object of type line.

Сгенерируйте 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')

Figure contains an axes. The axes contains 3 objects of type line.

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

Создайте модель УЧП.

model = createpde;

Импортируйте и постройте график геометрии.

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

Figure contains an axes. The axes contains an object of type line.

Сгенерируйте 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')

Figure contains an axes. The axes contains 3 objects of type line.

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

Создайте модель УЧП.

model = createpde;

Импортируйте и постройте график геометрии.

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

Figure contains an axes. The axes contains an object of type line.

Сгенерируйте 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')

Figure contains an axes. The axes contains 3 objects of type line.

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

свернуть все

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

Пример: model.Mesh

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

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

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

Идентификатор геометрической области, заданный как вектор положительных целых чисел. Поиск идентификаторов областей при помощи 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

Центр ограничивающей окружности или сферы, заданный как двухэлементный вектор-строка для 2-D сетки или трехэлементный вектор-строка для 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