generateMesh

Создайте треугольный или четырехгранный mesh

Описание

пример

generateMesh(model) создает mesh и сохраняет ее в model объект. model должна содержать геометрию. Чтобы включить 2-D геометрию в модель, используйте geometryFromEdges. Чтобы включить 3-D геометрию, используйте importGeometry или geometryFromMesh.

generateMesh может вернуть немного различные сетки в различных релизах. Для примера может измениться количество элементов в mesh. Избегайте написания кода, который полагается на явно заданные идентификаторы узла и элемента.

пример

generateMesh(model,Name,Value) изменяет создание сетки в соответствии с Name,Value аргументы.

mesh = generateMesh(___) также возвращает сетку mesh в MATLAB® рабочей области, с использованием любого из предыдущих синтаксисов.

Примеры

свернуть все

Сгенерируйте 2-D mesh по умолчанию для L-образной геометрии.

Создайте модель УЧП и включите L-образную геометрию.

model = createpde(1);
geometryFromEdges(model,@lshapeg);

Сгенерируйте mesh по умолчанию для геометрии.

generateMesh(model);

Просмотрите mesh.

pdeplot(model)

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

Создайте mesh более мелкую, чем по умолчанию.

Создайте модель УЧП и включите BracketTwoHoles геометрия.

model = createpde(1);
importGeometry(model,'BracketTwoHoles.stl');

Сгенерируйте mesh по умолчанию для сравнения.

generateMesh(model)
ans = 
  FEMesh with properties:

             Nodes: [3x10003 double]
          Elements: [10x5774 double]
    MaxElementSize: 9.7980
    MinElementSize: 4.8990
     MeshGradation: 1.5000
    GeometricOrder: 'quadratic'

Просмотрите mesh.

pdeplot3D(model)

Создайте mesh с целевым максимальным размером элемента 5 вместо заданного по умолчанию 7.3485.

generateMesh(model,'Hmax',5)
ans = 
  FEMesh with properties:

             Nodes: [3x66982 double]
          Elements: [10x44093 double]
    MaxElementSize: 5
    MinElementSize: 2.5000
     MeshGradation: 1.5000
    GeometricOrder: 'quadratic'

Просмотрите mesh.

pdeplot3D(model)

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

свернуть все

Объект модели, заданный как PDEModel объект, ThermalModel объект, StructuralModel объект, или ElectromagneticModel объект.

Пример: model = createpde(3)

Пример: thermalmodel = createpde('thermal','steadystate')

Пример: structuralmodel = createpde('structural','static-solid')

Пример: emagmodel = createpde('electromagnetic','electrostatic')

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Пример: generateMesh(model,'Hmax',0.25);

Геометрический порядок элемента, заданный как разделенная разделенными запятой парами, состоящая из 'GeometricOrder' и 'linear' или 'quadratic'.

Треугольник или тетраэдр, представляющий линейный элемент, имеет узлы в углах. Треугольник или тетраэдр, представляющий квадратичный элемент, имеет узлы в его углах и ребре центрах. Центральные узлы в квадратичных сетках всегда добавляются на половинном расстоянии между углами. Для геометрий с изогнутыми поверхностями и ребрами центральные узлы могут не появляться на самом ребре или поверхности.

В целом, 'quadratic' элементы обеспечивают более точные решения. Переопределите 'quadratic' по умолчанию только для сохранения памяти или для решения 2-D задачи с помощью устаревшего решателя. Старые решатели УЧП используют линейный треугольный mesh для 2-D геометрий.

Пример: generateMesh(model,'GeometricOrder','linear');

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

Скорость роста сетки, заданная как разделенная разделенными запятой парами, состоящая из Hgrad и число, больше или равное 1 и меньше или равное 2.

Пример: generateMesh(model,'Hgrad',1.3);

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

Целевая максимальная длина ребра mesh, заданная как разделенная разделенными запятой парами, состоящая из Hmax и положительное вещественное число.

Hmax - приблизительная верхняя граница длин ребер сетки. Изредка, generateMesh может создать mesh с некоторыми элементами, которые превышают Hmax.

generateMesh оценивает значение по умолчанию Hmax от габаритных размерностей геометрии.

Малые Hmax значения позволяют вам создавать более мелкие сетки, но генерация сетки может занять очень много времени в этом случае. Можно прервать генерацию сетки при помощи Ctrl+C. Обратите внимание, что generateMesh может потребовать дополнительного времени, чтобы ответить на прерывание.

Пример: generateMesh(model,'Hmax',0.25);

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

Целевая минимальная длина ребра mesh, заданная как разделенная разделенными запятой парами, состоящая из Hmin и неотрицательное вещественное число.

Hmin - приблизительная нижняя граница длин ребер сетки. Изредка, generateMesh может создать mesh с некоторыми элементами, которые меньше Hmin.

generateMesh оценивает значение по умолчанию Hmin от габаритных размерностей геометрии.

Пример: generateMesh(model,'Hmin',0.05);

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

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

свернуть все

Описание сетки, возвращенное как объект FEMesh Properties. mesh то же, что и model.Mesh.

Подробнее о

свернуть все

Элемент

element является основным модулем в конечноэлементном методе.

Для 2-D задач элемент является треугольником в model.Mesh.Element свойство. Если треугольник представляет линейный элемент, он имеет узлы только в углах треугольника. Если треугольник представляет квадратичный элемент, то он имеет узлы в углах треугольника и центрах ребер.

Для 3-D задач элемент является тетраэдром с четырьмя или десятью точками. Четырёхточечный (линейный) тетраэдр имеет узлы только в углах. Десятиточечный (квадратичный) тетраэдр имеет узлы в углах и в центральной точке каждого ребра.

Для получения дополнительной информации смотрите Mesh Данных.

Введенный в R2015a