Энциклопедия по машиностроению XXL

Оборудование, материаловедение, механика и ...

Статьи Чертежи Таблицы О сайте Реклама
Теперь рассмотрим вопрос о разбиении трехмерной области на множество ячеек (5.1). По-прежнему будем называть зто разбиение триангуляцией. Соответственно она называется согласованной, есда любая боковая грань ячейки ш,- является либо куском границы, либо целиком боковой гранью другой ячейки Шj.

ПОИСК



Алгоритм дробления

из "Многосеточные методы конечных элементов "

Теперь рассмотрим вопрос о разбиении трехмерной области на множество ячеек (5.1). По-прежнему будем называть зто разбиение триангуляцией. Соответственно она называется согласованной, есда любая боковая грань ячейки ш,- является либо куском границы, либо целиком боковой гранью другой ячейки Шj. [c.72]
Мы остановимся на разбиении области на тетраэдры (возможно с криволинейными гранями). Разбиение на шестигранники не рассматривается по тем же причинам, что и в двумерном сл) чае. А именно либо в представленных алгоритмах шестигранники являются промежуточным звеном, либо могут быть получены путем разрезания тетраэдров на четыре части кусками плоскостей, проходящих через центры смежных граней и середину образованного ими ребра. [c.72]
Среди многих приемов разбиения трехмерных областей наиболее распространены обобщения трех двумерных алгоритмов, изложенных в 2.5. В реальных задачах они используются, как правило, в комбинации друг с другом. Мы остановимся на каждом из них отдельно. [c.72]
Для характеристики криволинейного тетраэдра мы будем использовать соответствующие величины (6.3), (6.4) относящиеся к симплексу, построенному по этим же четырем вершинам. [c.73]
Преобразуем сетку с помощью оператора Т следующим образом. Если ДС е, то положим Т с) = X. Пусть теперь х е Тогда в направлениях, параллельных координатным осям, найдется точка е Г, ближайшая к ДС, расстояние до которой А. Обозначим это расстояние через 5 (дс). В случае, когда 5 (дс) й/2 или 5 (дс) = й/2, но одна из координат у больше соответствующей координаты дс, полагаем Т(х) = у. Во всех остальных случаях полагаем Г(дс) = дс. [c.73]
В случае если у границы Г есть угловые точки, их необходимо сделать узлами триангуляции, возможно ценой неравномерных шагов в каждом из направлений. В случае, когда граница Г имеет ребра, являющиеся линиями пересечения гладких криволинейных граней, необходимо дополнительно стягивать на эти ребра некоторые близлежащие узлы Хц . В этом случае качество триангуляции обычно ухудшается, а алгоритм существенно усложняется из-за обилия возможных ситуаций. [c.74]
Среди достоинств этого алгоритма отметим подавляющую однородность триангуляции, возможность согласования триангуляции по обе стороны от внутренней границы, естественную нумерацию и топологическую эквивалентность регулярной кубической сетке. [c.74]
После этого алгоритм триангуляции состоит из последовательного изъятия тетраэдров и содержит 5 этапов. [c.75]
При достаточно малых А, например, когда оно меньше констант К иКЬ в определении строгой липшицевости области П, эта процедура дает хорошее качество триангуляции. [c.77]
Эти же условия отсекают нежелательные варианты при большом А, связанные с большой кривизной ребер и граней. [c.77]
Сначала рассмотрим деление на 8 частей. Каждую из четырех граней тетраэдра разделим на 4 части по правилу, изложенному в двумерном методе дробления (рис. 2.18, а). Для плоских граней разбиение делаем прямыми отрезками в переменных а для криволинейных — прямыми отрезками в переменных параметризации у.. После этого около каждой из четырех вершин тетраэдра проведем поверхность, проходящую через середины трех ребер, выходящих из этой вершины, вдоль полученных выше линий (рис. 2.24, а). Эти поверхности отсекут 4 тетраэдра (возможно, с криволинейными гранями). В оставшемся октаэдре соединим прямым отрезком две вершины, не лежащие в одной грани. Из трех возможных способов берется тот, который дает наименьшую длину полупиющегося отрезка (рис. 2.24, б). Этот отрезок и будет прямым ребром оставшихся четырех тетраэдров меньшего размера, которые получаются проведением граней, проходящих череэ это ребро и каждую из остальных четырех вершин октаэдра вдоль уже имеющихся ребер. [c.78]
В случае, если у исходного тетраэдра все грани были плоские, такое разбиение дает 8 симплексов. Все симплексы будут равновеликими, но только 4 из них будут подобны исходному тетраэд . Они делятся на три разные группы конгруэнтных симплексов. [c.79]
В случае, если у исходного тетраэдра все грани бьши плоские, такое разбиение дает 27 симплексов. Они вновь делятся на три разные группы конгруэнтных симплексов. [c.79]
При дроблении всех тетраэдров согласованной триангуляции на одинаковое количество частей снова получается согласованная триангуляция, причем максимальный диаметр ячеек убьтает примерно в 2 или 3 раза соответственно. Алгоритм дробления можно повторять несколько раз, добиваясь нужного измельчения триангуляции. Обычно он применяется либо после ручного разбиения области на небольшое число тетраэдров, либо после работы одного из описанных вьппе алгоритмов с крупным шагом к. [c.80]
В случае исходного тетраэдра с плоскими гранями дробление создает однородную триангуляцию внутри него. Алгоритм дробления отличается от приведенных вьппе простой логической структурой и небольшим временем работы ЭВМ. Кроме того, многократное дробление создает последовательность естественно вложенных триангуляций, что существенно используется при описании алгоритмов на последовательностях сеток. [c.80]


Вернуться к основной статье

© 2025 Mash-xxl.info Реклама на сайте