CAD/CAE-СИСТЕМА ПОДГОТОВКИ РАСЧЕТНЫХ МОДЕЛЕЙ ДЛЯ МЕТОДОВ ДЕКОМПОЗИЦИИ ОБЛАСТИ
, Б.,
Институт прикладной механики УрО РАН, г. Ижевск
e-mail: s. *****@***com
Современные программные средства в подавляющем большинстве случаев позволяют полностью или частично отказаться от натурного эксперимента, переведя анализ в область математического моделирования с привлечением CAE-систем. При наличии модели геометрии логично использовать ее в CAE-системе для построения расчетной модели, а также иметь возможность взаимодействовать с ней в процессе решения, в том числе и когда геометрия модели существенно изменяется. Этап приведения модели геометрии к расчетной является самым сложным и пока мало поддающимся автоматизации. Отметим, что сближение систем автоматизированного проектирования и прикладного моделирования происходит крайне трудно: расчетные модели зачастую разрабатываются с нуля. Поэтому существует необходимость в создании такой программной системы, которая позволила бы обеспечить непрерывный процесс построения расчетных моделей от CAD-геометрии к сетке, расчетным данным и обратно.
В настоящее время при переходе к вычислениям на многопроцессорных системах прикладные программы зачастую реализовываются заново. Повторная, параллельная распределенная, реализация моделей геометрии, сетки и расчетных данных – сложнейшая задача с большим объемом работы. Таким образом, можно обозначить две взаимосвязанные задачи, встающие перед разработчиками современных программных систем. Первая – создание аппарата для оперирования со многими геометрическими моделями и расчетными схемами одного объекта; вторая – отображение расчетных моделей на параллельные вычислительные системы, сбор и анализ результатов с вычислительных узлов.
Одной из проблем развития высокопроизводительных систем подготовки расчетных данных по CAD-моделям является тот факт, что параллельные программы, как правило, строятся на основе MPI, тогда как для работы со сложными структурами данных геометрических ядер больше подходит распределенная парадигма, реализованная, например, в технологии CORBA или Grid. В связи с необходимостью одновременного использования различных коммуникационных парадигм, системы, подобные предлагаемой в данной статье, – большая редкость.
Одним из основных вопросов построения распределенной CAD/CAE-системы является выбор и адаптация инфраструктуры, позволяющей получить значительное повышение производительности при математическом моделировании, обеспечить возможность коллективной разработки сложных междисциплинарных многоуровневых моделей для распределенных групп вычислителей и обработку больших объемов распределенных данных, поддерживать мобильность вычислительных задач и систем. Одним из возможных средств манипулирования геометрическими и расчетными данными CAD/CAE – системы является подход основанный на Grid-технологии [], который требуют значительных технических усовершенствований, не только в направлении повышения производительности системы обработки расчетных данных, но и значительного изменения в организации процесса построения модели геометрии и процесса моделирования.
Разрабатываемая CAE-система [1] состоит из пяти логических составляющих: геометрия, сетка, расчетная сетка, разделенная сетка и распределенная сетка. Каждая составляющая содержит компоненты ввода/вывода, объектно-ориентированной модели и визуализации. Составляющие геометрии и сетки определяют базовый уровень, каждая следующая логическая составляющая зависит от предыдущих уровней. Составляющие допускают наращивание функциональности. Объектно-ориентированная модель разбивается на структуры данных и алгоритмы. Деление на уровни отражает принцип декомпозиции сложных задач на более простые.
Модель геометрии. Создание геометрии расчетной области является первым этапом при построении расчетной сетки. В данной системе используется CAD-ориентированный подход [3] при котором рассматривается построение геометрической модели, основанное на CAD-системе и численный анализ расчетной модели. В этом случае, если CAD-модель не содержит информацию о необходимых для CAE-модели свойствах, производится определение этих свойств, путем анализа твердотельной модели. В CAD-моделях используются твердотельные моделирование и самопересекающиеся модели позволяющие строить топологию, включающую точки, кривые, поверхности и трехмерные объекты, содержащие в себе точки, кривые или поверхности, присоединенные к внешней границе.
Для работы с геометрией на этапе генерации сетки и при выполнении операций над ней (уточнение, огрубление и др.) была использована открытая система геометрического моделирования OpenCASCADE [2]. Использование классов топологических форм объектов (твердое тело, геометрическая грань, ребро, вершина) позволяет реализовать операции, требующие уточнение сетки по геометрическому описанию области, например на криволинейных поверхностях.
Модель сетки. Структура данных для хранения сетки существенно влияет на трудоемкость алгоритмов, а также на скорость реализации сеточной модели. Для представления данных сетки (вторая строка таблицы) выбрана структура со связностью объектов вида узлы – ребра – грани – ячейки, содержащая все возможные типы объектов.
Модель разделенной сетки. Эффективность параллельного решения задач зависит от качества разделения неструктурированных сеток. Данная модель (четвертая строка таблицы) базируется на модели сетки, введенной выше. Классы разделенной модели наследуют соответствующие им классы базовой модели. Особенностью разделенной модели является представление сетки и подсетки одним и тем же классом. Таким образом, подсетки могут рассматриваться как самостоятельные сетки, что позволяет применять к подсеткам те же алгоритмы и использовать в тех же расчетах, что и разделенные сетки без изменения программного кода.
Процесс разделения сетки содержит следующие шаги: 1. Подготовка объектов. Определяются граничные и внутренние объекты, которые необходимо создать в подсетках, создаются списки объектов, посылаемых в подсетки. 2. Рассылка объектов. Выполняется последовательная рассылка объектов. Последующие процессы выполняются на подсетках параллельно. В подсетках создаются клиенты на граничные объекты. Затем создаются локальные узлы, согласно передаваемым координатам, после них ребра, далее грани и ячейки.
Модель распределенной сетки. Распределение подсеток и сеточных объектов требует расширения модели разделенной сетки и создания новой подсистемы, описывающей распределенную сетку (пятая строка таблицы), элементы которой находятся в различных адресных пространствах, в том числе, и на различных вычислительных узлах. Распределенная сетка обеспечивает коммуникации между сеткой и подсетками, между подсетками, а так же между объектами, находящимися в разных подсетках. В распределенной модели введено понятие остова сетки, который управляет подсетками и организует коммуникации между ними, синхронизирует алгоритмы.
Вычислительные модули метода декомпозиции области. Расчетный анализ в данной системе выполняется на основе методов декомпозиции области (МДО) и параллельного распределенного промежуточного и прикладного программного обеспечения для адаптивных версий метода конечных элементов [4,5]. Для создания абстрактной программной модели МДО использован объектно-ориентированный анализ, для ее реализации – язык программирования C++. Инкапсуляция данных привела к выделению трех подсистем: классы расчетной модели, численные классы, классы решения (рис.1). Модель метода декомпозиции области базируется на конечно-элементной аппроксимации, которая обеспечивает подключение различных алгоритмов разделения области, основанных на графовом представлении конечно-элементной сетки. Представление подобласти классом расчетной модели и модели решения позволило дважды использовать структуру классов метода конечных элементов в области и в подобластях. Модель метода декомпозиции позволяет быстро реализовать сложные алгоритмы, например методы декомпозиции на несогласованных сетках.

Рис. 1. Структура классов объектно-ориентированной модели
метода декомпозиции области
Визуализация. На основе модулей Open CASCADE реализовано визуальное приложение расчетных моделей, содержащее окна отображения геометрии, древовидной структуры документа и окно установки свойств объектов (рис.2). В библиотеке визуализации сетки реализованы интерфейсы для импорта/экспорта ряда сеточных форматов.
Для реализации системы применяются методы объектно-ориентированного программирования C++ и проектирования UML (последнее является новым в программной реализации численных методов и в первую очередь предназначено для разработки сложных комплексов программ для математического моделирования), коммуникационное промежуточное программное обеспечение CORBA, MPI (здесь следует отметить возможность совместного использования различных коммуникационных парадигм, что является основой интеграции разнородных прикладных программ).
Предлагаемая система используется: при создании расчетной сетки и модели; в ходе вычислений при параллельной адаптации сетки к решению и геометрии области; для визуализации расчетных сеток и результатов.
|
|
|
|
Рис. 2. Пример использования системы для построения расчетной модели топливного элемента
Литература
1. , , Программная среда расчетных сеточных моделей для параллельных вычислений // Программные продукты и системы. – 2008. – № 2. – С. 87-89.
2. , Б., CAD-ориентированный подход для построения CAE-системы параллельных распределенных вычислений // Актуальные проблемы математики, механики, информатики: Сб. науч. тр. – Пермь, 2008. – С. 101 – 106.
3. Open CASCADE, simulation integrator. URL: http://www. .
4. , , Объектно-ориентированный метод декомпозиции области // Вычислительные методы и программирование. – 2003. – № 4. – С.176 – 193.
5. Kopysov S. P., Krasnopyorov I. V., Novikov A. K., Rytchkov V. N. Parallel Distributed Object-Oriented Framework for Domain Decomposition // Lecture Notes in Computational Science and Engineering. – 2004. – V.40. – P.605-614.









