Страница группы
English version
Проект prismatic_qi3d_poly - построитель
толстых призматических сеток вокруг тел сложной формы
Разработан новый алгоритм построения призматических сеток,
основанных на методе упругой разгрузки. В этом методе к телу
прикрепляется тонкий слой призм из сильно сжатого упругого
материала. Затем призмы отпускаются, слой разгружается, и высота
призм увеличивается во много раз.

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

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

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

Специальная геометрическая квадратура из 12 узлов гарантирует
невырожденность всех призм сетки.

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

Такой скелет обладает совершенно другими свойствами по сравнению с
медиальными осями, т.е. множеством центров внутренних шаров,
которые касаются границы области по крайней мере в 2 точках. На
рисунке показано, как метод Делоне-Вороного позволяет приблизить
медиальные оси. Заметим, что концепция медиальных осей весьма
полезна для построения сеточных слоев, так как она кодирует
информацию о взаимном расположении участков границы. Однако
построение призматических слоев на основе медиальных осей
препятствует построению толстых слоев.

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

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

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

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

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

Пример работы алгоритма на очень острых выходящих углах.

Построение призматического слоя вокруг тестовой конфигурации ВКА
ЦАГИ.

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

Призматический генератор позволяет строить призматические слои
толщиной во всю расчетную область.

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