exponenta event banner

generateMesh

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

Синтаксис

generateMesh(model)
generateMesh(model,Name,Value)
mesh = generateMesh(___)

Описание

пример

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

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

пример

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

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

Примеры

свернуть все

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

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

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

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

generateMesh(model);

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

pdeplot(model)

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

Создайте модель PDE и включайте геометрию 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.

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

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

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

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

Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми. Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

Поймайте в сети описание, возвращенное как объект FEMesh Properties. mesh совпадает с model.Mesh.

Больше о

свернуть все

Элемент

element является основной единицей в методе конечных элементов.

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

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

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

Представленный в R2015a