exponenta event banner

generateMesh

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

Описание

пример

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

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

пример

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

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

Примеры

свернуть все

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

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

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

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

generateMesh(model);

Просмотрите сетку.

pdeplot(model)

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

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

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

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

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

generateMesh(model)
ans = 
  FEMesh with properties:

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

Просмотрите сетку.

pdeplot3D(model)

Создайте сетку с целевым максимальным размером элемента 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'

Просмотрите сетку.

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 с помощью устаревшего решателя. Унаследованные решатели PDE используют линейную треугольную сетку для 2-D геометрий.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

свернуть все

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

Подробнее

свернуть все

Элемент

Элемент является базовой единицей в конечно-элементном методе.

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

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

Дополнительные сведения см. в разделе Данные сетки.

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