Установка OpenFOAM 1.5 в Ubuntu 8.10
OpenFOAM – это открытая интегрируемая платформа для численного моделирования задач механики сплошных сред. Очень краткое описание можно прочесть здесь.
Сайт проекта: http://www.opencfd.co.uk/openfoam/
Полезные материалы: http://openfoamwiki.net
Качаем из git репозитария исходный код. Если git не установлен – устанавливаем:
sudo apt-get install git-core
Создаем директорию OpenFOAM в домашней директории (это важно, иначе придется править некоторые настройки чтобы откомпилировать систему):
mkdir ~/OpenFOAM
cd ~/OpenFOAM
Получаем исходный код:
git clone http://repo.or.cz/r/OpenFOAM-1.5.x.git
Также нам понадобится дополнительный архив с исходным кодом некоторых сторонних утилит ThirdParty.General.gtgz с вот этой страницы http://www.opencfd.co.uk/openfoam/other.html#other. Содержимое архива нужно распаковать в ~/OpenFOAM/ThirdParty
Если Вы используете bash, то настройки переменных окружения находятся в ~/OpenFOAM/OpenFOAM-1.5.x/etc/bashrc. Если же csh/tcsh, то в ~/OpenFOAM/OpenFOAM-1.5.x/etc/cshrc.
Инициализация переменных окружения (bash):
. ~/OpenFOAM/OpenFOAM-1.5.x/etc/bashrc
Инициализация переменных окружения (csh/tcsh):
source ~/OpenFOAM/OpenFOAM-1.5.x/etc/cshrc
Настройка переменных окружения необходима не только для компиляции системы, но и для ее запуска. В дальнейшем можно добавить инициализацию в ~/.bashrc или ~/.cshrс.
Разработчики OpenFOAM рекомендуют самостоятельно скачать и скомпилировать самую новую версию компилятора gcc, но мы воспользуемся версией Ubuntu. Для того чтобы настроить использование компилятора операционной системы правим ~/OpenFOAM/OpenFOAM-1.5.x/etc/settings.sh (bash) или ~/OpenFOAM/OpenFOAM-1.5.x/etc/settings.csh (csh/tcsh):
Ищем строчку:
compilerInstall=OpenFOAM
Заменяем на:
compilerInstall=System
Собирается OpenFOAM скриптом Allwmake:
cd ~/OpenFOAM/OpenFOAM-1.5.x/
./Allwmake
Сборка ParaView
ParaView – это система визуализации, поддерживающая распределенные вычисления.
Для сборки ParaView понадобится установить дополнительные пакеты:
sudo apt-get install cdbs debhelper autotools-dev quilt cmake libqt4-dev libopenmpi-dev ffmpeg libavformat-dev libavutil-dev libavcodec-dev python-dev chrpath libglu1-mesa-dev libxt-dev libosmesa6-dev
В скрипте ~/OpenFOAM/OpenFOAM-1.5.x/bin/buildParaView3.3-cvs правим настройки:
INCLUDE_MPI=ON
INCLUDE_PYTHON=ON
PYTHON_LIBRARY="/usr/lib/libpython2.5.so"
INCLUDE_MESA=ON
Запускаем этот скрипт:
~/OpenFOAM/OpenFOAM-1.5.x/bin/buildParaView3.3-cvs
CMake на стадии конфигурации выдает ошибку о том, что якобы версия Qt 4.4.3 не поддерживается:
CMake Error at CMakeLists.txt:94 (MESSAGE):
Qt 4.4.3 not supported. Please use Qt 4.3 (you may need to clean your
dirtied cache).
На самом деле при конфигурации проверяется наличие только версии 4.3, но и с 4.4 система скомпилируется нормально.
Правим ~/OpenFOAM/ThirdParty/ParaView3.3-cvs/CMakeLists.txt:
Заменяем строку:
STRING(REGEX MATCH "^4\\.3\\.[0-9]+" qt_version_tmp "${QTVERSION}")
На:
STRING(REGEX MATCH "^4\\.4\\.[0-9]+" qt_version_tmp "${QTVERSION}")
Снова запускаем сборку:
~/OpenFOAM/OpenFOAM-1.5.x/bin/buildParaView3.3-cvs
Проверка системы OpenFOAM
Для проверки системы есть специальный скрипт foamInstallationTest:
cd ~/OpenFOAM/OpenFOAM-1.5.x/bin
./foamInstallationTest
Если все настроено правильно, то единственное сообщение об ошибке будет связано с версией gcc.
Так как проект очень сложный и сборка может длиться не один час, вполне может случиться так, что тот или иной модуль системы не будет скомпилирован в результате ошибки. Поэтому сборку запускаем 2й раз, но уже с перенаправлением выводимых сообщений в 2 файла – log и warnings. В log будут короткие сообщения о уже собранных файлах, а в warnings предупреждения и возможные ошибки:
cd ~/OpenFOAM/OpenFOAM-1.5.x/
./Allwmake 1>log 2>warnings
Запуск примера расчета
Если система собрана правильно и переменные окружения настроены:
Создаем директорию run в ~/OpenFOAM/[имя пользователя]-1.5.x/:
mkdir -p $FOAM_RUN
Копируем все примеры в эту директорию:
cp -r $FOAM_TUTORIALS $FOAM_RUN
Открываем директорию с одним из примеров и запускаем расчет:
cd $FOAM_RUN/tutorials/icoFoam/cavity
blockMesh
icoFoam
paraFoam
Распечатать
Другие записи:
- Запуск Java и Apache Felix в chroot jail окружении в Debian Lenny
- Установка OpenCASCADE 6.2 в Ubuntu 8.10
- Установка SALOME-MECA 2009.1 в Ubuntu 8.10
- Установка Google Gadgets в Ubuntu 8.10
- Установка Elmer 5.4 в Ubuntu 8.10
- VectorLinux 6.0 Light
- Настраиваем PPPoE соединение в Ubuntu
- GPRS/EDGE доступ в интернет через bluetooth в Ubuntu 8.10
- Android SDK и Ubuntu
- Восстановление файлов с помощью PhotoRec в Linux

Очень полезная статья! Было бы здорово, если бы Вы что-нибудь написали по вычислениям в OpenFOAM. Я сейчас пытаюсь разбираться с этим пакетом. По работе нужно.
По вычислениям тоже будет – собираюсь писать кандидатскую на эту тему. Если что непонятно будет по установке – пишите в комментариях к этому топику + моя аська 481443360!
Вот и я тоже собираюсь кандидатскую писать. Вчера собирал OpenFOAM в Debian Etch r0. В итоге некоторое количество программ не собралось. Скрипт ~/OpenFOAM/OpenFOAM-1.5.x/binfoamInstallationTest тоже отсутствует. icoFoam для решения примера тоже отсутствует. Не нравится мне это…
Скорее всего в случае с Debian этих зависимостей недостаточно:
sudo apt-get install cdbs debhelper autotools-dev quilt cmake libqt4-dev libopenmpi-dev ffmpeg libavformat-dev libavutil-dev libavcodec-dev python-dev chrpath libglu1-mesa-dev libxt-dev libosmesa6-devВыкладывайте вывод Cmake – где стадия конфигурации и проверки зависимостей – посмотрим.
Кстати, Etch можно и обновить до Lenny
Блин, я уже отчаялся воевать с Фоумом! Поставил Lenny и все перечисленные выше пакеты. Не помогло! Файл ошибок сликом велик, так что я не знаю, стоит ли его здесь выкладывать? Может, лучше по почте отправить?
Что в Ubuntu хорошо – в Debian смерть:)
Можно отправить на sstv...@mail.ru – или запостить в блоге на http://world16.ru – это более предпочтительный вариант – поддержишь заодно своим участием скромное комьюнити пользователей linux
Проблема решилась просто! Мне дали диск CAELinux 2008. Я его установил и примонтировал его /opt к Дебиану. В итоге, OpenFOAM, Salome и ParaView работают без проблем. Версии, конечно, далеко не самые свежие, но это, думаю, не проблема. А для работы с программами, которые работать в таких условиях не хотят, я захожу в PCLinuxOS (он же CAELinux).
Что плохо – новая версия CAElinux поддерживает только 64 битную архитектуру
> Проблема решилась просто! Мне дали диск CAELinux 2008…
Поторопился! Проблема не решилась вообще никак. В CAELinux2008 OpenFOAM работать не хочет. Выдаёт те же ошибки, что что и на Дебиане 4.0. Что-то связанное с STDCXX… Удалось заполучить OpenFOAM 1.6. Теперь снова воюю с ним на своём Дебиане 4. Уже отчаялся! Чувствую, запустить его мне не удастся ни при каких обстоятельствах.
PS. Во время сборки из исходников опять вываливаются миллионы ошибок. :’( :’( :’(
Создавай топик на http://mtaalamu.ru – будем решать коллективно
а то так не понятно в чем именно проблема
Всё-таки, я его добил! Ура! Подробности тут:
http://rv82.blogspot.com/2009/12/openfoam-altlinux-4-desktop_19.html
Поздравляю