winkoialtisomac
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 мас).