Распределенная информационно-вычислительная система моделирования методами вычислительной гидродинамики

РАСПРЕДЕЛЕННАЯ ИНФОРМАЦИОННО-ВЫЧИСЛИТЕЛЬНАЯ

СИСТЕМА МОДЕЛИРОВАНИЯ МЕТОДАМИ ВЫЧИСЛИТЕЛЬНОЙ ГИДРОДИНАМИКИ

В.Д. Горячев, М.Е. Балашов, Д.С. Рыков, Е.М. Смирнов

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

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

Для решения задач гидродинамики, теплообмена, теории упругости и других подобных используются специальные средства моделирования и последующего инженерного анализа, такие как системы Pro/ENGINEER, CATIA, Nastran, Flow-3D. Они получили достаточное распространение в основных индустриальных странах. Однако их использование ограничено, в частности в нашей стране, что связано с высокой стоимостью этих систем, необходимостью наличия у проектировщика высокопроизводительных вычислительных ресурсов и с большими затратами на обучение разнородным интерфейсам взаимодействия с этими системами.

Перспективен путь создания информационно-вычислительных систем (ИВС) с телекоммуникационным доступом [1]. Такие ИВС, доступные через сети общего назначения, подобные Internet, становятся корпоративной средой для изучения технологий и решения сложных инженерных задач. Пользователи ИВС, используя открытые предметно-ориентированные графические средства и интерфейсы, формулируют в их среде задачи,

выполняют их на доступных вычислительных ресурсах, проводят анализ полученных результатов.

Наличие мощного вычислительного ядра в ИВС должно соответствовать классу решаемых задач. В мире используются решатели задач вычислительной гидродинамики разной мощности и универсализма - Fluent, STAR-CD, CFX, PHOENICS. Среди отечественных вычислительных кодов, используемых для численного моделирования в гидродинамике, можно отметить программы SINF, ESTTAC, AeroShape-3D, GasDyna-micsTool. До последнего времени их использование было ограничено рамками разработавших их научных коллективов. Такие решатели могут использоваться в качестве вычислительных ядер создаваемых сетевых вычислительных систем при условии разработки специальных предметно-ориентированных графических средств взаимодействия клиентов с вычислительными ядрами систем.

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

Структура системы

Авторами разработана среда моделирования методами вычислительной гидродинамики - распределенная информационно-вычислительная система (РИВС), ориентированная на использование в качестве клиента Web-браузера с поддержкой Java как стандартного средства работы с системой через сеть Internet. В основе структуры системы положены идеи, развитые в [1]. Предлагаемая новая версия РИВС обеспечивает возможность расширения (увеличения вычислительной мощности, интеграцию в систему новых решателей), предоставляет сетевые средства подготовки

и анализа расчетных данных и поддерживает параллельные вычисления. Структурно система состоит из четырех основных модулей (рис. 1):

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

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

- СУБД РИВС, обеспечивающей поддержку разработанной методики расширения системы;

- вычислительного ресурса, организованного на базе вычислительного кластера.

Рис. 1. Диаграмма жизненного цикла задач пользователя

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

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

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

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

Рис. 2. Модульная структура РИВС

Менеджер задач реализован на языке программирования Java, что обеспечивает программно-аппаратную независимость серверной части РИВС. Для унификации взаимодействия клиентов с менеджером задач используется программное обеспечение промежуточного слоя Java RMI. В управляющем сервере используется Web-сервер Apache 2.0.

Информация обо всех пользовательских задачах хранится в базе данных менеджера задач (рис. 3), созданной в СУБД вычислительной системы. В качестве СУБД используется СУБД PostgreSQL 7.2. Для связи СУБД с модулями управляющего сервера используется библиотека JDBC. Применение базы данных менеджера задач обеспечивает расширение возможностей вычислительной системы путем добавления новых типов решателей без модификации менеджера задач.

Рис. 3. Фрагмент структуры базы данных менеджера задач

Таким образом, может быть предложена методика интеграции новых решателей:

- сборка нового решателя и помещение его исполняемого файла в директорию, предназначенную для хранения зарегистрированных в системе решателей;

- разработка средств подготовки данных (препроцессора) для данного решателя с учетом возможности применения специально разработанной библиотеки автоматического построения графического интерфейса пользователя, основанной на универсальном описании параметров задач вычислительной гидродинамики;

- разработка новых средств анализа результатов расчетов (постпроцессора) или настройка интегрированного в систему постпроцессора NetLeo;

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

Основу менеджера задач составляют семь базовых классов (рис. 4). Главный класс TaskMa-nager определяет программный интерфейс (API) менеджера задач, представленный реализацией Java RMI сервера TaskManagerlmpl.

В программном интерфейсе менеджера задач три группы методов:

- управление задачами пользователей (создание, удаление, запуск и останов задач);

- операции с файловой системой управляющего сервера (чтение, запись и копирование файлов);

- получение дополнительной информации (данных о пользователях, зарегистрированных типах задач).

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

Средства подготовки и анализа расчетных данных

Для каждого интегрированного в систему решателя разработан сетевой препроцессор, обеспечивающий задание параметров течений, расчетных сеток и граничных условий. Помимо сетевых средств подготовки данных в состав вычислительной системы также входит разработанный в авторском коллективе генератор структурированных и конечно-элементных расчетных сеток ORIGGIN (Operative and Rational Interactive Grid Generation Instrument), выполненный в виде приложения для ОС Windows.

Первый интегрированный в вычислительную систему решатель ABCREAD (Analysis of Buoyancy, Curvature and Rotation Effects in Annuli and Ducts) был предназначен для численного решения уравнений Навье-Стокса и уравнения энергии в двухмерной постановке. Он предназначен для решения многопараметрических задач расчета течений несжимаемой жидкости и конвективного теплообмена: в прямоугольных или цилиндрических полостях, во вращающихся осесимметрич-ных емкостях. Кроме этого, солвер используется для решения задач о полностью развитых в продольном направлении течений во вращающихся прямолинейных или криволинейных каналах. Решатель позволяет вести моделирование ламинар-

Рис. 4. Модель базовых классов менеджера задач

ных и турбулентных течений. В последнем случае задачи решаются с привлечением высокорей-нольдсовой k—е модели турбулентности и пристеночных функций.

Препроцессор ABCREAD является примером унаследованного приложения, разработанного непосредственно средствами программирования языка Java. Опыт поддержки этого препроцессора выявил недостатки, связанные со сложностью его модификации. Это было учтено при разработке препроцессора NetSINF, выполненного на базе специально разработанной библиотеки автоматического построения графического интерфейса пользователя. Библиотека основана на построении визуального представления древовидного графа метаописаний параметров в виде непосредственно дерева или таблицы. Для представления узлов графа метаописаний параметров разработана модель классов метапараметров (рис. 5).

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

Для представления графа параметров на экране разработаны классы построения дерева Tree и таблицы Table (рис. 6). Дерево непосредственно отображает структуру графа параметров на экра-

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

Рис. 5. Модель классов метапараметров

Более мощный универсальный решатель SINF (Supersonic-to-INcompressible Flows) позволяет моделировать двух- и трехмерные, стационарные и нестационарные, невязкие и вязкие, ламинарные и турбулентные, несжимаемые и сжимаемые дозвуковые течения, конвективный теплообмен, а также учитывать в расчетах эффекты плавучести и вращения. Пространственная область течения покрывается структурированной одноблочной (в общем случае криволинейной и неортогональной) расчетной сеткой.

Течение описывается полной системой уравнений Навье-Стокса или Эйлера с добавлением уравнений переноса энергии и транспортными уравнениями для учета характеристик турбулентности. Моделирование турбулентного переноса осуществляется на основе высоко- и низкорей-нольдсовых k — е моделей турбулентности. При постановке задач используются разнообразные граничные условия: многосегментное задание данных на входе в моделируемую область с заданной скоростью и температурой и задание данных для давления (или его градиента) на выходной границе. Твердые граничные поверхности могут быть заданы неподвижными, движущимися, с заданной температурой, с заданным тепловым потоком или внешним параметром теплопередачи. В случае применения высокорейнольдсовой модели турбулентности используются пристеночные функции. На части свободных поверхностей воз-

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

ChoiceRenderer

Рис. 6. Модель классов подсистемы представления метапараметров

Коды решателей разработаны на кафедре гидроаэродинамики СПбГТУ, с частичной переработкой они адаптированы к применению в сетевом варианте.

Для подготовки задач к выполнению в качестве интерфейса к решателю SINF разработан препроцессор NetSINF. Препроцессор выполнен в виде Java-апплета с привлечением библиотеки автоматического построения графического интерфейса пользователя. При реализации панели задания граничных условий препроцессора NetSINF возникла необходимость использования концепции помощника (master) - диалогового окна, состоящего из взаимосвязанной последовательности страничек ввода необходимой информации. Для этого библиотека автоматического построения графического интерфейса пользователя была дополнена классами, облегчающими создание помощников.

В настоящий момент закончено интегрирование в РИВС решателя CDF (Cartesian Domain Flows). Решатель позволяет вести прямое численное моделирование: - DNS (Direct Numerical Simulation) - ламинарных течений с переходом в турбулентность и позволяет решать стационарные и нестационарные задачи тепло- и массопереноса с распараллеливанием вычислений. Расчет ведется на блочно-структурированных декартовых сетках, при этом расчетная область разбивается на блоки, вычисления для каждого из которых производятся на отдельном процессоре, а обмен данными осуществляется с помощью функций библиотеки MPI.

Для подготовки многоблочных расчетных сеток в качестве вспомогательного инструментария для решателя CDF разработан препроцессор cCFD, построенный на основе архитектуры клиент-сервер с использованием "тонкого" клиента с протоколом обмена Java RMI (Remote Method Invocation). Программно пользовательская часть реализована в виде Java-апплета с использованием графической библиотеки собственной разработки.

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

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

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

Для анализа результатов исследований и просмотра результатов расчетов (скалярных и векторных полей) разработан постпроцессор NetLeo. Постпроцессор выполнен в виде Java-апплета и может работать как в режиме программной визуализации, так и с привлечением аппаратного ускорения векторной графики на основе библиотеки OpenGL. Постпроцессор NetLeo позволяет строить сечения, формы, карты, векторные поля и изопо-верхности. Предусмотрена настройка постпроцессора на разные типы задач визуализации. Дополнительную обработку результатов расчетов и высококачественную визуализацию можно вести, пользуясь входящей в систему программой LEONARDO.

Примеры применения системы

К настоящему времени с использованием разработанных решателей в среде РИВС проведено моделирование различных типов трехмерных вихревых течений, в частности, рассчитано трансзвуковое течение в решетке лопаток турбины [2], проведены DNS-расчеты термоконвекции в кавер-

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

Рис. 7. Поля скорости в вентилируемой комнате, связанные с изоповерхностями разных значений абсолютной величины скорости

Одним из важных приложений может служить расчет вентиляционных потоков в строительных конструкциях, где наличие большого количества выделенных физических блоков предполагает эффективное использование методов распараллеливания при вычислениях на кластере ПЭВМ. В качестве примера приводятся (рис. 7 и 8) результаты

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

В заключение отметим, что, используя созданную распределенную вычислительную систему, можно проводить моделирование сложных вихревых течений на основе современных методов вычислительной гидродинамики. Разработанная система доступна в сети Internet (http://seliger.tversu.ru). РИВС содержит вычислительные ресурсы для решения термогидродинамических задач, базу данных калибровочных расчетов (регистрационный номер государственного регистра баз данных - 0229805158). Создана библиотека автоматического построения графического интерфейса пользователя. В вычислительную систему интегрированы решатели ABCREAD, SINF и CDF. Для каждого решателя разработаны сетевые предметно-ориентированные графические средства подготовки и анализа расчетных данных.

Работа по созданию РИВС проводится при поддержке РФФИ (грант № 02-07-90049).

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

1. Goriatchev V., Balachov M., Rykov D. Net Informational and Computational System for CFD Researchers // CIE Proceedings of DETC'01, 2001 ASME Design Engineering Technical Conferences and Computers and Information in Engineering Conference September 9-12, 2001, Pittsburgh, Pennsylvania, USA, pp. 1-5.

2. Goriatchev V., Ivanov N., Smirnov E., Ris V. CFD-analysis of secondary flows and pressure losses in a NASA transonic turbine cascade // Conference on Modelling Fluid Flow (CMFF'03), The 12th Event of International Conference Series on Fluid Flow Technologies Held in Budapest, Conference Proceedings, Volume II, Hungary, September 3 - 6, 2003, Ed. By T. Lajos, J. Vad, Department of Fluid Mechanics of Budapest University of Technology and Economics, Budapest, 2003, pp. 12511258.

3. Smirnov E., Smirnov P., Ivanov N., Abramov A., Yaku-bov S. DNS and RANS/LES-computations of complex geometry flows using a parallel multiblock finite-volume code // Parallel Computational Fluid Dynamics, May 13-15 2003, Book of Abstracts, Moscow, Russia, 2003, pp.132-135.

ИНСТРУМЕНТАРИЙ ВОПРОСНО-ОТВЕТНЫХ РАССУЖДЕНИЙ В КОРПОРАТИВНОЙ СРЕДЕ АВТОМАТИЗИРОВАННОГО ПРОЕКТИРОВАНИЯ

П.И. Соснин

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

По глубокому убеждению автора, пытаясь подражать естественному интеллекту, следует

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

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