3 - 2009

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

И.В. Нестеров, О.В. Смирнова

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

На кафедре «САПР транспортных конструкций и сооружений» МИИТа был разработан программный комплекс «КАТРАН», интегрированный в широко распространенный графический редактор AutoCAD. Этот комплекс ориентирован на использование инженерами-проектировщиками, не прибегая к услугам специализированных расчетных групп. С помощью системы «КАТРАН» были выполнены расчеты ряда значительных транспортных сооружений и строительных конструкций. Для препроцессора системы «КАТРАН» был разработан универсальный генератор ортогональных четырехугольных сеток. Программа генерации написана на языке AutoLISP и для своей работы использует набор команд и базу данных системы AutoCAD. Применение интерфейса системы AutoCAD позволило авторам в ходе разработки программы решать достаточно сложные задачи вычислительной геометрии с помощью простого набора команд AutoCADa, не прибегая к детальной проработке вспомогательных геометрических процедур.

Опишем основные этапы работы вычислительного алгоритма. В качестве исходной информации программа использует набор геометрических примитивов AutoCAD, описывающих геометрию плиты. Контуры с жесткостью, пустоты и несущие стены задаются примитивами LWPOLYLINE и LINE. Сваи, колонны и особые точки конструкции (например, точки приложения сосредоточенных сил, закрепленные узлы и т.п.) задаются примитивами POINT, CIRCLE, INSERT (рис. 1).

Рис. 1. Геометрия плиты

Рис. 1. Геометрия плиты

Все контуры и наборы особых точек распределяются по разным слоям AutoCAD. Контурные узлы и особые точки помещаются в список AutoLISP LIST_CONT следующей структуры:

(точка1 точка2 точка3 …)

По нему строятся дополнительные списки, тоже хранящие координаты узлов, но упорядоченные по возрастанию координат X и Y. Перед началом формирования разбиения запрашивается базовый шаг сетки, после чего в упорядоченные списки вводятся дополнительные узлы, обеспечивающие требуемую густоту сетки. С помощью этих структур строится первичная сетка, перекрывающая прямоугольной областью всю поверхность плиты (рис. 2). Для удобства применения стандартных процедур редактирования AutoCAD первичная сетка с помощью команды AutoCAD _SCALE (Масштаб) масштабируется и преобразуется в точечную (рис. 3). Таким образом, окончательную сетку можно получить с помощью команд AutoCAD _ERASE (Сотри) и _CHANGE (Изменение свойств примитива).

Рис. 2. Наложение первичной сетки

Рис. 2. Наложение первичной сетки

 

Рис. 3. Наложение первичной точечной сетки

Рис. 3. Наложение первичной точечной сетки

Выбор элементов в этих командах осуществляется посредством опции «_CP» (секущий многоугольник). Для автоматического применения этих команд в процедурах AutoLISP была организована дополнительная структура данных LIST_LAYER_CONT — ассоциированный список всех локальных контуров плиты. Этот список организован следующим образом:

(
(СЛОЙ1 площадь1 (pt1 pt2 pt3...))
(СЛОЙ2 площадь2 (pt1 pt2 pt3...))
(СЛОЙ3 площадь3 (pt1 pt2 pt3...))

)

где pt1, pt2, pt3… — узлы локального контура.

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

Рис. 4. Окончательный вид точечной сетки

Рис. 4. Окончательный вид точечной сетки

 

Рис. 5. Окончательный вид ортогональной сетки

Рис. 5. Окончательный вид ортогональной сетки

 

Рис. 6. Ортогональная сетка для расчета фундаментных плит Театрально-концертного центра им. Мейерхольда

Рис. 6. Ортогональная сетка для расчета фундаментных плит Театрально-концертного центра им. Мейерхольда

Заключительной операцией этого алгоритма является обратное масштабирование оставшихся точечных элементов. Окончательный вид сетки представлен на рис. 5.

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

САПР и графика 3`2009