RELARN-2004. Тезисы доклада.
Пре- и постобработка данных и управление вычислительным кластером
для моделирования в гидродинамике
Горячев В.Д., Балашов М.Е.
Тверской государственный технический университет, valery@tversu.ru
Смирнов Е.М.
Санкт-Петербургский государственный политехнический университет, aerofmf@citadel.stu.neva.ru
Прогресс в развитии вычислительных сетей с использованием кластеров ПК, позволяет создавать дешевые вычислительные ресурсы для решения трудоемких задач механики. В ТГТУ для решения задач вычислительной гидродинамики разработана распределенная информационно-вычислительная система I&CS2 (Informational & Computational System version 2), работающая с различными вычислительными ядрами, в частности с новым ядром на кластере cCFDd (claster Computational Fluid Dynamics domain). Система ориентирована на использование в качестве клиента web-браузера с поддержкой Java, как стандартного средства взаимодействия с системой, носит распределенный характер и обеспечивает поддержку параллельных вычислений.
Вопрос удобства работы пользователя в системе во многом определяется удобством и функциональностью интерфейса системы контроля удаленных расчетов с распараллеливанием, подготовки данных расчета и анализа результатов.
Препроцессор для моделирования гидродинамических процессов в распределенной I&CS2 (далее "препроцессор") предназначен для подготовки расчетных сеток используемых при прямом численном моделирования турбулентных течений (Direct Numerical Simulation, DNS). На настоящий момент DNS-солвер может использовать в расчетах многоблочные расчетные сетки, состоящие их прямолинейных блоков с нерегулярным, в общем случае, разбиением. Препроцессор реализован на основе архитектуры клиент-сервер, с использованием "тонкого" клиента с протоколом обмена Java RMI (Remote Method Invocation). Программно пользовательская часть реализована в виде Java-аплета с использованием графической библиотеки собственной разработки.
Разработанная графическая библиотека позволяет разделить объектную модель графического представления на два уровня - абстрактный уровень геометрических объектов и уровень реализации, который оперирует объектами, зависимыми от реализации графической системы. В настоящее время существует два варианта реализации - с использованием графической библиотеки OpenGL и с использованием Java-графики. Так как поддержка OpenGL требует установки дополнительного ПО и его настройки на клиентской стороне, то для реализации препроцессора был выбран последний вариант, для работы которого необходима только поддержка Java-аплетов веб-браузером пользователя.
Разработана библиотека метаобъектов предметной области, в основе которой лежит абстрактный класс Meta в качестве базового класса, который инкапсулирует основные данные для графического представления какого-либо параметра. Для представления примитивных параметров, являющихся листьями графа, создан набор классов, являющихся потомками класса Meta. Этот набор включает классы для представления целых, вещественных, строковых, булевых и выборочных величин из списка параметров и включает в себя классы геометрической модели расчетной сетки и классы, представляющие параметры расчета (граничные условия, физические параметры, настройки солвера).
Иерархия объектов геометрической модели расчетной сетки включает в себя следующие объекты:
- Модель (Model), которая объединяет блоки сетки в единое целое;
- Блок (Block), который представляет декартову сетку с заданными свойствами и содержит шесть упорядоченных граней, позволяющих представить блок в виде параллелепипеда.
- Грань (Face), которая служит для представления одной из шести поверхностей блока и позволяет оперировать понятиями связности блоков по граням. Грань содержит четыре ребра;
- Ребро (Edge), содержит сегменты (в общем случае - несколько);
- Сегмент (Segment), содержит точки и задает геометрические свойства с их помощью и с помощью параметров разбиения сегмента;
- Точка (Point), задает трехмерные координаты в пространстве:
- Разбиение (Partition), задает разбиение сегмента на отрезки в соответствии с заданными правилами (например, равномерно или по линейному закону)
- другие вспомогательные объекты (объекты для представления связности блоков, для задания зон действия граничных условий на гранях блоков и т.д.)
Объектная модель является открытой для добавления новых объектов, иерархия объектов строится динамически. На основе полученной модели генерируется многоблочная расчетная сетка. Необходимые для расчета граничные условия также представляются объектами в модели расчетной области. Параметры расчета задаются в виде иерархической структуры, объекты которой в общем случае могут быть зависимыми друг от друга. Данная структура может содержать некоторые наборы правил, предназначенных для контроля целостности данных и допустимости входных параметров для расчета.
Контроль организации расчетов ведется с использованием менеджера задач, который хранит информацию обо всех задачах в системе и организует жизненный цикл перехода состояний задачи. Клиент выполнен в виде Java-аплетов. Основным является аплет клиентской части менеджера задач, предназначенный для создания новых задач, управления вызова менеджера препроцессора конкретного типа задачи, удаления задач, запуска и останова выполнения задачи, мониторинга процесса выполнения задачи и вызова средств анализа результатов.
Постобработка результатов расчетов может вестись автономно с использованием мощного постпроцессора LEONARDO или в режиме on-line с использованием модифицированной версии сетевой программы-аплета NetLeo, представляющий собой визуализатор результатов расчетов, который позволяет отображать скалярные и векторные поля, строить сечения, поверхности и изоповерхности и выполнять ряд других операций, адаптированных к блочному представлению области расчета.
Авторы благодарны РФФИ за поддержку работы (грант N 02-07-90049 в, 02-07-06024 мас).