MATLAB.Exponenta
MATLAB и Simulink на русском
Технологии разработки и отладки
		сложных технических систем

Математика\Partial Differential Equations Toolbox

В.Е.Шмелев "Partial Differential Equations Toolbox. Инструментарий решения дифференциальных уравнений в частных производных":
2. Работа пользователя с GUI-приложением PDE Toolbox Matlab

  В оглавление книги \ К следующему разделу \ К предыдущему разделу

2.4. Режимы работы приложения PDETool

2.4.4. Режим генерации и изменения конечноэлементной сетки

GUI-приложение PDETool переключается в режим генерации и изменения конечноэлементной сетки по одной из команд меню группы Mesh: Mesh Mode, Initialize Mesh, Refine Mesh, Jiggle Mesh, Undo Mesh Change, Display Triangle Quality (см. 2.1.7). В режиме Mesh Mode в поле axes фигуры PDETool видно изображение конечноэлементной сетки (рис. 2.14, 2.15, 2.16). Синие линии (рис. 2.14, 2.15) – рёбра конечных элементов, красные линии – границы расчётной области или линии раздела зон.

По команде Mesh/Parameters можно установить параметры режима генерации конечноэлементной сетки (см. рис. 2.17):

  • Maximum edge size – максимальная длина стороны генерируемых треугольников (по умолчанию – пустое значение, т.е. не лимитируется);
  • Mesh growth rate – максимальный показатель нерегулярности треугольников. В PDETool и вообще в PDE Toolbox MATLAB в качестве такого показателя используется отношение максимальной длины стороны треугольника к минимальной;
  • Кнопка Jiggle mesh – если эта кнопка включена, то в процессе генерации сетки производится также её регуляризация, в противном случае регуляризация не производится. Регуляризация сводится к смещению узлов сетки, чтобы показатель регулярности треугольников был максимален;
    Параметр Jiggle mode может принимать одно из трёх возможных значений (они вводятся с помощью ниспадающего меню):
    - on – независимо от результата по команде Jiggle mesh выполняется заданное число итераций регуляризации сетки;
    - optimize minimum – критерием оптимизации сетки является минимальный по всей сетке показатель регулярности треугольника; итерационный процесс досрочно завершается, если этот показатель достигнет значения 0.6;
    - optimize mean – критерием оптимизации сетки является средний по всей сетке показатель регулярности треугольника; итерационный процесс досрочно завершается, если этот показатель достигнет значения 0.9;
  • Number of jiggle iterations – максимальное число итераций регуляризации сетки (пустое значение соответствует одной итерации, если Jiggle mode = on; 20 итерациям в противном случае);
  • Параметр Refinement method может принимать одно из двух возможных значений (они вводятся с помощью ниспадающего меню):
    - regular – “регулярное переопределение”, когда каждый переопределяемый треугольник разделяется на четыре треугольника;
    - longest – треугольники делятся на два так, что большая сторона делится пополам.

Показателем регулярности треугольника называется безразмерная величина, определяемая по формуле:

q = 4*sqrt(3)*a/(h12+h22+h32), (2.45)

где a – площадь треугольника; h1, h2, h3 – длины сторон треугольника.

Экспорт конечноэлементной сетки в базовую рабочую область осуществляется командой Export Mesh. Вид диалогового окна экспорта показан на рис. 2.18. Рассмотрим назначение и структуру матриц описания конечноэлементной сетки.

Первая переменная (по умолчанию её имя p) – матрица узлов конечноэлементной сетки, каждый столбец которой соответствует узлу. Первая строка – координаты x узлов, вторая строка – координаты y узлов.

Вторая переменная (по умолчанию её имя e) – матрица граничных элементов на границах раздела зон или всей расчётной области:
- столбцам соответствуют граничные элементы (стороны конечных элементов, принадлежащие границам раздела зон или границе расчётной области);
- первые две строки – номера начальных и конечных узлов граничных элементов;
- строки 3, 4 – длина “дуги” от начала граничного сегмента до начального и конечного узла граничного элемента, отнесённая к длине “дуги” граничного сегмента;
- строка 5 – номера граничных сегментов (см. 2.1.5, 2.4.2), которым принадлежат граничные элементы;
- строки 6, 7 – номера зон, примыкающих слева и справа к граничным элементам (“слева” и “справа” – имеется в виду при движении от начала к концу граничного сегмента, т.е. по направлению его обхода);

Третья переменная (по умолчанию её имя t) – матрица треугольных конечных элементов (столбцам соответствуют треугольники):
- t(1:3,ie) – глобальные номера узлов треугольника с номером ie,
t(4,ie) – номер зоны, которой принадлежит треугольник с номером ie.

Матрицы p, e, t имеют важнейшее значение для решения PDE вне PDETool, а также для анализа результатов расчёта моделируемых полей. Эти матрицы используются в качестве входных параметров для большинства функций PDE Toolbox MATLAB.

Пусть имеется расчётная область, изображённая на рис. 2.50. Тогда в результате выполнения команды Init Mesh конечноэлементная сетка при задании параметров генерации по умолчанию будет иметь вид, изображённый на рис.2.51. Если задать максимальную длину стороны треугольника равной 0.2, то инициализируемая сетка примет вид, изображённый на рис. 2.52. Варьирование параметром Jiggle mode не приводит к видимым изменениям сетки, однако приводит к изменению показателей регулярности сетки.


Рис. 2.50. Пример расчётной области для генерации сетки


Рис. 2.51. Конечноэлементная сетка при задании параметров генерации
по умолчанию

Сетка на рис.2.51 имеет следующие показатели регулярности: средний 0.93009, минимальный 0.48292. То же при Jiggle mode = on: средний 0.92621, минимальный 0.44772. При Jiggle mode = optimize minimum: средний 0.90042, минимальный 0.52005.


Рис. 2.52. Конечноэлементная сетка при Maximum edge size = 0.2

Сетка на рис.2.52 имеет следующие показатели регулярности: средний 0.9606, минимальный 0.66925. То же при Jiggle mode = on: ошибка. При Jiggle mode = optimize minimum: средний 0.91631, минимальный 0.59303.

На рис. 2.53 показана сетка (рис. 2.51), полученная по команде Refine mesh при задании параметров по умолчанию.


Рис. 2.53. Сетка, переопределённая методом ‘regular’


Рис. 2.54. Сетка, переопределённая методом ‘longest’

В заключение можно отметить, что для генерации мелкой сетки нежелательно задавать малые значения параметра Maximum edge size, т.к. это приводит к резкому увеличению времени построения сетки. Например, сетка, изображённая на рис. 2.52, генерировалась не менее 5 мин на компьютере с процессором Athlon 1000 и оперативной памятью 256 МБ. Задание малых значений параметра Maximum edge size оправдано в тех случаях, когда требуется получение максимально симметричной сетки. Во всех остальных случаях предпочтительнее генерировать сетку при задании параметров по умолчанию, а затем переопределять её столько раз, сколько нужно. Таким способом мелкая сетка генерируется гораздо быстрее.

В оглавление книги \ К следующему разделу \ К предыдущему разделу


Поиск по сайту:

Система Orphus

Яндекс.Метрика