Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diplom3.pdf
Скачиваний:
143
Добавлен:
09.02.2015
Размер:
1.48 Mб
Скачать

icoFoam –case

$FOAM_RUN/tutorials/incompressible/icoFoam/cavity

Здесь icoFoam – название программы-решателя для расчета динамики несжимаемой ньютоновской жидкости, -case – параметр запуска приложения icoFoam, который указывает, что следующий параметр – путь к кейсу OpenFOAM, который следует рассчитать. После ввода данной команды запустится решатель icoFoam, и в процессе решения в терминал будет выводиться лог решения задачи.

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

Такая же проблема имеет место и в пост-процессинге: для запуска визуализатора необходимо ввести команду

paraFoam –case <путь к кейсу>

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

1.2 Основные требования к пользовательскому интерфейсу OpenFOAM

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

Интерфейс должен быть графическим. Взаимодействие с OpenFOAM через терминал Linux неприемлемо.

16

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

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

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

1.3 Функционал пользовательского интерфейса OpenFOAM

При просмотре tutorial-кейсов OpenFOAM можно видеть, что их содержимое отличается друг от друга. Это связано, во-первых, с тем, что в разных задачах используются разные физические величины и константы, и во-вторых с тем, что для некоторых задач используются специальные утилиты (такие, как blockMesh и setFields). Есть файлы, которые неизменно входят в состав любого кейса: controlDict, fvSchemes, fvSolution, а также файлы, содержащие информацию о расчетной сетке: points, faces, cells, boundary. Эти файлы необходимы для работы всех решателей. Другие файлы, такие, как файлы полей, находящиеся во временных директориях, константы и физические свойства в директории constant, также необходимы, но для каждого решателя они свои.

Файлы, содержащие информацию о расчетной сетке, как правило, не редактируются вручную, а получаются с помощью специальных утилитгенераторов расчетной сетки, таких, как blockMesh или snappyHexMesh. В подавляющем большинстве tutorial-кейсов используется именно blockMesh. Для задания параметров этой утилиты нужно отредактировать ее словарь blockMeshDict.

17

Для задания исходных полей и граничных условий нужно отредактировать файлы, находящиеся во временных папках. Как было сказано выше, это не составляет большого труда для однородных полей. Для неоднородных же часто применяется утилита setFields.

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

редактировать базовых настроек решения, задаваемых в словаре controlDict;

редактировать словарь blockMeshDict и запускать утилиту blockMesh для генерирования расчетной сетки;

редактировать файлы полей, позволяя задавать значения однородных и неоднородных полей вручную, добавлять и удалять поля;

редактировать файлы, содержащие физические свойства среды и константы,

ипозволять добавлять и удалять данные файлы;

редактировать файлы fvSchemes и fvSolution для задания схем дискретизации

испособов решения уравнений;

при необходимости, редактировать словарь setFieldsDict и запускать утилиту setFields в случае неоднородных полей.

Все редактирование кейса должно выполняться с помощью графических элементов интерфейса.

18

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]