Установка OpenFOAM на Ubuntu 14.04 tutorial
OpenFOAM — свободно распространяемый инструментарий вычислительной гидродинамики для операций с полями (скалярными, векторными и тензорными). На сегодня является одним из «законченных» и известных приложений, предназначенных для FVM-вычислений.В частности пакет позволяет решать задачи гидродинамики ньютоновских и неньютоновских вязких жидкостей как в несжимаемом, так и сжимаемом приближении с учётом конвективного теплообмена и действием сил гравитации. Для моделирования турбулентных течений возможно использование RANS-моделей, LES- и DNS-методов. Возможно решение дозвуковых, околозвуковых и сверхзвуковых задач.
На данный момент инсталляционные пакеты доступны для следующих версий ОС
- 12.04 LTS codename precise
- 12.10 codename quantal
- 13.04 codename raring
- 13.10 codename saucy
Однако, инсталляционный пакет ОС Ubuntu 14.04 отсутствует. Поэтому для версии 14.04, необходимо самостоятельно собрать OpenFOAM 2.3 Это является достаточно не простой задачей для новичков, которые недавно используют данную операционную систему.
Этому и посвящена статья.
Внимание процесс сборки может занять до 6 часов.
Работать будем в гостевой операционной системе под управлением системы на основе гипервизора Hyper-V. Если впервые используете Hyper-V с Ubuntu то разрешение при подключении к виртуальной машине может быть отлично от разрешения вашего экрана. Это можно исправить следующим образом. Вызовите командную строку введите следующую команду.
sudo nano /etc/default/grub
Найдите строку с GRUB_CMDLINE_LINUX_DEFAULT и дополните ее «video=hyperv_fb:1600x900». Где вместо 1600х900 подставьте разрешение вашего монитора. В моем случае она выглядела так.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash video=hyperv_fb:1600x900"
Далее выполните обновление внесенных настроек командой
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:
wget http:
Так же исходники доступны тут
Разархивируем 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
Если все хорошо у вас будет следующее на экране.
Выполним параллельный расчет мотоцикла.
сd $FOAM_RUN
cd tutorial/incompressible/simpleFoam/motorBike/
./Allrun
После расчета, остается просмотреть что у нас получиться.
paraFoam
Отобразим только интересующий нас мотоцикл. Остальные галочки нужно убрать и оставить как на рисунке.
Нажмите Apply она будет зеленого цвета
Отобразим распределение давления. Выставив параметры в красном квадрате вы должны получить следующую картинку.
Надеюсь, данная инструкция поможет в работе начинающим пользователям OpenFOAM.
PS>Если вы обнаружили ошибку или недочет напишите мне.
http://habrahabr.ru/post/231219/
|