initmesh

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

    Описание

    пример

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

    пример

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

    Примеры

    свернуть все

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

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

    Постройте график mesh.

    pdemesh(p,e,t)

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

    Сгенерируйте треугольный mesh 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. Для получения дополнительной информации о функции геометрии смотрите Параметризованная функция для создания 2-D геометрии.

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

    Типы данных: 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 - приблизительная верхняя граница длин ребер сетки. initmesh оценивает значение по умолчанию Hmax от габаритных размерностей геометрии.

    Малые Hmax значения позволяют вам создавать более мелкие сетки, но генерация сетки может занять очень много времени в этом случае. Можно прервать генерацию сетки при помощи 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' можно получить хорошее представление о том, как алгоритм генерации сетки работает внутри ограничивающего прямоугольника.

    Пример: [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 является NaNи команда 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'. The 'R2013a' алгоритм запускается быстрее, и может триангулировать больше геометрий, чем 'preR2013a' алгоритм. Оба алгоритма используют триангуляцию Делоне.

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

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

    свернуть все

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

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

    Элементы сетки, возвращенные как 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.

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