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

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

Рубрика Математика
Вид курсовая работа
Язык русский
Дата добавления 29.05.2015
Размер файла 748,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

РОССИЙСКАЯ АКАДЕМИЯ НАУК

Ордена Ленина Институт прикладной математики им. М.В. Келдыша

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

Галанин М.П., Щеглов И.А.

Москва - 2006

Аннотация

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

Abstract

A short overview and a classification of existing simplicial discretization algorithms are given. A mesh quality evaluation method is proposed. Direct discretization methods are discussed with the emphasis on optimal patterns for sphere-like, cylinder-like and box-like volumes. Also a method for mesh mapping (based on isoparametric mapping) is described.

Содержание

  • Введение
    • 1. Классификация методов
    • 1.1 Оценка качества сетки
    • 1.2 Особенности построения сеток в сложных областях
  • 2. Прямые методы
    • 2.1 Методы на основе шаблонов
      • 2.1.1 Триангуляция параллелепипеда
      • 2.1.2 Триангуляция цилиндра
      • 2.1.3 Триангуляция шара
    • 2.2 Методы отображения
  • Список литературы
  • Введение
  • При решении различных задач математического моделирования широко применяются проекционно-сеточные методы. Их использование предполагает предварительное построение так называемой "сетки", то есть некоего топологического множества точек ("вершин", "узлов"), связанных между собой "ребрами" - отрезками прямых (а в некоторых случаях и кривых) линий таким образом, что исходная область разбивается на элементы определенной формы. При этом в качестве элементов сетки, если речь идет о геометрически сложных областях, обычно используются геометрические симплексы, т. е. треугольники в двумерном и тетраэдры в трехмерном случае. Процесс построения сетки обычно называется дискретизацией или триангуляцией (даже если речь идет о трех измерениях).
  • Развитие вычислительной техники способствовало значительному прогрессу в области численных методов вообще и в области методов триангуляции в частности. Разработаны новые классы методов, значительно более ресурсоемкие, но вместе с тем и более эффективные. В то же время под многие эмпирические методы триангуляции подведена теоретическая база.
  • В настоящее время двумерная триангуляция (без адаптации к решению) является фактически закрытой проблемой. Разработаны и теоретически обоснованы эффективные и надежные методы построения и оптимизации сеток; свойства элементов-треугольников - хорошо изучены. Вместе с тем проблема трехмерной дискретизации еще далека от окончательного решения: большая часть методов теоретически не обоснована, а многие задачи вообще не решены.
  • На первый взгляд подобное различие кажется странным, ведь обычно математические методы, разработанные для случая двух измерений, легко переносятся на случай трех и более измерений. К сожалению, трехмерное пространство обладает рядом особенностей, которые затрудняют подобный перенос.
  • Например, плоскость можно элементарно заполнить правильными треугольниками; пространство правильными тетраэдрами заполнить нельзя. Это основное препятствие на пути создания качественных трехмерных сеток: поскольку в качестве элементов невозможно использовать правильные тетраэдры, приходится обходиться их подобиями, что негативно сказывается на аппроксимационных свойствах сетки.
  • Более того, любой треугольник можно разбить на треугольники, подобные ему (на 4, 9, 16 и т.д.). Тетраэдр в общем случае нельзя разбить на подобные тетраэдры. Это является основным препятствием на пути использования методов дробления, эффективно применяющихся в двумерном случае.
  • Любой многоугольник на плоскости можно ребрами разбить на непересекающиеся треугольники. В общем случае произвольный многогранник нельзя разбить на непересекающиеся тетраэдры, не используя дополнительных вершин. Эта проблема может быть названа краеугольной, поскольку существенно усложняет использование практически всех алгоритмов триангуляции.
  • Помимо указанных сложностей теоретического плана, есть сложности практического характера. Например, невозможность (а точнее говоря, крайне высокая сложность) осуществления человеческого контроля над процессом триангуляции. Если в плоском случае всегда можно вывести результат на дисплей для последующей его коррекции оператором, то для объемных областей это представляется уже весьма затруднительным. Ввиду этого на методы трехмерной триангуляции накладываются дополнительные требования по надежности работы и правильности построения. Кроме того, следует учитывать и значительное увеличение потребляемых ресурсов из-за большего числа пространственных измерений (и, соответственно, количества элементов сетки).
  • Целью данной работы является рассмотрение и классификация существующих методов построения тетраэдрических сеток в трехмерных областях. Ввиду значительного объема информации ниже рассматриваются только так называемые "прямые методы". Методы других классов, включая оригинальные, описаны в работе [45].
  • Работа выполнена при частичной финансовой поддержке Российского фонда фундаментальных исследований (проект № 06-01-00421).
  • 1. Классификация методов
  • Все методы триангуляции по принципу построения можно разбить на две большие группы: прямые методы и итерационные методы. В прямых методах сетка строится за один этап, причем ее топология (иначе говоря, граф связей между узлами) и координаты всех узлов известны изначально. В итерационных методах сетка строится последовательно; на каждом шаге добавляется один или несколько элементов, причем изначально не известны ни координаты узлов, ни топология сетки. Кроме того, координаты узлов и топология могут меняться прямо в процессе построения.
  • Главными преимуществами прямых методов являются скорость работы и надежность. Сетка строится практически "мгновенно", при минимальной затрате ресурсов и с минимальным риском ошибки. В то же время эти методы применимы только для областей определенной геометрической конфигурации, поэтому ни о какой универсальности речи быть не может.
  • Итерационные методы, напротив, универсальны и, как правило, применимы для областей достаточно произвольной формы. Именно поэтому итерационные методы в основном и используются в автоматических программных комплексах. Недостатком этого класса методов являются ресурсоемкость, существенно более медленная скорость работы (по сравнению с прямыми методами) и меньшая надежность.
  • Прямых методов разработано немного (из-за ограниченной возможности их использования); все они условно могут быть разделены на две тесно связанные группы: методы на основе шаблонов и методы отображения (изопараметрические). Методы на основе шаблонов подразумевают разбиение областей заданного вида (параллелепипед, шар, цилиндр, и т.д.). Соответственно, для каждого вида области используется свой шаблон, то есть принцип размещения узлов и установки связей между ними.
  • Методы отображения являются своего рода попыткой перекинуть мостик между областями строгой геометрической формы и областями произвольного вида. Если возможно построить взаимнооднозначное отображение между заданной областью и какой-либо простой геометрической формой, то, разбив последнюю, можно отобразить полученную сетку на исходную область. Очевидным недостатком этого подхода является искажение сетки при отображении, которое может существенно снизить качество триангуляции.
  • Сетки, полученные прямыми методами, являются структурированными, т.е. их топология полностью определяется некоторым набором правил. Это означает, что зная только индексы узла, можно определить всех его соседей, а также вычислить координаты. Это важное свойство позволяет существенно экономить компьютерные ресурсы.
  • Итерационные методы из-за своей универсальности получили наибольшее развитие. Разработано несколько различных подходов, которые можно разделить на три подкласса: методы граничной коррекции, методы на основе критерия Делоне и методы исчерпывания.
  • Методы граничной коррекции являются самыми быстрыми из итерационных методов, но, к сожалению, имеют ряд неискоренимых недостатков. Построение сеток в этих методах осуществляется в два этапа. На первом этапе производится триангуляция некой простой "супер-области", полностью включающей в себя заданную область. Как правило, эта супер-область представляет собой параллелепипед (из-за простоты триангуляции), триангуляция которого осуществляется на основе одного из многочисленных шаблонов. На втором этапе все узлы полученной сетки, лежащие вблизи границы заданной области, проецируются на поверхность границы; а узлы, лежащие вне заданной области - удаляются. Чтобы компенсировать неизбежные геометрические искажения элементов сетки вблизи границ, часто дополнительно проводят еще один этап - этап оптимизации сетки, что в итоге позволяет получить достаточно хорошие результаты.
  • Очевидно, что данный метод нельзя применять для дискретизации областей с заданной триангуляцией границ. Это существенное ограничение, а также другие сложности снижают популярность метода, сводя на нет его основное преимущество - высокую скорость работы.
  • Сущность методов исчерпывания заключается в последовательном "вырезании" из заданной области фрагментов тетраэдрической формы до тех пор, пока вся область не окажется "исчерпана". В англоязычной литературе этот метод получил название "advancing front", что также хорошо отражает идею метода. Исходными данными на каждой итерации является "фронт", то есть триангуляция границы еще не "исчерпанной" части области. Каждый треугольник этой триангуляции является основанием изымаемого из области тетраэдра; причем на каждой итерации может изыматься либо один тетраэдр, либо сразу целый слой тетраэдров. После изъятия тетраэдра (-ов) "фронт" обновляется, после чего происходит переход к следующей итерации.
  • Методы исчерпывания универсальны и могут быть использованы для областей произвольной формы и конфигурации (даже для несвязных областей), что объясняет их популярность. В частности, именно эти методы используются в программном комплексе ANSYS. Вместе с тем следует отметить их высокую ресурсоемкость и низкую скорость работы.
  • Методы на основе критерия Делоне часто называют просто методами Делоне, хотя это не совсем корректно, поскольку сам Б.Н. Делоне никаких методов не разрабатывал, а лишь предложил простой и эффективный критерий, использующийся при установке связей между узлами. Соответственно, идеей этого класса методов является размещение в заданной области узлов и последующая расстановка между ними связей согласно критерию Делоне (либо иному схожему критерию).
  • В двумерном случае этот подход получил наибольшую популярность, поскольку он позволяет быстро и эффективно конструировать сетки с априори высоким качеством триангуляции. Однако при переходе к трем измерениям исследователи столкнулись с рядом проблем, затрудняющих использование этого критерия. Тем не менее, эти методы получили достаточно хорошее развитие и пользуются заслуженной популярностью.
  • 1.1 Оценка качества сетки
  • Сравнение эффективности различных методов дискретизации невозможно без обозначения некоего критерия качества построенной сетки. Поскольку сетка строится не ради самого построения, а ради решения некоторой задачи, разумно увязать этот критерий с аппроксимационными свойствами сетки. Согласно теории, эти свойства в основном зависят от формы элементов [4]. В частности, в оценки погрешности аппроксимации конечным элементом , как правило, входит величина
  • (1)
  • где - радиус вписанного в шара, а - диаметр [1]. Поскольку прямое нахождение (1) хотя и возможно, но весьма трудоемко, на практике используются различные альтернативные оценки. Таких оценок предложено большое количество, некоторые наиболее популярные приведены в таблице 1. Однако оптимальной с точки зрения точности, полноты оценки качества сетки и удобства нахождения является следующая оценка [1, 31]:
  • , (2)
  • где - объем тетраэдра, а - наибольшее из произведений длин тройки ребер, выходящих из одной вершины. Далее мы будем использовать именно эту оценку.
  • Поскольку величина (2) имеет порядок десятых и сотых, для наглядности ее удобно относить к значению идеального случая - правильного тетраэдра. (Для него, как можно подсчитать, эта величина равна ). Назовем это отношение ( из (2) к идеальному значению) "аппроксимационной характеристикой" (АХ) элемента. Возможные значения АХ лежат в пределах от 0 до 1; чем ближе к 1, тем лучше.
  • Для качественного анализа сетки наибольшую важность имеют минимальное и среднее значения АХ: первое участвует в оценках качества аппроксимации, второе свидетельствует об общем качестве сетки. Для геометрически сложных областей хорошим результатом будет среднее значение АХ, равное хотя бы 1/2.
  • Таблица 1. Критерии оценки качества элементов сетки [25]
  • Критерий

    Формула

    Интервал возможных значений

    Оптимальное значение

    Отношение радиуса описанной сферы к радиусу вписанной

    3.0

    Отношение длины наибольшего ребра к радиусу вписанной окружности

    4.898979...

    Отношение радиуса описанной окружности к длине наибольшего ребра

    0.612375...

    Отношение длин наибольшего и наименьшего ребер

    1.0

    Отношение 4-й степени объема тетраэдра к кубу суммы квадратов площадей граней

    4.572474e-4

    Отношение куба среднего арифметического длин ребер к объему тетраэдра

    8.4852816...

    Отношение куба среднего геометрического длин ребер к объему тетраэдра

    8.4852816...

    Наибольший двугранный угол

    (1.2309594...)

    Минимальный телесный угол

    • 1.2 Особенности построения сеток в сложных областях
    • Одной из распространенных задач дискретизации является триангуляция сложных областей, т.е. областей, на которые наложены различные дополнительные ограничения, обусловленные, например, изменением свойств материала либо некими конструкционными особенностями моделируемого объекта. Как правило, ограничения, накладываемые на область, а точнее говоря, на сетку в этой области, носят характер запрета на пересечение ребрами сетки некоторых заданных поверхностей. То есть, например, если речь идет о композитном материале, ребра сетки не должны пересекать границу между включением и матрицей. Фактически это равнозначно тому, что каждый конечный элемент сетки должен "состоять" строго из одного материала. Это ограничение вызвано вполне понятными причинами, и его необходимо учитывать при построении сетки. тетраэдрический параллелепипед триангуляция
    • Еще один вариант (встречается очень редко) - это ограничение в виде заданной кривой, которая не должна пересекать грани элементов сетки, то есть должна быть аппроксимирована непрерывной цепочкой ребер.
    • Таким образом, условно можно выделить два типа сложных областей:
    • 1) области, состоящие из непересекающихся замкнутых подобластей;
    • 2) области с внутренними ограничениями в виде поверхностей или кривых.
    • Примером области первого типа служит модели композитных материалов, примером второго - модели, исследующие развитие трещин в материале (в двумерном случае типичным примером областей II типа служат геодезические карты, где узлами сетки служат замеры высот, а линиями-ограничениями - контуры рек, оврагов и озер).
    • Рис. 1. Пример сложной области I типа: шар в кубе (композитный материал)
    • Рис. 2. Пример сложной области II типа: фрагмент плоскости в кубе
    • По сути дискретизация сложных областей первого типа заключается в независимой дискретизации каждой подобласти с условием согласования сеток на границах. Из такой постановки задачи естественным образом вытекает следующая возможная схема решения:
    • 1) триангуляция границ смежных подобластей;
    • 2) дискретизация подобластей исходя из заданной триангуляции границ.
    • При этом для дискретизации каждой подобласти может быть использован наиболее подходящий метод. В частности, для областей простой геометрической формы (параллелепипеды, шары, цилиндры, призмы) могут быть использованы прямые методы (более ресурсоемкие методы использовать просто нецелесообразно). Для геометрически сложных областей наиболее естественным является использование методов исчерпывания, так как результат триангуляции границы дает фактически необходимые исходные данные для этих методов (т.е. начальный фронт).
    • Для сложных областей второго типа обычно используются методы на основе критерия Делоне, так как они позволяют предварительно размещать узлы на заданных ограничениях (поверхностях/кривых), либо методы граничной коррекции. Эти методы с некоторыми дополнительными условиями можно использовать и для дискретизации областей первого типа.
    • Заметим также, что могут встречаться сложные области и комбинированного типа, т.е., например, одна из подобластей может включать в себя ограничения в виде поверхностей или кривых. Поэтому указанное разграничение на типы весьма условно.
    • 2. Прямые методы
    • Главными преимуществами прямых методов являются высокая скорость работы, надежность и простота реализации; основным недостатком - ограниченная область применения. Фактически, эффективно использовать прямые методы можно только для триангуляции самых простых областей - шара, параллелепипеда, цилиндра и т.п. Впрочем, нередко такие области являются частью некоторых сложных областей, и использование прямых методов вместо итерационных в этом случае позволяет существенно экономить машинные ресурсы и время. Кроме того, прямые методы могут использоваться также для триангуляции и геометрически сложных областей заданного типа, что, однако, требует индивидуального подхода к каждой задаче. При этом даже несмотря на то, что алгоритм получается адаптированным под заданную область, не всегда можно гарантировать хорошее качество сетки.
    • Сетки, построенные с помощью прямых методов, могут быть использованы и в итерационных методах. В первую очередь это касается методов граничной коррекции. Размещение узлов в методах на основе критерия Делоне нередко осуществляется с помощью одного из прямых алгоритмов (с последующей коррекцией).
    • Таким образом, несмотря на все ограничения, прямые методы все равно находят свое применение в дискретизации пространственных областей.
    • Важной особенностью сеток, построенных с помощью прямых методов, является их структурированность. Структурированные сетки имеют четкую топологию и позволяют ввести особую индексацию вершин. Таким образом, зная только индексы узла, можно легко определить всех его соседей (иными словами, инцидентные ему узлы, т.е. все узлы, с которыми у него есть общее ребро), а также вычислить его координаты.
    • Рассмотрим, например, так называемую "кубическую сетку", то есть сетку, полученную разбиением исходного параллелепипеда на равные "кубы" (слово "куб" здесь употребляется исключительно в топологическом смысле, поскольку ребра у такого "куба" необязательно строго равны). Если размеры куба - hx, hy, hz, и он ориентирован по осям координат, то узел с индексами i,j,k имеет координаты (Ox + i*hx, Oy + j*hy, Oz + k*hz), а его соседями являются узлы с индексами (i ± 1, i, k), (i, j ± 1, k) и (i, j, k ± 1).
    • Таким образом, нет необходимости хранить в памяти ни координаты узла, ни список его соседей. Аналогичную систему индексации можно использовать и для других структурированных сеток. Помимо экономии ресурсов, структурированность сетки заметно облегчает написание алгоритмов, в том числе алгоритмов сгущения и оптимизации.
    • Рис. 3. Кубическая сетка
    • 2.1 Методы на основе шаблонов
    • Шаблоном называют некий принцип размещения узлов и установки связей между ними. Каждый шаблон применим только к областям заданного вида. Благодаря такой узкой специализации, сетки, построенные на шаблонах, часто могут быть высокого качества.
    • Из-за четкой структурированности сетки на шаблонах, как правило, невозможно стыковать друг с другом. Решением этой проблемы может быть использование специальных "переходных" областей, сетка в которых строится либо на основе специальных шаблонов, либо с помощью одного из итерационных методов.
    • 2.1.1 Триангуляция параллелепипеда
    • Самая простая для триангуляции и в то же время довольно часто встречающая область - это параллелепипед. Для нее предложено несколько различных шаблонов, и все они базируются на описанной выше кубической сетке.
    • При "классическом подходе", описанном в каждой книге по триангуляции [1, 6, 19, 30, и др.], область разбивается на кубы, а затем каждый куб уже разбивается на пять или шесть тетраэдров путем вставки диагональных и внутренних ребер:
    • Рис. 4. Разбиение куба на шесть (слева) и пять (справа) тетраэдров
    • У каждого из этих вариантов есть свои достоинства и недостатки:
    • Шаблон 1: "6 тетраэдров"

      Шаблон 2: "5 тетраэдров"

      Однородность сетки: все внутренние узлы имеют одинаковое число соседей (по 14).

      Сетка неоднородна, узлы имеют "сильно" разное число соседей ("половина" - 6, а "половина" - 18).

      Низкое качество сетки (средняя АХ получающихся тетраэдров - 0.3).

      Хорошее качество сетки (средняя АХ тетраэдров - 0.7).

      Простота построения и согласования сетки на границе.

      Большая сложность построения и согласования (из-за необходимости чередовать направления диагональных ребер).

      • Существуют и другие, лучшие шаблоны. Рассмотрим два из них. Оба этих шаблона базируются на идее вставки внутрь каждого элемента кубической сетки дополнительного узла. Каждый из этих дополнительных узлов соединяется ребрами с вершинами куба, в результате чего исходный параллелепипед разбивается на два типа элементов:
      • 1) граничные - в виде четырехугольной пирамиды (т.е. пирамиды, основанием которой является квадрат);
      • 2) внутренние - в виде объемного ромба, составленного из двух четырехугольных пирамид, соединенных основаниями.
      • Рис. 5. Вставка внутрь кубической сетки дополнительных вершин; справа отдельно изображен получающийся в результате ромбовидный элемент.
      • Чтобы разбить граничные пирамидальные элементы, достаточно вставить диагональное ребро (причем произвольно ориентированное); при этом получаются два одинаковых тетраэдра с АХ порядка 0.5.
      • Разбить внутренние ромбовидные элементы можно уже несколькими различными способами, и именно выбранным вариантом различаются между собой вышеупомянутые шаблоны.
      • Шаблон 3: вставка диагонального ребра между узлами кубической сетки.
      • Шаблон 4: вставка ребра между дополнительными узлами.
      • И в том и в другом случае при этом получается 4 одинаковых тетраэдра. Однако есть и существенные различия:
      • Шаблон 3:

        Шаблон 4:

        допускает 2 варианта вставки ребер;

        допускает единственный вариант вставки ребер (для внутренних элементов);

        неоднородность сетки (дополнительные узлы имеют всего по 8 соседей);

        подавляющая однородность сетки (все внутренние узлы, за исключение дополнительных приграничных узлов, имеют по 14 соседей);

        полная элементная однородность - все элементы одинаковы;

        приграничные элементы отличаются от внутренних;

        хорошее качество сетки (все тетраэдры имеют АХ порядка 0.5);

        очень высокое качество сетки (приграничные тетраэдры имеют АХ порядка 0.5, внутренние -

        порядка 0.9)

        Рис. 6. Шаблон 3 - вставка ребра между узлами кубической сетки

        Рис. 7. Шаблон 4 - вставка ребра между дополнительными узлами

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

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

        В завершение заметим, что по совокупности достоинств и недостатков оптимальным является использование шаблона 4.

        2.1.2 Триангуляция цилиндра

        Прежде чем приступить к триангуляции цилиндра, обратимся к триангуляции круга.

        Существует несколько различных подходов к решению этой задачи. Один из вариантов предполагает разбиение круга на несколько четырехугольных областей, которые затем разбиваются на "квадраты"; окончательно полученные "квадраты" делятся на два треугольника (рис. 8).

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

        Рис. 8. Разбиение круга на 5 четырехугольных подобластей с последующим их разбиением на "квадраты" и треугольники

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

        ,

        где i - номер окружности, - ее радиус, j - номер узла, а N - количество секторов.

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

        Рис. 9. Построение сетки в круге на основе 4 секторов

        Рис. 10. Построение сетки в круге на основе 6 секторов

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

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

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

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

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

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

        Рис. 13. Вставка в призматическую сетку дополнительных узлов

        Окончательно полученные элементы разбиваются на тетраэдры. Граничные пирамиды - вставкой диагональных ребер, внутренние ромбы - вставкой ребра между дополнительными узлами. При удачном подборе параметров итоговая сетка будет обладать неплохим качеством (среднее значение АХ порядка 0.5). К сожалению, однородности добиться не удастся (дополнительные узлы будут иметь всего по 11 соседей, а базовые - по 18), хотя четкая структурированность по-прежнему будет иметь место.

        2.1.3 Триангуляция шара

        Один из самых популярных методов дискретизации сферических областей основан на варианте метода дробления. Как и в случае с кругом, шар разбивается на сектора, но уже тетраэдрической формы. Для этого можно использовать либо 3 взаимно перпендикулярные плоскости, проходящие через центр шара (рис. 14), либо вписанный в шар икосаэдр (правильный 20-гранник, гранями которого являются равносторонние треугольники). Второй вариант предпочтительней из-за существенно меньших геометрических искажений сетки при ее построении (рис. 15).

        Рис. 14. Разбиение сферы на 8 секторов

        Рис. 15. Разбиение сферы на 20 секторов с помощью вписанного икосаэдра

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

        Рассмотрим два возможных шаблона дробления тетраэдра.

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

        Рис. 16. Дробление тетраэдра на 8 частей

        При использовании второго шаблона тетраэдр разбивается на 27 частей. Для этого необходимо разбить каждое его ребро на три равные части и вставить по дополнительному узлу в центр каждой грани. Каждая грань при этом разобьется на 9 треугольников. Соединив ребрами узлы, лежащие в центрах граней, получим разбиение исходного тетраэдра на 11 тетраэдров и 4 объемных ромба, каждый из которых затем оптимальным образом разбивается на 4 тетраэдра.

        Рис. 17. Дробление тетраэдра на 27 частей

        Процесс дробления можно продолжать итерационно до тех пор, пока элементы не станут нужного размера.

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

        Заметим, что при использовании метода дробления на основе 20 секторов сетка, которая образуется на границе сферы, будет состоять из правильных треугольников. Это весьма благотворно сказывается на качестве аппроксимации граничных условий [18]. Общее качество дискретизации шара методом дробления также довольно велико, хотя и (слабо экспоненциально) ухудшается с каждым шагом дробления. Для трех шагов дробления (при дроблении на 27 тетраэдров) средняя АХ будет около 0.5 (при этом линейные размеры элементов будут составлять примерно 1/50 от диаметра шара). К сожалению, сетки на основе метода дробления неоднородны и, как правило, не имеют четкой топологической структуры (при оптимальном подборе направления вставляемых ребер).

        2.2 Методы отображения

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

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

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

        Как правило, для отображения используются два типа преобразований - "простейшие" аффинные, позволяющие только растягивать/сжимать сетку и более универсальные изопараметрические, позволяющие отображать сетки даже в криволинейные области (рис. 18).

        Рис. 18. Виды преобразований

        Напомним, что аффинным называется линейное преобразование координат:

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

        Рис. 19. "Стандартный вид" некоторых геометрических форм: квадрат, треугольник, круг

        Большее значение имеют изопараметрические преобразования. Заметим, что они нашли широкое применение не только в методах отображения, но и при решении задач на основе криволинейных элементов [1].

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

        Проиллюстрируем вышесказанное на простейшем примере. Рассмотрим некоторый невырожденный треугольник с вершинами (вершина имеет координаты ) и определим его барицентрические координаты. Для каждой точки этого треугольника барицентрические координаты вводятся как решение системы

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

        Таким образом мы связали (декартовы) координаты каждой точки треугольника с (декартовыми) координатами его вершин:

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

        Рис. 20. Барицентрические координаты

        После того, как барицентрические координаты узла найдены, его новое положение вычисляется простой подстановкой в формулу (5) координат вершин вместо координат .

        В рассмотренном примере прямолинейный треугольник отображался в прямолинейный треугольник. В этом случае вполне можно обойтись и аффинным преобразованием. Рассмотрим теперь отображение прямоугольной области в некоторую криволинейную.

        На рис. 21 показана исходная прямоугольная область (), которую необходимо отобразить в область () с двумя криволинейными границами.

        Рис. 21. Изопараметрическое отображение

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

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

        ,

        ,

        ,

        .

        По сути это отношения площадей прямоугольников.

        Тогда набор базисных функций выражается через следующим образом:

        Несложно проверить, что для данного набора также выполняется свойство .

        Таким образом алгоритм вычисления новых декартовых координат узла x выглядит следующим образом:

        1) поиск прямым вычислением барицентрических координат ;

        2) вычисление барицентрических координат ;

        3) вычисление новых декартовых координат узла х по формуле

        .

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

        Список литературы

        1. Шайдуров В.В. Многосеточные методы конечных элементов. - М., Наука, 1989. - 288с.

        2. Скворцов А.В. Обзор алгоритмов построения триангуляции Делоне // Вычислительные методы и программирование, 2002, №3, c. 14-39.

        3. Скворцов А.В. Алгоритмы построения триангуляции с ограничениями // Вычислительные методы и программирование, 2002, №3, c. 82-92.

        4. I.Babushka, W.C. Rheinboldt. A-posteriori Error Estimates for Finite Element Method // Int. J. Numer. Meth. Eng., Vol. 12, p.p. 1597-1615, 1978.

        5. T.J. Baker. Automatic Mesh Generation for Complex Three-Dimensional Regions Using a Constrained Delaunay Triangulation // Engineering With Computers, Springer-Verlag, № 5, p.p. 161-175, 1989.

        6. M. Bern, D. Eppstein. Mesh Generation and Optimal Triangulation // Computing in Euclidean Geometry, World Scientific Publishing Co., p.p. 23-90, 1995.

        7. D.K. Blandford, G. Blelloch, D. Cardoze, C. Kadow. Compact Representations of Simplicial Meshes In Two and Three Dimensions // Proceedings of 12th International Meshing Roundtable, Sandia National Laboratories, p.p.135-146, Sept. 2003.

        8. H. Borouchaki, S.H. Lo. Fast Delaunay Triangulation In Three Dimensions // Computer Methods In Applied Mechanics And Engineering, Elsevier, Vol. 128, p.p. 153-167, 1995.

        9. E.K. Buratynski. A Three-Dimensional Unstructured Mesh Generator for Arbitrary Internal Boundaries // Numerical Grid Generation in Computational Fluid Mechanics, Pineridge Press, p.p. 621-631, 1988.

        10. P.R. Cavalcanti, U.T. Mello. Three-Dimensional Constrained Delaunay Triangulation: A Minimalist Approach // Proceedings of the 8th International Meshing Roundtable, p.p. 119-129, 1999.

        11. Dey, K. Tamal, K. Sugihara, C.L. Bajaj. Delaunay Triangulations In Three Dimensions With Finite Precision Arithmetic // Computer Aided Geometric Design, North-Holland, № 9, p.p. 457-470, 1992.

        12. H.N. Djidjev. Force-Directed Methods For Smoothing Unstructured Triangular And Tetrahedral Meshes // Proceedings of 9th International Meshing Roundtable, Sandia National Laboratories, p.p. 395-406, October 2000.

        13. L. Durbeck. Evaporation: A Technique For Visualizing Mesh Quality // Proceedings of 8th International Meshing Roundtable, South Lake Tahoe, CA, U.S.A., p.p. 259-265, October 1999.

        14. D.A. Field. Laplacian Smoothing And Delaunay Triangulations // Communications in Applied Numerical Methods., vol. 4, p.p. 709-712, 1988.

        15. P.J. Frey, H. Borouchaki, P.-L. George. Delaunay Tetrahedralization Using an Advancing-Front Approach // Proceedings of 5th International Meshing Roundtable, Sandia National Laboratories, p.p. 31-46, October 1996.

        16. L.A. Freitag, C. Ollivier-Gooch. A Comparison of Tetrahedral Mesh Improvement Techniques // Proceedings of 5th International Meshing Roundtable, Sandia National Laboratories, p.p. 87-106, October 1996.

        17. L.A. Freitag, C. Ollivier-Gooch. Tetrahedral Mesh Improvement Using Swapping and Smoothing // International Journal for Numerical Methods in Engineering, vol. 40, p.p. 3979-4002, 1995.

        18. L.A. Freitag, C. Ollivier-Gooch. The Effect Of Mesh Quality On Solution Efficiency // Proceedings of 6th International Meshing Roundtable, Sandia National Laboratories, p.p.249, October 1997.

        19. P.L. George. TET MESHING: Construction, Optimization and Adaptation // Proceedings of 8th International Meshing Roundtable, p.p.133-141, 1999.

        20. N.A. Golias, T.D. Tsiboukis. An Approach to Refining Three-Dimensional Tetrahedral Meshes Based on Delaunay Transformations // International Journal for Numerical Methods in Engineering, John Wiley, № 37, p.p.793-812, 1994.

        21. C. Hazlewood. Approximating Constrained Tetrahedralizations // Computer Aided Geometric Design, vol. 10, p.p. 67-87, 1993.

        22. B. Joe. Delaunay Triangular Meshes in Convex polygons, SIAM J. Sci. Stat. Comput., Vol. 7, p.p. 514-539, 1986.

        23. B. Joe. Construction Of Three-Dimensional Delaunay Triangulations Using Local Transformations // Computer Aided Geometric Design, Vol. 8, p.p. 123-142, 1991.

        24. B. Joe. Construction of Three-Dimensional Improved-Quality Triangulations Using Local Transformations // Siam J. Sci. Comput., vol. 16, p.p. 1292-1307, 1995.

        25. R.W. Lewis, Yao Zheng, D.T. Gethin. Three-Dimensional Unstructured Mesh Generation: Part 3. Volume Meshes // Computer Methods In Applied Mechanics And Engineering, Elsevier, Vol 134, p.p.285-310, 1996.

        26. A.Liu, B. Joe. On The Shape Of Tetrahedra From Bisection // Mathematics of Computation, vol. 63, №207, 141-154, 1994.

        27. S.H. Lo. Volume Discretization into Tetrahedra-I. Verification and Orientation of Boundary Surfaces // Computers and Structures, Pergamon Press, Vol. 39, № 5, p.p. 493-500, 1991.

        28. S.H. Lo. Volume Discretization into Tetrahedra - II. 3D Triangulation by Advancing Front Approach // Computers and Structures, Pergamon, Vol. 39, № 5, p.p. 501-511, 1991.

        29. R. Lohner. Generation Of Three-Dimensional Unstructured Grids By The Advancing Front Method //Proceedings of the 26th AIAA Aerospace Sciences Meeting, Reno, Nevada, 1988.

        30. S.J. Owen. A Survey of Unstructured Mesh Generation Technology // Proceedings of 7th International Meshing Roundtable, p.p. 239-269, Dearborn, MI, 1998.

        31. V.N. Parthasarathy, C.M. Graichen, A.F. Hathaway. A Comparison of Tetrahedron Quality Measures // Finite Elements in Analysis and Design, Elsevier, №. 15, p.p. 255-261, 1993.

        32. S. Pirzadeh. Unstructured Viscous Grid Generation by Advancing-Layers Method // AIAA-93-3453-CP, AIAA, p.p. 420-434, 1993.

        33. V.T. Rajan. Optimality of Delaunay Triangulation in // Proc. 7th ACM Symp. Comp. Geometry, p.p. 357-363, 1991.

        34. A.Rassineux. Generation and Optimization of Tetrahedral Meshes by Advancing Front Technique // International Journal for Numerical Methods in Engineering, Wiley, Vol. 41, p.p. 651-674, 1998.

        35. S. Rebay. Efficient Unstructured Mesh Generation by Means of Delaunay Triangulation and Bowyer-Watson Algorithm // Journal Of Computational Physics, vol. 106, p.p. 125-138, 1993.

        36. M.-C. Rivara. Selective Refinement/Derefinement Algorithms For Sequences Of Nested Triangulations // International Journal for Numerical Methods in Engineering, №28, p.p. 2889-2906, 1998.

        37. M.-C. Rivara, C. Levin. A 3D Refinement Algorithm Suitable For Adaptive And Multigrid Techniques // Communications in Applied Numerical Methods, № 8, p.p. 281-290, 1998.

        38. J. Ruppert. A Delaunay refinement algorithm for quality 2-dimensional mesh generation // Journal of Algorithms, №18, p.p. 548-585, 1995.

        39. M.S. Shephard, M.K. Georges. Three-Dimensional Mesh Generation by Finite Octree Technique // International Journal for Numerical Methods in Engineering, vol. 32, p.p. 709-749, 1991.

        40. M.S. Shephard, F. Guerinoni, J.E. Flaherty, R.A. Ludwig, P.L. Baehmann. Finite octree mesh generation for automated adaptive 3D Flow Analysis // Numerical grid generation in computational Fluid mechanics, Miami, 1988

        41. K. Shimada, D.C. Gossard. Bubble Mesh: Automated Triangular Meshing of Non-manifold Geometry by Sphere Packing // Proceedings of 3rd Symposium on Solid Modeling and Applications, p.p. 409-419, 1995.

        42. K. Shimada, A. Yamada, T. Itoh. Anisotropic Triangular Meshing of Parametric Surfaces via Close Packing of Ellipsoidal Bubbles // Proceedings of 6th International Meshing Roundtable, p.p. 375-390, 1997.

        43. D.F. Watson. Computing the Delaunay Tessellation with Application to Voronoi Polytopes // The Computer Journal, Vol. 24(2), p.p. 167-172, 1981.

        44. M.A. Yerry, M.S. Shephard. Three-Dimensional Mesh Generation by Modified Octree Technique // International Journal for Numerical Methods in Engineering, Vol. 20, p.p. 1965-1990, 1984.

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

        • Размещено на Allbest.ru

Подобные документы

  • Понятие, свойства, признаки и типы параллелепипеда как геометрической фигуры. Формулы расчета площади поверхности и объема параллелепипеда и куба. Определение высоты, общей длины ребер, суммы площадей наибольшей и наименьшей граней параллелепипеда.

    презентация [1,2 M], добавлен 06.12.2011

  • Изучение свойств геометрического тела, состоящего из трёх пар равных параллелограммов, лежащих в параллельных плоскостях. Определение прямого, прямоугольного, правильного параллелепипеда. Нахождение высоты и объема параллелепипеда. Доказательство теоремы.

    презентация [459,8 K], добавлен 22.04.2015

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

    реферат [60,6 K], добавлен 15.08.2009

  • Основные свойства геологических объектов как пространственных переменных. Виды математических моделей геологических объектов. Вариограмма и ее аппроксимации. Вероятностные модели геологических полей. Влияние на вариограмму геометрической базы измерений.

    презентация [345,8 K], добавлен 17.07.2014

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

    курсовая работа [533,7 K], добавлен 15.07.2010

  • Изучение понятия и видов призм. Основные параметры прямой призмы, у которой все основания являются правильными многоугольниками. Понятие и свойства параллелепипеда – призмы, основанием которого является параллелограмм. Соотношения между элементами призмы.

    реферат [310,7 K], добавлен 09.11.2010

  • Определение цилиндра (кругового прямого и наклонного), прямого и усечённого конуса, шара и сферы. Основные формулы по расчету геометрических размеров фигур вращения: радиуса, площади боковой и полной поверхности. Объем шара по Архимеду. Уравнение сферы.

    презентация [3,4 M], добавлен 18.04.2013

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

    научная работа [44,6 K], добавлен 11.01.2010

  • Ознакомление с теоремами теории аналитических функций. Определение и основные свойства индекса функции. Постановка и методы решения однородной и неоднородной задач Римана для односвязной и многосвязной областей. Принципы нахождения функции сдвига.

    курсовая работа [485,6 K], добавлен 20.12.2011

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

    контрольная работа [57,2 K], добавлен 27.12.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.