Научная статья на тему 'МЕТОДЫ ЗАКРЕПЛЕНИЯ ГРАНИЧНЫХ УЗЛОВ ПРИ СГЛАЖИВАНИИ ТРЕУГОЛЬНОЙ ПОВЕРХНОСТНОЙ СЕТКИ'

МЕТОДЫ ЗАКРЕПЛЕНИЯ ГРАНИЧНЫХ УЗЛОВ ПРИ СГЛАЖИВАНИИ ТРЕУГОЛЬНОЙ ПОВЕРХНОСТНОЙ СЕТКИ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
93
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ВЫЧИСЛИТЕЛЬНАЯ ГЕОМЕТРИЯ / СГЛАЖИВАНИЕ / ТРЕУГОЛЬНАЯ СЕТКА / ЧИСЛЕННОЕ МОДЕЛИРОВАНИЕ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Шумилин Сергей Сергеевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «МЕТОДЫ ЗАКРЕПЛЕНИЯ ГРАНИЧНЫХ УЗЛОВ ПРИ СГЛАЖИВАНИИ ТРЕУГОЛЬНОЙ ПОВЕРХНОСТНОЙ СЕТКИ»

ISSN 2079-3316ПРОГРАММНЫЕ СИСТЕМЫ: ТЕОРИЯ И ПРИЛОЖЕНИЯ т. 12, №2(49), с. 193-206

ББК 32.973:32.971.321.1 ГРНТИ 50.05.19 УДК 004.422.635:004.382.2

С. С. Шумилин

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

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

Ключевые слова и фразы: вычислительная геометрия, сглаживание, треугольная сетка, численное моделирование.

Введение

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

Граничные узлы двигаются в сторону тела, вызывая неконтролируемое сжатие поверхности. В процессе разработки программ для численного моделирования возникает проблема: методы сглаживания сетки (сглаживание Лапласа, Таубина [1], методы, сохраняющие особенности сетки (feature-preserving methods) [2-4]), оказываются не пригодными к работе с сетками, которые не представляют собой замкнутые поверхности. Данная особенность является неприемлемой, так

Работа выполнена в МСЦ РАН в рамках государственного задания по теме 0580-2021-0016.

© С. С. Шумилин, 2021

© Межведомственный суперкомпьютерный центр РАН, 2021 © Программные системы: теория и приложения (дизайн), 2021

Г» 10.25209/2079-3316-2021-12-2-193-206^^^^^^^^^^^^^^^^^^^! Нк-Щ

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

1. Методы сглаживания

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

В ряде задач численного моделирования, таких как расчет обледенения тела [5] или расчет теплового расширения [6], происходит итеративное перестроение поверхности (рисунок 1).

_I

Физический расчёт

I

Перестройка сетки +

Сглаживание

Рисунок 1. Итеративный процесс перестроения сетки

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

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

Задачу перемещения узла можно сформулировать следующим образом:

(1) Р' ^ Р' + Лр',

где рг, р' € М3, Л € М —коэффициент смещения.

Для классического сглаживания Лапласа:

pi = щ Е -pi),

1 iI PjeN

где Ni = {pj : (pi,pj) € E}, где E —множество ребер сетки.

1.1. Сглаживание в нуль-пространстве (null-space smoothing)

Метод сглаживания в нуль-пространстве (NSS) [7] используется для сглаживания поверхностных сеток в случае, если необходимо сохранить объем. Нуль-пространство является касательной плоскостью для гладких областей сетки, касательной прямой для кромок и пустым множеством для углов. Эти пространства формируются исходя из анализа собственных векторов, получаемых с помощью спектрального разложения формируемой для каждого узла сетки матрицы

A = NT WN,

где N —матрица размером m х 3 состоящая из нормалей ячеек смежных с узлом, m —количество смежных для данного узла граней, W — диагональная матрица весов размером m х m, в которой Wii — вес, соответствующий г-ой грани.

Ввиду того, что A — симметричная положительно определенная матрица получаем спектральное разложение

A = V AVT,

где Л — диагональная матрица, содержащая собственные значения матрицы A. Соответствующие Лi = Л^ собственные векторы ei составляют столбцы матрицы V.

В итоге для каждого узла имеются три собственных значения Л1 > Л2 > Л3. Выбрав некое пороговое значение Л' (оно становится настраиваемым параметром), мы сравниваем с ним имеющиеся собственные значения и выбираем те, которые его превышают.

Основное пространство формируется из собственных векторов, которые соответствуют таким собственным значениям:

Vprim {ei I Л > Л }.

Ортогональным дополнением к основному пространству является нуль-пространство.

В зависимости от размерности k основного пространства узлы относятся к одному из трех классов: узел либо лежит в плоскости,

либо на кромке, либо является угловым. Спектральное разложение позволяет определить пространственную конфигурацию окрестности узла.

Нуль-пространство формируется следующим образом:

{{е2, е3}, если к = 1 {ез}, если к = 2 0, если к = 3.

В этой формуле УПи11 — нуль-пространство, к — размерность основного пространства.

Вектор смещения узла вычисляется по формуле

Еш

т=1 Щ cj

(2) dv

Е

т

ч=1 wj

где т — количество смежных ячеек, Wj > 0 — вес ^'-ой ячейки, Wj € М, с^ — центроид ]-ой ячейки.

Далее вектор смещения ¿V проецируется на нуль-пространство:

. = , - Ei=fc+i(dv • ei)ei, если k = 1 или k = 2 0, если k = 3.

Здесь st > 0 € R —пользовательский коэффициент смещения, ei — собственный вектор.

1.2. Сглаживание на основе нечетких векторных медиан (Fuzzy Vector Median-Based Surface Smoothing )

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

Метод сглаживания на основе нечетких векторных медиан (FVM) [9] заключается в фильтрации нормалей ячеек и последующем перемещении узлов сетки в соответствии с обновленными нормалями. Фильтрация производится с помощью медианного фильтра.

Медианная нормаль это нормаль из множества нормалей ячеек, которая отклоняется на наименьший угол от всех других нормалей:

N

xvm = argmin> \\х — xJL xeo-^^" 11

В этой формуле П — некое множество ячеек, N = |П|, хг — нормаль г-ой ячейки.

Сглаженная нормаль ячейки ] вычисляется с помощью взвешенного среднего всех медианных нормалей, смежных с f:

Ег=1 Хг Хг, Хуы)

хрум

Хг,Хум)

Здесь — гауссова функция принадлежности

/ \ — 11^ —V II /2а2

^о(и,у) = е II И' ,

в которой а > 0 € М — параметр распределения.

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

Рг ^ Рг + А и{П^ (хц - Хг), г = 1, 2, • • • , V,

зег* !еР^

где г* = {] : {г,]} € Е}, Ец — ячейки, смежные с ребром (г,]), п^ — нормаль к ячейке f, Хг — г-ый узел сетки.

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

РУМ

Рисунок 2. Пример действия метода нечетких векторных медиан

2. Описание проблемы

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

сохранением объема

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

3. Критерий качества треугольной сетки

Распространенным критерием качества треугольных сеток является коэффициент a G [0,1] [10]:

4^3 Ai

a • = -

* ||PlP2||2 + ||P2P3||2 + ||ВД||2 ,

где A* — площадь г-ой ячейки, Pi,P2,P3 — координаты узлов ячейки.

Для равностороннего треугольника a =1. Для оценки всей поверхности используются среднее геометрическое amean и минимальное amin среди всех ячеек сетки.

4. Методы работы с граничными узлами

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

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

N88

Рисунок 4. Пример искажения сетки после 10 итераций сглаживания в нуль-пространстве

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

Введем обозначения для узлов (рисунок 5).

/ \ \ / 1

\ / ш \ \ / /

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

1 \ \ /

у-•- \ 1

Угловые узлы

Подвижные узлы

Внутренние узлы

Рисунок 5. Принятые обозначения узлов

Внутренний — узел, который не имеет граничных ребер.

Граничный — узел, который смежен с граничным ребром.

Угловой — граничный узел, который на текущей итерации сглаживания неподвижен.

Подвижный — граничный, но не угловой узел.

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

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

Закрепим передвижение подвижного узла только вдоль смежного граничного ребра. Представим два его смежных граничных ребра в виде единичных векторов в\ и е2 (рисунок 6).

0 < в < 2, в е М.

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

4.2. Закрепление узлов

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

Рисунок 6. Коэффициент в

е\(р • ех), если р • е1 > р • е2 е2 (р • е2), в противном случае.

Пользователь задает отношение, которое определяет допустимую длину проекции вектора е\ и в2- Коэффициент в определяет, будет ли алгоритм фиксировать узел рг в целях сохранения площади:

Узел рг остается неподвижен если:

рг = 0 ^ е1 ■ е2 > в - 1.

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

4.3. Весовая функция для центроидов

Рассмотрим случай, когда смежные ячейки для граничного узла расположены как показано на рисунке 7.

Сетка

Рисунок 7. Пример неудачного расположения смежных ячеек

Красным отмечены центроиды смежных ячеек. Черным — вектор смещения граничного узла.

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

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

Рассмотрим граничный узел рг. Существуют различные методики задания веса и^ для j-ой смежной ячейки в формуле (2). В данной

работе предлагается использовать следующее задание весов:

1 — | cos(фj) |, если рг — подвижный узел 1, в противном случае,

где фj — радианная мера угла между вектором из рг в центроид грани ] и граничным ребром, смежным с этим узлом, как показано на рисунке 7.

Таким образом, чем ближе угол ф к п/2, тем больший вес получает грань ]. Тем самым узел при сглаживании перемещается вдоль границы с меньшим шагом.

4.4. Ограничение величины перемещения

Для пользовательского регулирования имеет смысл искусственно занижать величину перемещения подвижного узла. Для этого установим коэффициент в в формуле (1), так, что в С А:

Рг ^

\Рг + Ар',

[рг + ^

если г — внутренний узел в противном случае.

4.5. Применение метода на основе нечетких векторных медиан при сглаживании псевдотрехмерного профиля

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

N88

Рисунок 8. Искривления сетки в подвижных узлах

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

Для того, чтобы бороться с такими проблемами, был применен алгоритм сглаживания на основе нечетких векторных медиан. Его

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

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

векторных медиан

Несмотря на то, что сглаживание на основе нечетких векторных медиан влияет на объем, параметры алгоритма позволяют учитывать форму сетки. Например, при работе с псевдотрехмерными профилями имеет смысл в качестве множества соседних ячеек для рассматриваемой ячейки ^ использовать множество fj : fj П /г € У}, так как обычно больше половины соседних ячеек лежат в одной плоскости с рассматриваемой ячейкой. Это делает ее векторную медиану равной преобладающей нормали среди соседних ячеек, и поэтому алгоритм выравнивает положение узла в единой плоскости.

5. Экспериментальные результаты

Рассмотрим результаты применения представленных в пунктах 4.14.4 методах к сетке из рисунка 4. В качестве алгоритма сглаживания выбрано сглаживание в нуль-пространстве.

Как видно из рисунка 10, представленная методика позволяет получить качественное сглаживание сетки. Цветом отображена величина метрики качества а. На рисунке 10г видно, что весовая функция для центроидов и закрепление узлов не дали увеличения качества на этой сетке.

\ А

i \

/ \

(а) только сглаживание Лапласа,

amean — 0.6Т2,

«min — 0.366

(б) узлы двигаются только по ребрам, «mean = 0.770, awn = 0.014

(в) закрепление узлов, в = 0.2, «mean = 0.877,

amin — °.79

(г) весовая функция для центроидов и закрепление узлов

Рисунок 10. Последовательное применение предложенных методов

Совокупность представленных методов позволяет сохранить границы сетки при этом выравнивая размер ячеек. Это позволяет вернуть сетку в псевдотрехмерное состояние. На рисунке 11 приведен пример применения представленных методов и сглаживания на основе нечетких медиан к большой сетке. РУМ устраняет возникшие после N88 искажения.

Рисунок 11. Пример сглаживания на основе нечетких векторных медиан. 50 итераций, а = 0.1, Л = 0.05. Стрелками указаны места на границе сетки, где происходит выравнивание

Заключение

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

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

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

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

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

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

[1] G. Taubin. "A signal processing approach to fair surface design", SIG-GRAPH '95: Proceedings of the 22nd annual conference on Computer graphics and interactive techniques, Association for Computing Machinery, New York, 1995, ISBN 978-0-89791-701-8, pp. 351-358. i 193

[2] Z. Li, L. Ma, X. Jin, Z. Zheng. "A new feature-preserving mesh-smoothing algorithm", The Visual Computer, 25 (2009), pp. 139-148 (Published online: 15 February 2008). 1193

[3] J. Wang, Z. Yu. "Feature-preserving mesh denoising via anisotropic surface fitting", J. Comput. Sci. Technol., 27:1 (2012), pp. 163-173. d ti93

[4] M. Ozsaglam, M. Cunkas. "A new smoothing algorithm for denoising mesh surfaces", 2011 5th International Conference on Application of Information and Communication Technologies (AICT) (12-14 Oct. 2011, Baku, Azerbaijan), pp. 1-5. 193

[5] X. Tong, D. Thompson, Q. Arnoldus, E. Collins, E. Luke. "Three-dimensional surface evolution and mesh deformation for aircraft icing applications", Journal of Aircraft, 54:3 (2016), pp. 1-17. i ' 194

[6] X. Jiao. "Face offsetting: A unified approach for explicit moving interfaces", Journal of Computational Physics, 220:2 (2007), pp. 612-625. 194

[7] X. Jiao. "Volume and feature preservation in surface mesh optimization", Proceedings of the 15th International Meshing Roundtable (September 2006, Birmingham, Alabama, USA), Springer, Berlin-Heidelberg, 2006, ISBN 978-3-540-34957-0, pp. 359-373. 1196

[8] J.-A. Andreas Bffirentzen, J. Gravesen, F. Anton, H. Aan®s. "Laplacian and Taubin Smoothing", Guide to Computational Geometry Processing, Ch. 9.2, Springer, London, 2012, ISBN 978-1-4471-4074-0, pp. 161-163. I " 196

[9] Y. Shen, K. E. Barner. "Fuzzy vector median-based surface smoothing', IEEE Transactions on Visualization and Computer Graphics, 10:3 (2004), pp. 252-265.

[10] H. Borouchaki, P. Laug, P.-L. George. "Parametric surface meshing using a combined advancing-front generalized Delaunay approach", International Journal for Numerical Methods in Engineering, 49:1-2 (2000), pp. 233-259. d t

198

Поступила в редакцию 28.01.2021 Переработана 18.06.2021

Опубликована 29.06.2021

Рекомендовал к публикации к.т.н. Д. В. Зубов

Пример ссылки на эту публикацию:

С. С. Шумилин. «Методы закрепления граничных узлов при сглаживании треугольной поверхностной сетки». Программные системы: теория и приложения, 2021, 12:2(49), с. 193-206.

10.25209/2079-3316-2021-12-2-193-206 url http://psta.psiras.ru/read/psta2021_2_193-206.pdf

Сергей Сергеевич Шумилин

Шумилин Сергей Сергеевич, научный сотрудник МСЦ РАН - филиала ФГУ ФНЦ НИИСИ РАН. Область научных интересов: алгоритмы, вычислительная геометрия, машинное обучение, анализ данных, параллельное программирование.

0000-0002-3953-7054 e-mail: shumilin@jscc.ru

Sample citation of this publication:

Sergei S. Shumilin. "Methods for anchoring boundary nodes when smoothing a triangular surface mesh". Program Systems: Theory and Applications, 2021, 12:2(49), pp. 193—206. (In Russian). 10.25209/2079-3316-2021-12-2-193-206

.url http://pista.pi3irai3.ru/read/pi3ta2021_2_193-206.pdf

Об авторе:

The same article in English:

10.25209/2079-3316-2021-12-2-207-219

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.