Создайте 2-D mesh
Эта страница описывает устаревший рабочий процесс. Новые возможности могут быть несовместимы с устаревшим рабочим процессом. Соответствующий шаг в рекомендуемом рабочем процессе см. в generateMesh
.
Сгенерируйте треугольный mesh L-образной мембраны.
[p,e,t] = initmesh('lshapeg');
Постройте график mesh.
pdemesh(p,e,t)
Сгенерируйте треугольный mesh L-образной мембраны с целевой максимальной длиной ребра mesh 0,1.
[p,e,t] = initmesh('lshapeg','Hmax',0.1);
Постройте график mesh.
pdemesh(p,e,t)
g
- Описание геометрииОписание геометрии, заданное как разложенная геометрическая матрица, геометрическая функция или указатель на геометрическую функцию. Для получения дополнительной информации о разложенной геометрической матрице см. decsg
. Для получения дополнительной информации о функции геометрии смотрите Параметризованная функция для создания 2-D геометрии.
Геометрическая функция должна возвращать тот же результат для тех же входных параметров в каждом вызове функции. Таким образом, он не должен содержать функций и выражений, предназначенных для возврата различных результатов, таких как генераторы случайных чисел.
Типы данных: double
| char
| string
| function_handle
Задайте необязательные разделенные разделенными запятой парами Name,Value
аргументы. Name
- имя аргумента и Value
- соответствующее значение. Name
должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN
.
[p,e,t] = initmesh('lshapeg','Hmax',0.1);
'Hmax'
- Целевая максимальная длина ребра meshЦелевая максимальная длина ребра mesh, заданная как разделенная разделенными запятой парами, состоящая из 'Hmax'
и положительное вещественное число.
Hmax
- приблизительная верхняя граница длин ребер сетки. initmesh
оценивает значение по умолчанию Hmax
от габаритных размерностей геометрии.
Малые Hmax
значения позволяют вам создавать более мелкие сетки, но генерация сетки может занять очень много времени в этом случае. Можно прервать генерацию сетки при помощи Ctrl+C. Обратите внимание, что initmesh
может потребовать дополнительного времени, чтобы ответить на прерывание.
Пример: [p,e,t] = initmesh(g,'Hmax',0.25);
Типы данных: double
'Hgrad'
- Темп роста сетки1.3
(по умолчанию) число | строго больше 1 и меньше 2Скорость роста сетки, заданная как разделенная разделенными запятой парами, состоящая из 'Hgrad'
и число, строго больше 1 и меньше 2.
Пример: [p,e,t] = initmesh(g,'Hgrad',1.5);
Типы данных: double
'Box'
- Переключение для сохранения ограничивающего прямоугольника'off'
(по умолчанию) | 'on'
Переключитесь, чтобы сохранить ограничивающий прямоугольник, заданный как разделенная разделенными запятой парами, состоящая из 'Box'
и 'on'
или 'off'
. Путем включения 'Box'
можно получить хорошее представление о том, как алгоритм генерации сетки работает внутри ограничивающего прямоугольника.
Пример: [p,e,t] = initmesh(g,'Box','on');
Типы данных: char
| string
'Init'
- Переключение, чтобы использовать триангуляцию ребра'off'
(по умолчанию) | 'on'
Переключитесь, чтобы использовать триангуляцию ребра, заданную как разделенная разделенными запятой парами, состоящая из 'Init'
и 'on'
или 'off'
. Путем включения Init
можно увидеть начальное триангулирование контуров. Для примера используйте эти команды, чтобы определить число поддомена n
от точки xy
.
[p,e,t] = initmesh(g,'Hmax',Inf,'Init','on'); [uxy,tn,a2,a3] = tri2grid(p,t,zeros(size(p,2)),x,y); n = t(4,tn);
Если точка находится вне геометрии, tn
является NaN
и команда n = t(4,tn)
приводит к отказу.
Типы данных: char
| string
'Jiggle'
- Переключение вызова jigglemesh
после создания mesh'mean'
(по умолчанию) | 'minimum'
| 'on'
| 'off'
Переключение на вызов jigglemesh
после создания mesh, заданной как разделенная разделенными запятой парами, состоящая из 'Jiggle'
и 'mean'
, 'minimum'
'on'
, или 'off'
.
'mean'
- вызов jigglemesh
с аргументом 'Opt'
установлено на 'mean'
.
'minimum'
- вызов jigglemesh
с аргументом 'Opt'
установлено на 'minimum'
.
'on'
- вызов jigglemesh
с аргументом 'Opt'
установлено на 'off'
.
'off'
- не вызывайте jigglemesh
.
Пример: [p,e,t] = initmesh(g,'Jiggle','minimum');
Типы данных: char
| string
'JiggleIter'
- Максимальное количество итераций для jigglemesh
10
(по умолчанию) | положительное целое числоМаксимальное количество итераций для jigglemesh
, заданная как разделенная разделенными запятой парами, состоящая из 'JiggleIter'
и положительное целое число.
Пример: [p,e,t] = initmesh(g,'Jiggle','on','JiggleIter',50);
Типы данных: double
'MesherVersion'
- Алгоритм генерации начального mesh'preR2013a'
(по умолчанию) | 'R2013a'
Алгоритм генерации начального mesh, заданный как разделенная разделенными запятой парами, состоящая из 'MesherVersion'
и любой из них 'R2013a'
или 'preR2013a'
. The 'R2013a'
алгоритм запускается быстрее, и может триангулировать больше геометрий, чем 'preR2013a'
алгоритм. Оба алгоритма используют триангуляцию Делоне.
Типы данных: char
| string
p
- MeshNp
матрицаMesh очков, возвращенные как 2-by- Np
матрица. Np
- число точек (узлов) в mesh. Столбец k
от p
состоит из x -координата точки k
в p(1,k)
и y - координата точки k
в p(2,k)
. Для получения дополнительной информации смотрите Данные как [p, e, t] Triples.
e
- Кромки сеткиNe
матрицаMesh ребер, возвращается как 7-бай- Ne
матрица, где Ne
количество граничных ребер в mesh. Ребро является парой точек в p
содержащая контур между поддоменами или содержащая внешний контур. Для получения дополнительной информации смотрите Данные как [p, e, t] Triples.
t
- Элементы сеткиNt
матрицаЭлементы сетки, возвращенные как 4-бай- Nt
матрица. Nt
- количество треугольников в mesh.
The t(i,k)
, с i
в диапазоне от 1 до end - 1
, содержат индексы к угловым точкам элемента k
. Для получения дополнительной информации смотрите Данные как [p, e, t] Triples. Последняя строка, t(end,k)
, содержит номер поддомена элемента.
[1] George, P. L. Automatic Mesh Generation - применение к методам конечных элементов. Уайли, 1991.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.