Перейти к статье

 

Неструктурированная сетка

Область применения: поверхности.

Краткая характеристика: Автоматическая генерация на поверхности нерегулярной сетки из четырехугольников (pave).

Используемая команда:

surface <range> scheme pave

Родственные команды:

[set] paver diagonal scale <factor (default = 0.9)>

[set] paver grid cell <factor (default = 2.5)>

[set] paver linearsizing {off | ON}

surface <range> sizing function type ...

[set] paver smooth method {DEFAULT | smooth scheme | old}

[set] paver cleanup {ON | off | extend}

Пояснения: Алгоритм, реализующий описываемую схему разбиения [Blacker, 1991; White, 1997], обеспечивает построение на произвольной трехмерной поверхности сетки из четырехугольных элементов. При этом учитываются такие особенности геометрии, как внутренние отверстия, границы любой формы, в том числе внутренние фиксированные кривые, и трещины нулевой ширины. Возможно улучшение построенной сетки за счет использования размерных функций. На Рис. 1 показаны примеры построения на одной и той же поверхности Регулярной сетки и Неструктурированной сетки при одинаковой степени дискретизации границ.

pave1.gifpave2.gif

Рис. 1 - Построение на поверхности Регулярной сетки (слева) и Неструктурированной сетки (справа)

Улучшение формы элементов

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

[set] paver smooth method {DEFAULT | smooth scheme | old}

Если вместо варианта улучшения сетки по умолчанию (DEFAULT) желательно использовать другую схему сглаживания, то она указывается с помощью параметра smooth scheme. Информация о доступных схемах сглаживания содержится в подразделе Сглаживание сетки.

Управление выравниванием элементов

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

[set] paver diagonal scale <factor (default = 0.9)>

Диапазон значений коэффициента масштабирования (<factor>) составляет от 0,5 до 1,0. При значении 1,0 элемент преобразуется в параллелограмм. Значение 0,5 позволяет сжать диагональ до половины ее вычисленной длины.

Управление проверкой пересечений

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

[set] paver grid cell <factor (default = 2.5)>

Коэффициент grid cell <factor> используется как множитель для установления на основе среднего размера элемента размера ячейки. Длины сторон ограничивающего прямоугольника делятся на этот размер и определяется число ячеек в каждом направлении. Больший размер ячейки означает, что в ней содержится больше узлов и ребер элементов. В ячейке меньшего размера их соответственно меньше. Больший размер ячейки приводит к необходимости проверять больше потенциальных пересечений, что приводит к большим затратам времени на генерацию сетки. Меньший размер ячейки позволяет алгоритму проверять меньшее число ребер, но может приводить к потере пересечений, если отношение длинного и короткого ребер элемента велико.

Управление функцией, определяющей размер элементов

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

[set] paver linearSizing {off | ON}

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

Управление улучшением сетки

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

[set] paver cleanup {ON | off | extend}

Улучшение проводится по умолчанию (опция ON). Опция off выключает улучшение; при этом сгенерированная сетка может оказаться некорректной. Опция extend активирует алгоритм нелокальной топологической замены. Ввод команды без опций дает список текущих настроек.

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

Рис. 2 - Сгенерированная сетка без улучшения

Рис. 3 - Сетка после улучшения с использованием опции extend