Установка OpenFOAM на Ubuntu 14.04

На данный момент инсталляционные пакеты доступны для следующих версий ОС12.04 LTS codename precise 12.10 codename quantal 13.04 codename raring 13.10 codename saucy Поэтому для версии 14.04, необходимо самостоятельно собрать OpenFOAM 2.3

Внимание процесс сборки может занять до 6 часов.OpenFOAM — свободно распространяемый инструментарий вычислительной гидродинамики для операций с полями (скалярными, векторными и тензорными). На сегодня является одним из «законченных» и известных приложений, предназначенных для FVM-вычислений.В частности пакет позволяет решать задачи гидродинамики ньютоновских и неньютоновских вязких жидкостей как в несжимаемом, так и сжимаемом приближении с учётом конвективного теплообмена и действием сил гравитации. Для моделирования турбулентных течений возможно использование RANS-моделей, LES- и DNS-методов. Возможно решение дозвуковых, околозвуковых и сверхзвуковых задач.

Работать будем в гостевой операционной системе под управлением системы на основе гипервизора Hyper-V. Если впервые используете Hyper-V с Ubuntu то разрешение при подключении к виртуальной машине может быть отлично от разрешения вашего экрана. Это можно исправить следующим образом. Вызовите командную строку введите следующую команду.

sudo nano /etc/default/grub Найдите строку с GRUB_CMDLINE_LINUX_DEFAULT и дополните ее «video=hyperv_fb:1600×900». Где вместо 1600×900 подставьте разрешение вашего монитора. В моем случае она выглядела так. GRUB_CMDLINE_LINUX_DEFAULT=«quiet splash video=hyperv_fb:1600×900» Далее выполните обновление внесенных настроек командой sudo update-grub Изменения вступят после перезагрузки виртуальной машины.Для сборки нам понадобится установить необходимые пакеты.

Перейдите в режим root. sudo -s Выполните установку пакетов. apt-get install build-essential git-core cmake flex bison zlib1g-dev qt4-dev-tools\ libqt4-dev gnuplot libreadline-dev \ libncurses-dev libxt-dev libopenmpi-dev openmpi-bin\ libboost-system-dev libboost-thread-dev libgmp-dev libmpfr-dev Выйдите из режима root. exit Создадим папку в для OpenFOAM и перейдем в нее. mkdir $HOME/OpenFOAM cd $HOME/OpenFOAM Следующие команды выполнят загрузку исходных кодов. git clone git://github.com/OpenFOAM/OpenFOAM-2.3.x.git wget http://downloads.sourceforge.net/project/foam/foam/2.3.0/ThirdParty-2.3.0.tgz Так же исходники доступны тутРазархивируем ThirdParty-2.3.0.tgz с помощью утилиты tar с ключами x распаковать z тип архива .gz f записать архив в файл (следующий параметр указывает имя файла). Следом удалим не нужный уже нам архив.

tar xzf ThirdParty-2.3.0.tgz rm ThirdParty-2.3.0.tgz Вернемся в домашнюю директорию и установим переменные окружения. cd gedit .bashrc В открывшемся текстовом редакторе, добавьте следующую строку в конец файла. source $HOME/OpenFOAM/OpenFOAM-2.3.0/etc/bashrc Сделаем доступными эти переменные окружения и протестируем одну из них. . .bashrc echo $FOAM_INST_DIR Используя переменную окружения, перейдем в нужную директорию и выполним компиляцию. cd $WM_THIRD_PARTY_DIR ./Allwmake Скомпилируем ParaView — постпроцессор для просмотра результатов и геометрий. ./makeParaView4 Заключительный шаг, выполнить компиляцию OpenFOAM (Внимание эта операция самая продолжительная) cd $WM_PROJECT_DIR ./Allwmake Осталось скопировать учебные задачи и проверить результат компиляции. cd mkdir -p $FOAM_RUN cp -r $FOAM_TUTORIALS $FOAM_RUN foamInstallationTest > log.foamInstallationTest cat log.foamInstallationTest Если все хорошо у вас будет следующее на экране.imageВыполним параллельный расчет мотоцикла.

сd $FOAM_RUN cd tutorial/incompressible/simpleFoam/motorBike/ ./Allrun После расчета, остается просмотреть что у нас получиться. paraFoam imageОтобразим только интересующий нас мотоцикл. Остальные галочки нужно убрать и оставить как на рисунке.imageНажмите Apply она будет зеленого цвета

Отобразим распределение давления. Выставив параметры в красном квадрате вы должны получить следующую картинку.image

Надеюсь, данная инструкция поможет в работе пользователям OpenFOAM.

PS>Если вы обнаружили ошибку или недочет напишите мне.

© Habrahabr.ru