Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Дискретизация сложных двумерных и трехмерных областей для решения задач математического моделирования Щеглов Илья Александрович

Дискретизация сложных двумерных и трехмерных областей для решения задач математического моделирования
<
Дискретизация сложных двумерных и трехмерных областей для решения задач математического моделирования Дискретизация сложных двумерных и трехмерных областей для решения задач математического моделирования Дискретизация сложных двумерных и трехмерных областей для решения задач математического моделирования Дискретизация сложных двумерных и трехмерных областей для решения задач математического моделирования Дискретизация сложных двумерных и трехмерных областей для решения задач математического моделирования
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Щеглов Илья Александрович. Дискретизация сложных двумерных и трехмерных областей для решения задач математического моделирования : диссертация ... кандидата физико-математических наук : 05.13.18 / Щеглов Илья Александрович; [Место защиты: Моск. гос. техн. ун-т им. Н.Э. Баумана].- Москва, 2010.- 175 с.: ил. РГБ ОД, 61 10-1/1062

Содержание к диссертации

Введение

Глава 1. Методы дискретизации 31

1.1. Методы оценки качества сетки 31

1.2. Классификация методов 33

1.3. Прямые методы 37

1.3.1. Методы на основе шаблонов 39

1.4. Итерационные методы 49

1.4.1. Методы граничной коррекции 49

1.4.2. Методы на основе критерия Делоне 56

1.4.3. Методы исчерпывания 70

1.5. Некоторые методы улучшения сеток 74

1.5.1. Оптимизация расположения узлов, или сглаживание сетки 74

1.5.2. Оптимизация связей 76

1.5.3. Сгущение сетки 77

Глава 2. Реализация методов и разработка программного комплекса 83

2.1. Подходы к решению задачи дискретизации сложной области 83

2.2. Обзор проблем трехмерной дискретизации 84

2.3. Технические проблемы трехмерной дискретизации

2.3.1. Проблема задания области 86

2.3.2. Проблема хранения сеток в оперативной памяти и на жестком диске 88

2.3.3. Проблема контроля корректности сетки 90

2.3.4. Проблема визуализации и оценка качества

2.4. Общий алгоритм решения задачи 94

2.5. Двумерная триангуляция

2.5.1. Задание области 96

2.5.2. Алгоритм триангуляции "от угла" без сгущения 98

2.5.3. Проверка корректности элемента сетки 102

2.5.4. Алгоритм триангуляции "от угла" со сгущением 104

2.5.5. Оптимизация двумерной сетки 105

2.6. Трехмерная дискретизация 112

2.6.1. Задание области 112

2.6.2. Алгоритм дискретизации "от ребра" 113

з

2.6.3. Проверка корректности тетраэдра 116

2.6.4. Оптимизация трехмерной сетки 118

Глава 3. Описание программного комплекса и примеры его использования 121

3.1. Описание программного комплекса Gridder 121

3.1.1. Структура программного комплекса 121

3.1.2. Модуль Gridder2D 122

3.1.3. Модуль Gridder2D-VI (Visual Interface) 125

3.1.4. Модуль Gridder3D 127

3.1.5. Модуль Gridder3D-VI 128

3.1.6. Модуль оценки качества сеток GridQuality 129

3.1.7. Модули импорта геометрии 130

3.1.8. Экспорт данных 132

3.2. Примеры сеток и решенных на них задач 133

3.2.1. Модельная задача для уравнения Лапласа 133

3.2.2. Задача об МГД-насосе 138

3.2.3. Задача линейной упругости в ячейке композита 144

3.2.4. Задача о движении пластинчатого лайнера в магнитном компрессоре 147

Заключение 158

Литература

Введение к работе

Актуальность темы. Благодаря значительному прогрессу в области вычислительной техники численные методы стали основным инструментом математического моделирования. При этом по ряду причин наибольшее распространение получили проекционно-сеточные методы, в частности, метод конечных элементов. Все эти методы предполагают построение в области, в которой решается задача (далее – области решения), расчетной сетки, т.е. ее дискретизацию на мелкие фрагменты (элементы) определенного вида – треугольники, тетраэдры, призмы и др. При этом к размерам и форме элементов также предъявляются определенные требования, так как они существенно влияют на ошибку аппроксимации и сходимость методов. В рамках данной работы рассматриваются исключительно симплициальные элементы – треугольники в двумерном случае и тетраэдры в трехмерном – как наиболее универсальные и распространенные.

Несмотря на то, что дискретизация области обычно является лишь одним из этапов применения некоторого численного метода, ее часто выделяют в отдельную задачу, так как, во-первых, дискретизация связана с методом лишь опосредованно, через требования к сетке, и, как правило, может быть произведена независимо, а во-вторых, решение этой задачи требует использования совершенно иного комплекса методов и алгоритмов, нежели те, что применяются на остальных этапах численного метода. Подобная обособленность позволяет рассматривать задачу дискретизации отдельно, безотносительно какого-либо конкретного сеточного метода: на одной и той же сетке, как правило, можно реализовать целый ряд самых разных методов, причем не только конечно-элементных, но и разностных. По этой причине построение расчетной сетки часто называют одной из основных задач численных методов.

Представляемая диссертационная работа посвящена вопросам автоматизированного построения расчетных симплициальных сеток в сложных двумерных и трехмерных областях. Применительно к задаче дискретизации "сложными" называются области, на которые особенностями задачи или метода решения наложены некоторые дополнительные ограничения. Обычно эти ограничения имеют вид линий или поверхностей, которые не должны пересекаться ребрами сетки. В качестве типичного примера сложной области можно рассмотреть ячейку композиционного материала: сетку в ней необходимо построить так, чтобы каждый элемент сетки целиком принадлежал либо матрице, либо включению. Это условие равнозначно тому, что ребра сетки не должны пересекать границу раздела между матрицей и включением.

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

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

1. Анализ существующих методов дискретизации и возможностей их использования для дискретизации сложных областей.

2. Разработка и реализация алгоритмов дискретизации для двумерного и трехмерного случаев, а также алгоритмов оптимизации построенной сетки.

3. Решение ряда задач математического моделирования в сложных областях с помощью разработанного программного комплекса.

Методы исследования. В работе использованы методы аналитической геометрии, векторной алгебры, теории графов и математического анализа, а также различные численные методы.

Достоверность и обоснованность полученных результатов обеспечена строгостью используемого математического аппарата и подтверждена успешным применением на практике.

Научная новизна и практическая значимость. В рамках диссертационной работы разработан программный комплекс Gridder для дискретизации сложных плоских и пространственных областей. Комплекс успешно использован для решения ряда задач в ИПМ им. М.В. Келдыша РАН, что демонстрирует его практическую значимость. Новизна работы заключена в новой методике оценки качества сеток, разработанных автором алгоритмах двумерной и трехмерной дискретизации, основанных на идее метода исчерпывания, и алгоритмах оптимизации сеток методом локальной перестройки на основе топологического анализа.

На защиту выносятся следующие положения:

Разработанные автором алгоритмы двумерной и трехмерной дискретизации сложных областей и оптимизации сеток.

Разработанный программный комплекс Gridder.

Решенные с помощью комплекса Gridder задачи математического моделирования.

Апробация работы. Результаты работы докладывались на следующих семинарах и конференциях: II научно-методическая конференция аспирантов и молодых исследователей «Актуальные проблемы фундаментальных наук», МГТУ им. Н.Э. Баумана, (Москва, 2008); VI Республиканская научная конференция молодых учёных и студентов «Современные проблемы математики и вычислительной техники», (Брест, Беларусь, 2009); VII International Seminar on Mathematical Models and Modeling in Laser-Plasma Processes (Москва, 2010); семинар отдела №11 ИПМ им. М.В. Келдыша РАН "Вычислительные методы и математическое моделирование", (Москва, 2010).

Публикации. Основные научные результаты диссертации опубликованы в девяти печатных работах, в том числе в двух статьях в изданиях из Перечня ведущих научных журналов и изданий ВАК РФ [4, 5], в составе энциклопедического издания [7], в четырех препринтах [1, 2, 3, 6] и в двух тезисах докладов [8, 9].

Личный вклад соискателя. Все исследования в диссертационной работе проведены лично соискателем в процессе научной деятельности. Из совместных публикаций в диссертацию включен лишь тот материал, который непосредственно принадлежит соискателю. Заимствованный материал обозначен в работе ссылками.

Структура и объем работы. Диссертация состоит из введения, трех глав, заключения и списка литературы. Работа представлена на 163 страницах и содержит 101 иллюстрацию. Список литературы содержит 99 наименований.

Классификация методов

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

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

Прямых методов разработано немного (из-за ограниченной возможности их использования); все они условно могут быть разделены на две тесно связанные группы: методы на основе шаблонов и методы отображения. Методы на основе шаблонов подразумевают разбиение областей заданного вида (параллелепипед, шар, цилиндр, и т.д.). Соответственно, для каждого вида области используется свой шаблон, то есть принцип размещения узлов и установки связей между ними.

Методы отображения позволяют перейти от областей строгой геометрической формы к областями произвольного вида. Если возможно построить взаимнооднозначное отображение между заданной областью и областью какой-либо простой геометрической формы, то, разбив последнюю, можно отобразить полученную сетку на исходную область. Недостатком этого подхода является искажение сетки при отображении, которое может существенно снизить качество триангуляции [1, 2, 27]. Также методы отображения применяются при построении адаптивных сеток [11, 21].

Особым подклассом прямых методов являются методы дробления, которые основаны на принципе измельчения элементов уже построенной грубой сетки. В-двумерном случае эти методы очень эффективны, так как любой треугольник можно разбить на 4 или 9 одинаковых и подобных ему треугольников (соответственно, потери качества при дроблении не будет). К сожалению, в трехмерном случае эти методы почти не применимы, так как тетраэдр подобным образом разбить нельзя. Тетраэдр можно разбить на меньшие тетраэдры несколькими способами, однако при этом будут получены тетраэдры худшей формы, что приведет к снижению качества сетки [27].

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

Итерационные методы из-за своей универсальности получили наибольшее развитие. Разработано несколько различных подходов, которые можно разделить на три подкласса: методы граничной коррекции, методы на основе критерия Делоне и методы исчерпывания.

Методы граничной коррекции являются самыми быстрыми из итерационных методов, но имеют ряд неискоренимых недостатков. Построение сеток в этих методах осуществляется в два этапа. На первом этапе производится триангуляция некой простой "супер-области", полностью включающей в себя заданную область. Как правило, эта супер-область представляет собой прямоугольник или параллелепипед, триангуляция которого осуществляется на основе одного из многочисленных шаблонов. На втором этапе все узлы полученной сетки, лежащие вблизи границы заданной области, проецируются на поверхность границы, а узлы, лежащие вне заданной области, удаляются. Чтобы компенсировать неизбежные геометрические искажения элементов сетки вблизи границ, часто дополнительно проводят еще один этап - этап оптимизации сетки, что в итоге позволяет получить достаточно хорошие результаты. Данный метод нельзя применять для дискретизации областей с заданной триангуляцией границ. Это существенное ограничение, а также другие сложности снижают популярность метода, сводя на нет его основное преимущество - высокую скорость работы.

Сущность методов исчерпывания заключается в последовательном "вырезании" из заданной области фрагментов необходимой формы до тех пор, пока вся область не окажется "исчерпана". В англоязычной литературе этот метод получил название "advancing front", что также хорошо отражает идею метода. Исходными данными на каждой итерации является "фронт", то есть разбиение границы еще не "исчерпанной" части области. Каждый элемент границы является основанием для построения нового элемента сетки. При этом на каждой итерации может изыматься либо один элемент, либо сразу целый слой элементов. После изъятия элемента (-ов) "фронт" обновляется, после чего происходит переход к следующей итерации.

Методы исчерпывания универсальны и могут быть использованы для областей произвольной формы и конфигурации (даже для несвязных областей), что объясняет их популярность. Вместе с тем следует отметить их высокую ресурсоемкость и низкую скорость работы.

Методы на основе критерия Делоне часто называют просто методами Делоне (особенно а англоязычной литературе), хотя это не совсем корректно, поскольку сам Б.Н. Делоне никаких методов не разрабатывал, а лишь предложил простой и эффективный критерий, использующийся при установке связей между узлами. Соответственно, идеей этого класса методов является размещение в заданной области узлов и последующая расстановка между ними связей согласно критерию Делоне (либо иному схожему критерию).

Оптимизация расположения узлов, или сглаживание сетки

Коррекция первичной сетки Итак, пусть имеется некоторая сетка, наложенная на заданную область. Теперь необходимо отсечь у нее все лишнее и скорректировать положение узлов, лежащих близ границы области1. Это непростая задача, метод решения которой в основном определяется способом задания самой области. Основная трудность при реализации алгоритма граничной коррекции - необходимость добиться того, чтобы "ребра" границы области были аппроксимированы ребрами сетки, а во все "углы" границы непременно попали узлы сетки. Если граница области является гладкой, таких проблем не возникает, однако интересен более общий случай, в котором граница может иметь ряд различных особенностей (быть несвязной, невыпуклой, а также состоять из фрагментов поверхностей, пересекающихся под достаточно острыми углами, в том числе иметь конусообразные выпуклости).

Если в качестве входных данных передаются списки всех угловых точек, кривых и составляющих границу сплайнов2 (типичный случай, когда область импортируется из CAD-системы), то проблема решается достаточно просто. Задается массив "особых точек", куда входят все "угловые" и другие 1 Иногда обходятся и без этапа граничной коррекции, однако в этом случае граница получается аппроксимирована очень грубо. 2 "Сплайнами" в данном случае называются фрагменты поверхностей характерные точки, в которых обязательно должны размещаться узлы триангуляции. Если в области есть ребра, которым не принадлежат никакие угловые точки (примером такого ребра может служить линия пересечения цилиндра с призмой или овальное отверстие), то в указанный массив следует добавить произвольную точку, лежащую на этом ребре. Далее процесс граничной коррекции можно разбить на этапы.

1) Для каждого элемента массива "особых точек" находится ближайший узел первичной сетки и передвигается в эту точку с сохранением всех связей.

2) Для каждого элемента массива "особых точек" и для каждого ребра границы, в которое входит эта особая точка (таких ребер может и не быть -если, например, точка является вершиной конусообразного выступа), анализируется множество узлов-соседей передвинутого в эту точку узла первичной сетки и находится узел, ближе всех лежащий к ребру границы. Этот узел проецируется на ребро, и среди множества его соседей вновь находится узел, лежащий ближе всех к ребру (исключая узел, спроецированный на предыдущей итерации). Процедура проекции и поиска подходящих узлов-соседей повторяется до тех пор, пока найденный узел не окажется элементом множества "особых точек", т.е. пока "ребро" границы не окажется полностью аппроксимированным цепочкой ребер первичной сетки. Обработанное "ребро" исключается из дальнейшего рассмотрения (в рамках данного этапа). По окончанию этапа во всех "углах" границы области будут помещены узлы сетки, а все "ребра" окажутся аппроксимированы цепочками ребер. Далее остается только скорректировать положение узлов вблизи сплайнов (для трехмерного случая) - это один из самых простых этапов.

3) Для каждого сплайна рассматриваются ребра первичной сетки, пересекающие этот сплайн. Находится точка пересечения ребра с поверхностью и в нее перемещается тот конец ребра, который лежит к ней ближе. Следует делать именно так, а не проецировать ближайший узел на поверхность (что на первый взгляд кажется лучшим вариантом), поскольку в этом случае спроецированный узел может оказаться за пределами заданной области или попасть внутрь другого тетраэдра. Если ребро делится сплайном точно пополам, то для выбора перемещаемого узла проводится дополнительный анализ на основе, например, качества получающихся при этом тетраэдров.

4) В итоге проводится отсечение всех фрагментов первичной сетки, оставшихся за пределами заданной области. Иначе говоря, удаляются все узлы и ребра первичной сетки, лежащие вне заданной области.

Алгоритмы граничной коррекции обладают достаточно высокой скоростью работы. Другим достоинством является сравнительная простота их реализации. Помимо уже указанных повышенных требований к входным данным они обладают рядом других существенных недостатков. Во-первых, их крайне затруднительно использовать для дискретизации областей с заданной триангуляцией границы (фактически невозможно). Во-вторых, эти методы ненадежны, поэтому построенные с их помощью сетки необходимо проверять на правильность структуры. В-третьих, эти сетки обладают априори низким качеством элементов вблизи границы, поэтому для них столь же необходим и этап оптимизации (при этом; как правило, качество сетки удается существенно улучшить). В-четвертых, алгоритм граничной коррекции обладает низкой "чувствительностью", поэтому при недостаточно малом шаге триангуляции некоторые особенности области могут быть потеряны. В этом смысле алгоритм "quadtree/octree" обладает лучшими свойствами по сравнению с другими вариантами.

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

Типичные ошибки, с которыми сталкиваются при реализации алгоритмов граничной коррекции - это "слипание" узлов (когда два узла первичной сетки оказываются перемещены в одну точку), что приводит к появлению вырожденных элементов, а также появлению элементов с нулевым объемом (например, все узлы треугольника/тетраэдра оказываются на одной прямой/ в одной плоскости). Решение обеих проблем лежит в удалении "лишних" вершин и последующем обновлении связей.

Треугольная сетка на плоскости удовлетворяет критерию Делоне (или является триангуляцией Делоне), если внутрь окружности, описанной вокруг любого треугольника, не попадают никакие другие узлы этой сетки. Термин употребляется и по отношению к треугольнику сетки: треугольник удовлетворяет критерию Делоне (или условию "пустой окружности"), если критерию Делоне удовлетворяет сетка, составленная только из самого треугольника и соседних с ним треугольников. Критерии Делоне для тетраэдра и тетраэдрических сеток формулируется аналогичным образом [13 24, 69]. Триангуляция Делоне на плоскости обладает рядом интересных свойств [24, 84, 96]. В частности, триангуляция Делоне обладает наибольшей суммой минимальных углов всех своих треугольников, а также наименьшей суммой радиусов описанных вокруг треугольников окружностей среди всех возможных сеток на той же системе точек. Поскольку величины минимальных углов явным образом фигурируют в некоторых оценках качества аппроксимации (см. раздел 1.1), можно сказать, что триангуляция Делоне для заданного набора точек в определенном смысле является оптимальной.

Алгоритмы построения сеток на основе критерия Делоне впервые предложены Чарльзом Лоусоном (Charles Lawson) и Дэйвом Уотсоном (Dave Watson) [96]. За короткое время их идеи существенно развиты, и в настоящий момент проблема двумерной триангуляции методами на основе критерия Делоне фактически является закрытой. Разработаны быстрые и эффективные алгоритмы построения и оптимизации сеток, в том числе и в сложных (двумерных) областях [17, 24, 25, 31, 38, 45, 55, 68, 86, 99].

Проблема контроля корректности сетки

Другой способ улучшения формы элементов - это перестановка связей между узлами. Самый явный пример такой оптимизации - построение триангуляции Делоне. Как уже упоминалось выше, любая триангуляция на плоскости может быть приведена к триангуляции Делоне с помощью серии "флипов" (рис. 1-22). Трехмерный аналог этой процедуры не столь универсален, но все равно может быть использован для улучшения качества сетки. Напомним, что "трейд" позволяет менять два соседних тетраэдра на три путем вставки между ними дополнительного внутреннего ребра (рис. 1-23). Точно так же три тетраэдра, имеющие одно общее ребро, можно превратить в два, убрав это самое ребро. Французские математики Уман Борушаки (Houman Borouchaki) и Пол-Луис Жорж (Paul-Louis George) развили идею "трейда" и предложили его вариант для случая п тетраэдров, имеющих общее ребро [41]. В их алгоритме рассматривается множество узлов, инцидентных концам удаляемого ребра (таких узлов ровно и). Эти п узлов представляют собой многоугольник в пространстве, который в данном приложении можно рассматривать как многоугольник на плоскости. Этот многоугольник можно триангулировать числом способов, равным1: KW = r (2,w4)L: (3) = W4) = 2 5)= 5 6 = 14 KW= 42 (л-1)!(л-2)! Каждая триангуляция будет давать 2К(п) тетраэдров. Таким образом, задача сводится к перебору возможных вариантов и выбору оптимального. Поскольку п обычно лежит в пределах от 3 до б, это вполне осуществимо за реальное время. Как показывает опыт, несмотря на определенную сложность в реализации, этот метод позволяет довольно эффективно улучшать качество сетки за счет приведения ее к триангуляции Делоне (с ограничениями) [44, 47, 72].

Резюмируя сказанное, заметим, что все методы оптимизации сетки не конкурируют друг с другом, но взаимно дополняют. Согласно комплексному исследованию различных методов улучшения сеток, проведенному Л. Фрайтаг совместно с К. Оливье-Гуком [58], методы оптимизации связей позволяют улучшать общее качество сетки, а методы сглаживания позволяют эффективно избавляться от слишком больших и слишком маленьких двугранных и телесных углов. Наилучшего же результата можно добиться при совместном применении обеих техник.

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

Это так называемое число Каталана операция может существенно улучшить точность решения, поскольку ошибка аппроксимации явным образом зависит от размеров конечных элементов.

Заметим, что существует ряд алгоритмов, которые позволяют строить сетки сразу со сгущением ("quadtree/octree", алгоритм Рупперта построения триангуляции Делоне [89], и др.), однако в общем случае сгущение сетки производится отдельным этапом, уже после ее построения.

Сгущение может осуществляться двумя путями: дроблением элементов либо добавлением в сетку новых узлов. При этом встает проблема согласования сетки между вновь созданными элементами и старыми, не измененными элементами, граничащими с ними (далее мы будем называть эти элементы переходными).

Самый простой способ такого согласования - это дополнительное разбиение переходных элементов, как показано на рис. 1-35. Центральный треугольник дробится на 4 своих подобия, а в граничащие с ним элементы вставляются дополнительные ребра (в трехмерном случае ситуация совершенно аналогичная, за тем различием, что дробятся не только ребра, но и грани).

У этого способа есть существенный недостаток. Если и дальше продолжать измельчать центральный треугольник, это приведет к появлению вытянутых переходных элементов с очень плохими аппроксимационными свойствами (рис. 1-36).

Один из способов борьбы с этим нежелательным явлением еще в начале 90-х предложила (ныне) профессор университета республики Чили Мария-Сесилия Ривара. Она назвала свой метод "бисекцией длиннейшего ребра" ("Longest Edge Bisection"). Как явно следует из названия метода, его суть заключается в том, что на каждой итерации выбирается самое длинное ребро (из области триангуляции, подлежащей сгущению), которое затем разбивается пополам вставкой дополнительного узла. Треугольники, которым принадлежит это ребро, соответственно также разбиваются надвое вставкой внутренних ребер (рис. 1-37). При этом алгоритм продолжается до тех пор, пока все элементы не будут удовлетворять заданной функции распределения размеров.

Согласно исследованиям Ривары, в двумерном случае при использовании алгоритма бисекции минимальный угол уменьшается не более чем вдвое; это вполне допустимо, если учитывать предельную простоту реализации алгоритма. У алгоритма Ривары есть трехмерный аналог, основанной на той же идее. Точно так же выбирается самое длинное ребро из всех элементов, размеры которых превышают допустимые, и все тетраэдры, содержащие это ребро, разбиваются на два (рис. 1-38) [87, 88].

Вопрос об оценке ухудшения качества для алгоритма Ривары в трехмерном случае до сих пор открыт. Это связано в первую очередь с принципиально иным способом оценки, качества тетраэдров по сравнению с треугольниками. Совершенно однозначно, что может иметь место ухудшение качества более чем на 50% (в отличие от двумерного случая) [73, 81]. Другой недостаток алгоритма - необходимость в общем случае очень большого числа бисекции для достижения желаемого распределения размеров.

Существует принципиально иной способ локального сгущения сетки, основанный на методах построения триангуляции Делоне: в ту часть области, в которой необходимо обеспечить сгущение сетки, по одному добавляются дополнительные узлы, и на каждом таком шаге производится локальная перестройка сетки до триангуляции Делоне способом, описанным в подразделе 1.4.2. Этот метод весьма эффективен (хотя и трудоемок) и позволяет избежать значительных потерь качества при сгущении сеток [50, 59, 61, 65, 83].

Все описанные методы сгущения в равной степени подходят как к структурированным, так и к неструктурированным сеткам. Свойство структурированности, однако, открывает дополнительные возможности в осуществлении сгущения. Если сетка строится по некоему определенному шаблону, то можно особым образом подобрать и шаблон для осуществления локального сгущения.

Рассмотрим этот факт на примере шаблонов 3 и 4 дискретизации кубических меток, описанных в подразделе 1.3.1.

Эти шаблоны, помимо других преимуществ, допускают существование специальных переходных шаблонов, которые позволяют решить проблему переходных элементов. Для этого можно использовать специальный переходный слой, который позволяет за половину шага h перейти от сетки с шагом h к сетке с шагом h 12". Этот процесс проиллюстрирован рис. 1-39, а его двумерная аналогия представлена на рис. 1-40. Заметим, что тетраэдры в переходном слое имеют несколько худшую форму, чем основные тетраэдры (минимальное значение АХ для них имеет порядок 0.3).

Модуль оценки качества сеток GridQuality

Здесь Е и Н - напряженности электрического (в системе координат, где вещество покоится) и магнитного полей соответственно, В — магнитная индукция, /л - магнитная проницаемость, j - вектор плотности тока, г = (x,y,z) = (r,(p,z) — радиус-вектор, t - время, v - скорость движения вещества (в данном случае — металла, скорость остальных частиц в области равна нулю).

Благодаря наличию цилиндрической симметрии задачу можно решать в прямоугольнике в координатах (r,z) с постановкой дополнительных условий в центре области. Введем следующие обозначения для границ этой расчетной области: 8G = T .иГ 9 Г иГ ., где Г Г _— горизонтальные части границы, Г . - внешняя вертикальная граница, Г _ - вертикальная граница, соответствующая оси симметрии. Аналогичные обозначения для границ области, заполненной жидким металлом: 8G. = Г. и Г.„ и Г._ и Г,., где Г,.., Г._ — горизонтальные части границы, Г/9, Г.. -вертикальные. Вследствие двумерности (симметрии по углу ср) задачи Е = (0,і?р,0), H = (#r,0,#z), B = (Br,0,Bz), j = (0,7p,0), v = (ur,0,vz), все производные по (p в (3.2) равны нулю. Таким образом, векторы Н и v лежат в плоскости ( 140 r,z), а векторы E и j направлены перпендикулярно плоскости. Уравнения записаны в эйлеровых координатах.

Для решения системы (3.2) введен векторный потенциал А: В = rot А. Тогда последнее уравнение системы (3.2) выполняется автоматически.

Работа МГД-насоса основана на том, что многофазная обмотка, расположенная в пазах индуктора, создает бегущее магнитное поле, индуцирующее в слое жидкого металла электрические токи. Бегущее магнитное поле является периодическим и ячейка периодичности равна длине двух полюсных делений. В этом случае индукция магнитного поля меняется по синусоидальному закону: B = B„,sin( V + 0), где Вш ={Brm,Q,Bzm)— это вектор амплитуды индукции , а у/й - начальная фаза колебаний.

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

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

Здесьр — плотность вещества,р - гидродинамическое давление, r/=pv-коэффициент динамической вязкости, v - коэффициент кинематической вязкости, v - вектор скорости. Сила Лоренца имеет следующие компоненты: F = jxH= rotHxH=O,tf_.,0,- tfr)T. Протекание электрического тока и движение вязкой жидкости сопровождаются выделением тепла, которое распределяется по веществу посредством процессов кинематического переноса и теплопроводности. В качестве уравнения энергии в данном случае используется уравнение теплопроводности следующего вида: pc/ + (v,Vr)J = div(rgradJ) + (3.7) где Т - температура среды, с„ - удельная теплоемкость вещества, к -теплопроводность, ф - мощность выделения энергии, включающая в себя джоулево тепло и источник тепла за счет вязкости.

В начальный момент времени температура вещества считается заданной T(r,z,0) = T0(r,z), на границах раздела сред температура и нормальная компонента теплового потока являются непрерывными. На участке внешней границы Г =(Г 1 \Г...)и(Г \Г. )иГ . нормальная компонента потокаНа рис. 3-16 показана созданная с помощью Gridder2D сетка - целиком и некоторые увеличенные фрагменты. Следует отметить, что после построения сетка были дополнительно модифицирована аффинными преобразованиями, чем и объясняется вытянутая форма элементов вблизи обкладок пазов с обмоткой и обечаек канала. На рис. 3-17 - решения задачи в различные моменты времени, полученные на этой сетке.

В качестве примера задачи в сложной трехмерной области рассмотрим модельную задачу определения напряженно-деформированного состояния в ячейке композиционного материала [14]. Математическая модель задачи описывается уравнениями линейной стационарной теории упругости: М 2(l + v) (l + v)(l-2v) Пусть ячейка периодичности имеет вид куба, в центре которого находится включение (гранула) также в форме куба, но произвольно ориентированного в пространстве (рис. 3-18а). Для определенности возьмем в качестве материала матрицы медь (модуль Юнга = 115-Ю9, коэффициент Пуассона = 0.34), а в качестве материала включения - высокоуглеродистую сталь (модуль Юнга = 200 -109, коэффициент Пуассона = 0.285). Таким образом, в данной задаче коэффициенты Ламе являются кусочно-постоянными функциями. Закрепим нижнюю грань (и =0), а к верхней приложим равномерно распределенное усилие Р = 105 Н, направленное по внешней нормали к грани (а пг = Р, Р - (0,0, Р)). Остальную часть границы области считаем свободной (о"-п =0). В приведенных выше уравнениях использованы следующие обозначения: п - внешняя нормаль, Г,- нижняя граница области, Г2— верхняя граница области, Г3 - боковая граница. Для сравнения также решим аналогичную задачу, но для области без включения. Для решения данной задачи использовался решатель программного комплекса ELMER (на основе МКЭ).

На рис. 3-186 показана исходная сетка (3315 тетраэдров); на рис. 3-19 представлен результат решения задачи для задачи без включения, а на рис. 3-20 - с включением. Результаты представлены в виде т.н. деформированной сетки, которая образуется смещением исходных координат узлов сетки на величину, пропорциональную найденному значению перемещения для этого узла. В данном случае коэффициент пропорциональности равен 106. Треугольники поверхности окрашены в соответствии в z-координатой их барицентра. Как и следовало ожидать, деформация для области без включения является однородной и симметричной, соответственно и верхняя грань остается плоской. В задаче для области с включением, из-за наличия в центре куба гранулы с большей жесткостью, верхняя грань оказывается несколько вогнутой. Численные результаты приведены в таблице 1.

Похожие диссертации на Дискретизация сложных двумерных и трехмерных областей для решения задач математического моделирования