findElements

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

Описание

пример

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

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

пример

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

пример

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

пример

elemIDs = findElements(mesh,'attached',nodeID) возвращает идентификаторы элементов mesh, присоединенных к заданному узлу. Здесь, nodeID ID углового узла. Этот синтаксис игнорирует идентификаторы узлов, расположенных посреди ребер элемента.

Для нескольких узлов задайте nodeID как вектор.

Примеры

свернуть все

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

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

model = createpde;

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

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

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

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

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

Ef2 = findElements(mesh,'region','Face',2);

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

figure
pdemesh(mesh,'ElementLabels','on')
hold on
pdemesh(mesh.Nodes,mesh.Elements(:,Ef2),'EdgeColor','green')

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

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

model = createpde;

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

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

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

mesh = generateMesh(model,'Hmax',2,'Hmin',0.4)
mesh = 
  FEMesh with properties:

             Nodes: [2x386 double]
          Elements: [6x172 double]
    MaxElementSize: 2
    MinElementSize: 0.4000
     MeshGradation: 1.5000
    GeometricOrder: 'quadratic'

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

Eb = findElements(mesh,'box',[5 10],[10 20]);

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

figure
pdemesh(model)
hold on
pdemesh(mesh.Nodes,mesh.Elements(:,Eb),'EdgeColor','green')

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

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

model = createpde;

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

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

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

mesh = generateMesh(model,'Hmax',2,'Hmin',0.4,'GeometricOrder','linear')
mesh = 
  FEMesh with properties:

             Nodes: [2x107 double]
          Elements: [3x172 double]
    MaxElementSize: 2
    MinElementSize: 0.4000
     MeshGradation: 1.5000
    GeometricOrder: 'linear'

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

Er = findElements(mesh,'radius',[5 10],2);

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

figure
pdemesh(model)
hold on
pdemesh(mesh.Nodes,mesh.Elements(:,Er),'EdgeColor','green')

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

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

model = createpde;

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

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

Сгенерируйте линейную треугольную mesh путем установки геометрической стоимости заказа на linear. Эта mesh содержит только угловые узлы.

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

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

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

Прилагается элементы к этому узлу.

En = findElements(mesh,'attached',N_ID)
En = 1×3

    95    97    98

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

figure
pdemesh(model)
hold on
plot(mesh.Nodes(1,N_ID),mesh.Nodes(2,N_ID),'or','Color','g', ...
                                           'MarkerFaceColor','g')
pdemesh(mesh.Nodes,mesh.Elements(:,En),'EdgeColor','green')

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

свернуть все

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

Пример: model.Mesh

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример: findElements(mesh,'radius',[0 0 0],1)

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

ID углового узла элемента, указанного как положительное целое число или вектор положительных целых чисел. findElements функция может найти ID элемента ID углового узла элемента. Функция игнорирует идентификаторы узлов, расположенных посреди ребер элемента. Для нескольких узлов задайте nodeID как вектор.

Пример: findElements(mesh,'attached',[7 8 21])

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

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

свернуть все

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

Введенный в R2018a