: иерархические системы структурированных CAEBeans проблемно-ориентированных оболочек над инженер- ными пакетами

advertisement
© ЮУрГУ, 2006. Кафедра системного программирования
Дата последнего изменения: 26 января 2016 г.
CAEBeans: иерархические системы структурированных
проблемно-ориентированных оболочек над инженерными пакетами
Технический отчет CAEBeans 03.2007
Г. И. Радченко, Л.Б. Соколинский
1. Постановка задачи
На сегодняшний день, суперкомпьютерное моделирование сложных технологических процессов, конструкций и материалов является одним из ключевых факторов любого высокотехнологического производства. Данный процесс осуществляется на базе
специализированных CAE (Computer-Aided Engineering) -пакетов (ANSYS, ANSYS
CFX, LS Dyna, Abaqus, Deform, и др.). Каждый CAE-пакет представляет собой программный комплекс со сложным технологическим циклом, который включает в себя
следующие этапы: подготовка модели исследуемой области; построение вычислительной сетки; определение физики протекающих процессов; решение поставленной задачи
моделирования; визуализация и анализ полученных результатов. Каждый этап данного
процесса осуществляется отдельной подсистемой со сложным пользовательским и программным интерфейсом. Для решения общей задачи моделирования требуется организация взаимодействия между подсистемами, отвечающими за отдельные этапы технологического цикла. При этом отдельные подсистемы могут работать на разных вычислителях. Таким образом, пользователю необходимо подробно изучить интерфейсы и
методы решения задач посредством каждой подсистемы базового пакета приложений, а
также организовать их взаимодействие.
С другой стороны, существует широкий круг пользователей (научных работников, конструкторов, инженеров-исследователей, стажеров), не имеющих специальной подготовки в области того или иного вычислительного пакета, которым, тем не менее, необходимо использование возможностей соответствующей системы для решения производственных задач. Предлагаемый нами метод инкапсуляции и предоставления ресурсов CAE-пакетов и высокопроизводительных сред позволяет организовать эффективное использование CAE-пакетов широким кругом пользователей, посредством автоматизации процесса решения типовых задач. Этот способ основан на формировании
иерархической классификации типовых задач, для решения которых используется
CAE-пакет, и построения иерархии проблемно-ориентированных оболочек CAEBeans
над CAE-пакетом на основе этой классификации.
2. Основные понятия
Фундаментальным классом задач определенного CAE-пакета назовем подмножество всех задач, которые можно решить посредством данного CAE-пакета. Классом
задач назовем такое подмножество базового класса задач, для которого можно описать
некий обобщенный алгоритм решения всех входящих в него задач. Каждая задача, входящая в определенный класс задач, может быть описана некоторым индивидуальным
набором значений входных параметров, необходимых для конкретизации алгоритма
решения данного класса задач. Если перефразировать определение, данное в толковом
словаре Ушакова, то параметр можно определить как величину, определяемую при постановке задачи и сохраняющую постоянное значение в пределах данной частной задачи, но при переходе к другой задаче меняющую свое значение. Область допустимых
значений входного параметра может быть строго фиксирована определенным множеством значений, задаваться неявно в зависимости от значений других входных параметров или быть определена как-либо еще. Оболочка CAEBean инкапсулирует процесс
2
решения конкретного класса задач, сводя процесс постановки задачи к указанию ограниченного количества значений входных параметров, характеризующих задачи данного
класса[Error! Reference source not found.]. Оболочки более высокого уровня иерархии
конкретизируют классы задач, решаемые оболочками предыдущего уровня абстракции,
выделяют и инкапсулируют группы общих параметров, которые постоянны или жестко
ограничены для данных классов задач. На последнем уровне иерархии, количество
входных параметров, необходимых для решения конкретной задачи, сведено к минимуму.
3. Архитектура предлагаемого решения
Рассмотрим более подробно архитектуру предполагаемого решения (Рис. 1).
Процесс решения задачи посредством системы проблемно-ориентированных оболочек
CAEBeans возможно разложить на “вертикальную” и “горизонтальную” составляющие.
Горизонтальная составляющая представляет процесс передачи информации между
подсистемами (или компонентами) базового CAE-пакета. С точки зрения системы проблемно-ориентированных оболочек, каждый такой компонент рассматривается как некий фильтр, на вход которого подаются исходные данные, необходимые для решения
промежуточной задачи, а на выходе мы получаем результат ее решения.
Вертикальная составляющая системы представляет собой иерархию проблемноориентированных оболочек над группой компонентов базовой системы (пакетом приложений). Компонентный уровень иерархии (CAEBeans уровень 0) представляет собой
оболочки, реализующие непосредственное взаимодействие с базовыми компонентами
системы. Они инкапсулируют процессы постановки и получения результатов решения
задачи посредством отдельной подсистемы пакета. Процесс взаимодействия оболочки
компонентного уровня и соответствующей подсистемы зависит от того, какие методы
автоматизации постановки задач поддерживает данный компонент. В большинстве
случаев, поддерживаются определенные языки сценариев, посредством которых можно
управлять процессом постановки и решения задач.
Рис. 1. Диаграмма взаимодействия оболочек CAEBeans в процессе решения типовой
задачи
Следующий уровень иерархии представлен базовой проблемно-ориентированной оболочкой (CAEBeans уровень 1). Данная оболочка инкапсулирует процесс решения некоторого класса задач и осуществляет следующие функции: объединение значений параметров задачи, полученных от оболочек более высоких уровней и/или заданных пользователем; формирование пакета исходных данных задачи (которые состоят из базовых
3
моделей задачи, параметризированных сценариев решения и параметров задачи) и передача их оболочкам компонентного уровня; получение результатов вычисления от
оболочек компонентного уровня и передача их далее по горизонтальной составляющей
системы, в соответствие с заложенным алгоритмом решения соответствующего класса
задач, управление процессом решения поставленной задачи; получение конечных результатов решения задачи и передача их оболочкам более высокого уровня.
Оболочки более высокого уровня иерархии (CAEBeans уровня 2 и выше) конкретизируют классы задач, решаемые оболочками предыдущего уровня абстракции, выделяют
и инкапсулируют группы общих параметров, которые постоянны или жестко ограничены для данных классов задач. Пользователю, для решения конкретной задачи, необходимо указать лишь ограниченный набор параметров, предполагаемый оболочкой соответствующего уровня абстракции. При постановке задачи на решение, оболочка более
высокого уровня ставит задачу оболочке более низкого уровня, передавая ей как параметры, установленные пользователем, так и значения параметров по умолчанию, характерные для данной оболочки. Таким образом, процесс постановки задачи проходит
всю иерархию оболочек, вплоть до CAEBean первого уровня, который непосредственно управляет процессом решения задач данного класса. При успешном решении задачи,
результаты передаются вверх по иерархии оболочек, пока не достигнут того уровня, на
котором была поставлена данная задача, где CAEBean соответствующего уровня выводит результаты решения пользователю.
4. Создание целевой системы (Target System)
Рассмотрим пример трехуровневой системы проблемно-ориентированных оболочек. Возьмем задачу визуализации смешения жидкостей с разными температурами,
текущих по трубам (Рис. 2). Горизонтальная составляющая системы определяется подсистемами, которые используются для решения поставленной задачи. Так, в нашем
случае, процесс начинается с построения геометрии задачи посредством ANSYS
DesignModeler. Далее, полученная геометрия задачи преобразуется в 3-х мерную сетку,
посредством компонента ANSYS CFX Mesh. Сформированная сетка экспортируется в
ANYSYS CFX-Pre, где определяется физика задачи. Поставленная в ANSYS CFX-Pre
задача решается посредством ANSYS CFX-Solver, после чего, результат решения визуализируется посредством ANSYS CFX-Post.
Вертикальная составляющая системы формирует иерархию проблемноориентированных оболочек над базовыми компонентами системы. Оболочки нулевого
уровня (DesignModelerCAEBean, CFXMeshCAEBean и т. д.) инкапсулируют процесс постановки подзадач соответствующим базовым компонентам. Оболочка первого уровня
инкапсулирует решение общего класса задач. Для того чтобы поставить и решить задачу при помощи оболочки первого уровня, пользователю необходимо указать значения
множества различных параметров, характеризующих его конкретную задачу, начиная
от количества предполагаемых труб, заканчивая параметрами протекающих жидкостей.
Если же пользователю необходимо решить более частную задачу, он может воспользоваться одной из оболочек более высокого уровня, которые конкретизируют класс задач,
решаемых оболочкой первого уровня. В этом случае значительно уменьшается количество параметров, значения которых необходимо задавать вручную. Например, если
пользователь знает, что все параметры задачи, кроме скорости и температуры воды в
малой трубе, постоянны, он может воспользоваться оболочкой TubesCAEBean уровня 3,
и, указав только 2 параметра, получить решение своей конкретной задачи.
4
Рис. 2. Пример параметризации типовой задачи ANSYS CFX
ЛИТЕРАТУРА:
1. Г.И. Радченко, Л.Б. Соколинский, И.С. Кутепов. BeanShells: интеграция CAEпакетов в GPE // Параллельные вычислительные технологии: Труды международной научной конференции (29 января - 2 февраля 2007 г., г. Челябинск). Челябинск: Изд-во ЮУрГУ. -2007. -Т. 2. -С. 15.
2. А.С. Лукичев. Интеграция SOA- и классических высокопроизводительных приложений // Научный сервис в сети Интернет: технологии распределенных вычислений: Труды Всероссийск. науч. конф. (18-23 сентября 2006 г., г. Новороссийск).
-М.: Изд-во МГУ. - 2006. C 42-44
Download