initmesh

Создайте начальную 2D mesh

    Эта страница описывает устаревший рабочий процесс. Новые возможности не могут быть совместимы с устаревшим рабочим процессом. Для соответствующего шага в рекомендуемом рабочем процессе смотрите generateMesh.

    Описание

    пример

    [p,e,t] = initmesh(g) генерирует треугольную mesh для 2D геометрии. Функция использует алгоритм Триангуляции Делоне.

    пример

    [p,e,t] = initmesh(g,Name,Value) генерирует 2D mesh с помощью одного или нескольких Name,Value парные аргументы.

    Примеры

    свернуть все

    Сгенерируйте треугольную сетку L-образной мембраны.

    [p,e,t] = initmesh('lshapeg');

    Постройте mesh.

    pdemesh(p,e,t)

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

    Сгенерируйте треугольную сетку L-образной мембраны с целевой максимальной длиной ребра mesh 0,1.

    [p,e,t] = initmesh('lshapeg','Hmax',0.1);

    Постройте mesh.

    pdemesh(p,e,t)

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

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

    свернуть все

    Описание геометрии в виде анализируемой матрицы геометрии, функции геометрии или указателя на функцию геометрии. Для получения дополнительной информации об анализируемой матрице геометрии, смотрите decsg. Для получения дополнительной информации о функции геометрии, смотрите Параметрическую Функцию для 2D Создания Геометрии.

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

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

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

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

    Пример: [p,e,t] = initmesh('lshapeg','Hmax',0.1);

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

    Hmax аппроксимированная верхняя граница на длинах ребра mesh. initmesh оценивает значение по умолчанию Hmax от габаритных размеров геометрии.

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

    Пример: [p,e,t] = initmesh(g,'Hmax',0.25);

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

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

    Пример: [p,e,t] = initmesh(g,'Hgrad',1.5);

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

    Переключитесь, чтобы сохранить ограничительную рамку в виде разделенной запятой пары, состоящей из 'Box' и 'on' или 'off'. Путем включения 'Box' можно получить хорошую идею того, как алгоритм генерации mesh работает в ограничительной рамке.

    Пример: [p,e,t] = initmesh(g,'Box','on');

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

    Переключитесь, чтобы использовать триангуляцию ребра в виде разделенной запятой пары, состоящей из '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 isnan, и команда n = t(4,tn) результаты в отказе.

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

    Переключитесь, чтобы вызвать 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

    Максимальное количество итераций для jigglemeshВ виде разделенной запятой пары, состоящей из 'JiggleIter' и положительное целое число.

    Пример: [p,e,t] = initmesh(g,'Jiggle','on','JiggleIter',50);

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

    Алгоритм для генерации начальной mesh в виде разделенной запятой пары, состоящей из 'MesherVersion' и любой 'R2013a' или 'preR2013a'. 'R2013a' алгоритм запускается быстрее и может триангулировать больше конфигураций, чем 'preR2013a' алгоритм. Оба алгоритма используют Триангуляцию Делоне.

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

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

    свернуть все

    Поймайте в сети точки, возвращенные как 2 Np матрица. Np число точек (узлы) в mesh. Столбец k из p состоит из x - координата точки k в p(1,k) и y - координата точки k в p(2,k). Для получения дополнительной информации смотрите Данные о Mesh, когда [p, e, t] Утраивается.

    Поймайте в сети ребра, возвращенные как 7 Ne матрица, где Ne количество граничных ребер в mesh. Ребро является парой точек в p содержа контур между субдоменами, или содержащий внешнюю границу. Для получения дополнительной информации смотрите Данные о Mesh, когда [p, e, t] Утраивается.

    Поймайте в сети элементы, возвращенные как 4 Nt матрица. Nt количество треугольников в mesh.

    t(i,k), с i в пределах от 1 через end - 1, содержите индексы к угловым точкам элемента k. Для получения дополнительной информации смотрите Данные о Mesh, в то время как [p, e, t] Утраивается. Последняя строка, t(end,k), содержит количество субдомена элемента.

    Ссылки

    [1] Джордж, P. L. Автоматическая генерация Mesh — приложение к методам конечных элементов. Вайли, 1991.

    Представлено до R2006a