Пакет OpenFOAM
На К-100 установлен пакет OpenFOAM версий 2.3.0 и foam-extend-3.1 — библиотека и набор модельных приложений с возможностью строить свои приложения.
OpenFOAM-2.3.0 был скомпилирован с помощью компилятора composer_xe_2013_sp1 и для своей работы требует, чтобы библиотеки времени исполнения этого компилятора были доступны. Для этого в файл ~/.bash_profile нужно добавить следующую строчку:
. /common/intel/composer_xe_2013_sp1/bin/compilervars.sh intel64
OpenFOAM-2.3.0 может работать с двумя версиями MPI : OpenMPI и Intel MPI .
Для работы с Intel MPI в файл ~/.bash_profile нужно добавить следующие строчки:
export INTEL_MPI_VERSION=4.0.0.028 export MPI_HOME=/common/intel/impi/$INTEL_MPI_VERSION export MPI_LIBS_DIR=$MPI_HOME/lib64 PATH=/common/runmvs/bin:$MPI_HOME/bin64:$PATH export LD_LIBRARY_PATH=$MPI_LIBS_DIR:$LD_LIBRARY_PATH . /common/openfoam/OpenFOAM/OpenFOAM-2.3.0/etc/bashrc_intelmpi
Для работы с OpenMPI в файл ~/.bash_profile нужно добавить следующие строчки:
export MPIR_HOME=/usr/mpi/intel/openmpi-1.4.2-qlc export MPIRUN_CMD=/common/runmvs/bin/run-openmpi export MPI_LIBS_DIR=$MPIR_HOME/lib64 PATH=/common/runmvs/bin:$MPIR_HOME/bin:$PATH export LD_LIBRARY_PATH=$MPI_LIBS_DIR:$LD_LIBRARY_PATH . /common/openfoam/OpenFOAM/OpenFOAM-2.3.0/etc/bashrc_openmpi
По умолчанию папка для выполнения расчетов и пользовательских приложений ( WM_PROJECT_USER_DIR ) находится в ~/OpenFOAM/username-2.3.0.
При запуска задач с помощью команды mpirun на К-100 следует помнить что путь к исполняемому файлу должен быть указан полностью, чтобы этого не делать можно написать
mpirun $(which имя_приложения)
Скрипты для запуска примеров, которые идут с OpenFOAM ( Allrun ) не совместимы с системой запуска задач на К-100, поэтому их не следует использовать.
Многие команды, например reconstructPar , требует значительных ресурсов и времени, поэтому их следует выполнять на вычислительных модулях с помощью команды mpirun . При вычислениях генерируется большое количество данных, поэтому рекомендуется их выполнять в своей папке в /nethome .
Источник: www.kiam.ru
Русские Блоги
Руководство по компиляции и установке OpenFOAM-5.x под Ubuntu
Предисловие
На официальном веб-сайте of of имеется руководство по компиляции и установке.В связи с уровнем владения английским языком у разных людей и разным пониманием процесса компиляции и установки в Linux рассмотрите возможность публикации более подробных шагов здесь для справки.
1 Подготовка перед установкой
1.1 Компьютер или виртуальная машина с установленной системой Ubuntu:
Во-первых, вам нужна операционная система Linux с Ubuntu17.04 или выше. Это руководство установлено на виртуальной машине Ubuntu 18.04, которая является виртуальной рабочей станцией 12 pro.
1.2 В этом руководстве представлен только метод компиляции и установки, который подходит для пользователей, которые имеют плохую сеть и не могут установить их напрямую.
1.3 Для компиляции и установки сначала необходимо загрузить и сохранить на своем компьютере исходный код и программное обеспечение сторонних производителей (например, программное обеспечение постобработки Paraview и т. Д.). Официальный веб-сайт предоставляет способ получения исходных файлов.способ;
Однако некоторые машины или сети могут быть не в состоянии выполнить вышеуказанные операции. Вот способ загрузить и распаковать пакет напрямую:
* Войдите в сеть под любой операционной системой и введитеopenfoam-5.xс участиемthirdparty-t.xСтраница загрузки.
* Страница явно следующая,
Нажмите зеленое поле «Клонировать или загрузить», откройте меню и нажмите «Скачать ZIP», загрузите и сохраните, обратите внимание, что и OpenFOAM-5.x, и ThirdParty-5.x загружаются таким образом, и будьте осторожны, чтобы не использовать операционную систему Windows. Распаковка при следующем (легко вызвать несоответствия в случае различных заголовочных файлов во время компиляции, что приводит к сбою компиляции)
2. Готов к установке
2.1 Создайте папку OpenFOAM под вашей системной учетной записью Ubuntu. Если имя учетной записи cfd, это / home / cfd / OpenFOAM.
2.2 Перетащите или скопируйте загруженные файлы OpenFOAM-5.x-master.zip и ThirdParty-5.x-master.zip в каталог / home / cfd (вы можете использовать операцию на рабочем столе, просто и удобно) напрямую Извлеките файлы и назовите извлеченные папки как OpenFOAM-5.x и ThirdParty-5.x соответственно, а затем обрежьте их во вновь созданную папку OpenFOAM, как показано на рисунке ниже, сначала игнорируйте папку cfd-5.x , Будет установлено позже;
2.3 Зависимость установки
* Сначала проверьте версию gcc системы, введите в терминале:
gcc —version
Чтобы проверить версию, если появится сообщение о том, что она не установлена, установите ее в соответствии с подсказкой, например
sudo apt install gcc
Затем установите зависимые пакеты, такие как FLEX, Qt, cmake и т. Д.
* Для зависимого пакета из, введите в терминале:
sudo apt-get install build-essential flex bison git-core cmake zlib1g-dev libboost-system-dev libboost-thread-dev libopenmpi-dev openmpi-bin gnuplot libreadline-dev libncurses-dev libxt-dev
* Для пакета зависимостей paraview введите в терминале:
sudo apt-get install qt4-dev-tools libqt4-dev libqt4-opengl-dev freeglut3-dev libqtwebkit-dev curl
2.4 Далее настройте переменные среды
Введите в терминале:
gedit $HOME/.bashrc
Откройте файл .bashrc и потяните вниз до конца файла.Если в конце файла есть операторы вроде source . openfoam, удалите его и повторно добавьте следующий оператор, если нет — просто добавьте его.
source $HOME/OpenFOAM/OpenFOAM-5.x/etc/bashrc
После изменения файла .bashrc сохраните и закройте файл.
Закройте и снова откройте терминал. Если сообщение об ошибке отсутствует, конфигурация среды прошла успешно.
3. Скомпилируйте и установите запуск
3.1 Компиляция
Перейдите в папку OpenFOAM-5.x
Терминал ввода
cd $HOME/OpenFOAM/OpenFOAM-5.x
После входа в папку введите еще раз:
Компиляция начинается в это время, и время компиляции составляет около 3 часов, так что будьте терпеливы в это время.
3.2 Если компиляция прошла успешно, сообщение об ошибке не появится, вы можете сразу ввести команду:
Если появляется следующий вывод, компиляция прошла успешно.
| \ / F ield | OpenFOAM: The Open Source CFD Toolbox |
| \ / O peration | Version: 5.x |
| \ / A nd | Web: www.OpenFOAM.org |
| \ / M anipulation | |
Exec : blockMesh
Date : May 22 2018
Time : 03:11:52
3.3 После компиляции начните загружать и компилировать стороннее программное обеспечение, такое как paraview
Войдите в папку Thirdparty-5.x,
cd $HOME/OpenFOAM/ThirdParty-5.x
Затем продолжайте ввод:
После успешной компиляции продолжайте ввод:
./makeParaView
Начните скачивать Paraview в это время, а затем автоматически завершите компиляцию, обратите внимание, что если сеть не в порядке, здесь будет отображаться ошибка загрузки, вы можете попробовать несколько раз или использовать сеть кампуса.
Загрузка и компиляция Paraview также займет много времени, около часа или около того, терпеливо ждать.
После окончательной успешной компиляции вы можете попробовать сделать небольшой пример для тестирования.
4. Тест
В соответствии с первым случаем руководства пользователя 5.0, верхняя крышка потока, тест проводится.
Руководство предполагает, что для проверки случая вы можете скопировать его в указанную папку прогона для расчета.
По команде:
ls $FOAM_RUN
Проверьте конкретное местоположение прогона. Если он не существует, вы можете создать его с помощью следующей команды:
mkdir -p $FOAM_RUN
После создания папки запуска скопируйте сюда файлы обложки обложки и введите последовательно следующие команды:
cd $FOAM_RUN
cp -r $FOAM_TUTORIALS/incompressible/icoFoam/cavity/cavity .
Затем, сгенерируйте файл сетки, используйте:
Затем используйте paraview для просмотра, введите команду
paraFoam
Откройте обзор для просмотра создания сетки. Если после ввода отсутствует ***, вы можете создать его в соответствии с командной строкой.
После успеха вы можете повторно ввести команду paraFoam
Закройте paraview и введите команду solver в каталоге полости:
В этот момент начинается вычисление, и после его окончания вы можете снова вызвать программное обеспечение paraView для просмотра результатов.
PS: Особые рабочие команды здесь не повторяются, пожалуйста, обратитесь к официальному руководству и руководству самостоятельно.
PS: сначала скомпилируйте, затем загрузите и установите paraview, либо сначала загрузите и установите paraview, затем скомпилируйте, их порядок не имеет значения.
Источник: russianblogs.com
Как начать работу с OpenFOAM для CFD
Я смотрю на использование OpenFOAM для решения основных внутренних потоков в CFD. Как лучше всего начать, и может ли кто-нибудь указать мне хороший онлайн-справочник с любыми вопросами, которые могут возникнуть у меня после погружения? Я слышал, что это довольно нишевая на данный момент, и многие решающие функции не так хорошо документированы. Очевидно, что документация, которая идет с самим пакетом, является началом, но есть ли сторонние ссылки (что-то вроде вики OpenFOAM)?
OpenFOAM — хорошее программное обеспечение, но для того, чтобы хорошо учиться, требуется некоторое время. Вы смотрели на учебные проблемы, поставляемые с пакетом?
В области 51 StackExchange в настоящее время предлагается сайт, специфичный для OpenFOAM . Пожалуйста, поддержите сайт, чтобы получить его онлайн.
Для запуска симуляции CFD я бы предложил начать с UserGuide и ProgrammersGuide. Документ ProgrammersGuide также содержит примеры кейсов и объясняет дополнительные вещи, такие как граничные условия. Использовать OpenFOAM на верхнем уровне довольно просто, если вы освоите конфигурационные файлы. Оба документа доступны в каталоге / doc . Как только вы закончите с этим, вы можете найти много дополнительных материалов из университета Чалмерса : курс Chalmers OpenFOAM, организованный проф. Хокан Нильссон.
Когда вы закончите с этим, копайтесь в вики . Сконцентрируйтесь на задаче, которую вы хотите выполнить: библиотека огромна, поэтому у вас нет шансов узнать ее, если у вас есть широкий подход к изучению ее работы. Работайте над конкретными проблемами, пытайтесь найти документацию, участвовать в дискуссиях на форуме и расширять проект (см. Ниже).
Если вас интересует конкретная проблема, попробуйте выяснить, какой решатель используется для ее моделирования, например, для турбулентного / ламинарного стационарного решения, используйте simpleFoam , для транзиентного ламинарного решения, используйте icoFoam и т. Д. Все решатели сохраняются в структура каталогов, которая соответствует их использованию, например / multiphase / incompressible / les / interFoam, будет решателем, подобным vof, используемым для двухфазных симуляций большого вихря (les).
Начните с запуска случаев из каталогов учебника. Всегда делайте копию случая симуляции, чтобы у вас был оригинал (если вы используете git и допустили ошибку, извлеките каталог, чтобы вернуться в исходное состояние).
Если вы успешно установили OpenFOAM на своем компьютере, выполните псевдоним в строке comnand и увидите, что есть несколько полезных команд, которые помогут вам начать:
- Тут вы попадете в учебные каталоги
- run приводит вас в каталог run: здесь вы запускаете симуляции
- Sol приводит вас в каталогах решателей
Вы можете задавать вопросы на OpenFOAM форуме , когда вы столкнулись с проблемой, и есть каталог PhD и MSc диссертации и статьи по OpenFOAM доступны на FAMENA (факультет машиностроения, Uni. Загреб, Хорватия) File Server .
OpenFOAM Summer School — это действительно крутой курс, организованный проф. Hrvoje Jasak в FAMENA, это происходит где-то в сентябре каждого года, и это прекрасная возможность узнать и познакомиться с исследователями, работающими с OF.
Также существует сайт, организованный сообществом OpenFOAM: проект по расширению OpenFOAM , где вы также можете участвовать в обсуждениях с людьми.
Источник: qastack.ru
Теплообмен излучением. Численный метод расчета угловых коэффициентов.
При расчете теплообмена излучением часто возникает проблема с нахождением угловых коэффициентов, которые представляют собой геометрическую характеристику взаимного положения двух поверхностей в пространстве. Если случай какой-нибудь из простых, например, соосные квадрат и круг и пр., аналитически найти угловые коэффициенты никаких трудностей не вызывает. Однако, когда мы имеем сложные криволинейные поверхности в объеме, задача становится нетривиальной и требует численных методов. В openFoam есть для этого специальная утилита viewFactorsGen, которую мы в данной статье протестируем на простейшем случае: куб внутри цилиндра с длиной L=D.
См. далее
Запись опубликована 03.01.2016 автором zagoskin.a в рубрике OpenFOAM.
Моделирование аэродинамики циклонных устройств. Часть 2.
Продолжу рассматривать численное моделирование аэродинамики циклонных устройств. Начало здесь. Как я отмечал ранее, использование “классических” моделей турбулентности kOmegaSST и SA в их первоначальном виде приводит к завышению турбулентной вязкости и значительному смещению максимума тангенциальной скорости к боковой поверхности камеры. В данной статье введем в эти модели поправки на кривизну линий тока и сравним полученные профили безразмерной тангенциальной скорости с экспериментальными.
См. далее
Запись опубликована 24.12.2015 автором zagoskin.a в рубрике OpenFOAM.
Моделирование аэродинамики циклонного устройства. Часть 1.
Именно с этой темы я и начинал знакомиться с openFoam-ом и численным моделированием. Задача оказалась абсолютно нетривиальной из-за сильно закрученного течения, образующегося в циклонном устройстве. На каждом форуме, посвященном ВГД, обязательно можно найти тему про данную задачу, например на cfd-online.com: 1, 2. Были и на форуме os-cfd.ru хорошие темы по моделированию циклонов, но форум куда-то пропал.
В данной статье я рассмотрю решение рассматриваемой задачи при использовании модели турбулентности Лаундера-Гибсона (LaunderGibsonRSTM);
См. далее
Запись опубликована 20.12.2015 автором zagoskin.a в рубрике OpenFOAM.
Обтекание цилиндра. Конвективный теплообмен.
Начало здесь.
Продолжу рассматривать численное моделирование конвективного теплообмена. В данной статье решим задачу поперечного обтекания цилиндра потоком воздуха. Рассмотрим следующие вопросы:
1) Получим численно средний коэффициент теплоотдачи от трубки диаметром d=15 мм при числе Рейнольдса Re=1000…15000, температура трубки 100 С, температура потока 0 С;
2) Выполним сопоставление полученных значений с имеющимися в литературе обобщающими зависимостями [1];
3) Сопоставим средние тепловые потоки от трубки, найденные через градиент температуры в ламинарном подслое трубки и через перепад температуры на входе и выходе канала;
4) Сопоставим распределение среднего коэффициента теплоотдачи по периметру трубки с экспериментальными значениями [2].
См. далее
Запись опубликована 03.08.2015 автором zagoskin.a в рубрике OpenFOAM.
Турбулентное течение в трубе. Конвективный теплообмен.
С данной статьи я начну рассматривать численное моделирование конвективного теплообмена. Самый простой случай – турбулентное течение в трубе. Определим средний по поверхности коэффициент теплоотдачи, распределение коэффициента теплоотдачи по длине трубы и сопоставим с обобщающими расчетными зависимостями [1,2]. Диаметр трубы d=15 мм, длина L=150 мм выбрана такой, чтобы взять точное значение поправки на начальный участок. Температура стенки задавалась равной 100 С, начальная температура потока – 0 С. Скорость на входе принимала значения U=10.187; 20.373; 50.9333.
См. далее
Запись опубликована 11.06.2015 автором zagoskin.a в рубрике OpenFOAM.
Обтекание цилиндра. Re=400…1200
Обтекание цилиндра в диапазоне Re>400 идет в турбулентном нестационарном режиме, все также образуется вихревая дорожка Кармана:
Основы моделирования турбулентности, модели турбулентности и области применимости наиболее удачно описаны в следующих книгах [1,2]. Вообще моделей турбулентности очень-очень много, но универсальной до сих пор нет, и видимо не появится. Наиболее распространенные на сегодня – модель Спаларта-Алмараса, и модель k-omega-SST Ментера, они обкатаны на большом спектре задач и их можно использовать “по умолчанию” в большинстве случаев. Модель k-epsilon уже очень старая, есть множество ее модификаций, в этой статье я буду использовать наиболее удачную модификацию Лаундера-Шармы, просто в качестве возможной альтернативы.
Есть мнение, что модель Спаларта-Алмараса нужно использовать в случае внешних задач, а модель k-omega-SST для внутренних, видимо так сложилось исторически, но я до сих пор не нашел этому подтверждение. При внешних задачах, несмотря на развитие пристенных функций, я всегда стараюсь использовать низкорейнольдсовые модели турбулентности и ближайшую ячейку располагать при y+ См. далее
Запись опубликована 22.02.2015 автором zagoskin.a в рубрике OpenFOAM.
Обтекание цилиндра. Re=100…200
См. обтекание цилиндра при Re=1…30
Теперь рассмотрим обтекание цилиндра при Re=100…200, как известно в данном случае образуется вихревая дорожка Кармана при ламинарном течении. Т.е. для получения нужной картины вихрей необходимо использовать нестационарный метод. В данной статье выполним следующее:
1) Получим картину вихревой дорожки Кармана:
2) Определим изменение числа Струхаля от числа Рейнольдса (St=f(Re)) и сопоставим с эмпирической зависимостью;
3) Продолжим получение зависимости Cd=f(Re).
Особенность получения вихревой дорожки Кармана с помощью icoFoam – введение некоторой несимметричности. Иначе получится стационарный след, аналогичный вихрям Твина.
Запись опубликована 31.01.2015 автором zagoskin.a в рубрике OpenFOAM.
Обтекание цилиндра. Re=1…30
Как известно, режим обтекания цилиндра зависит от числа Рейнольдса:
1) При Re=5…30 наблюдается образование вихрей Твина. Режим ламинарный, стационарный.
2) При Re=100…200 наблюдается вихревая дорожка Кармана. Режим ламинарный, нестационарный.
3) При Re>400 наблюдается вихревая дорожка Кармана. Режим турбулентный, нестационарный.
В данной статье рассмотрим п.1, ламинарное стационарное обтекание цилиндра диаметром d15 и числах Рейнольдса Re=1;5;15;30. Определим коэффициент полного сопротивления и сравним с имеющимися опытными данными.
См. далее
Запись опубликована 30.01.2015 автором zagoskin.a в рубрике OpenFOAM.
Стационарное ламинарное течение в трубе
В данной статье рассмотрю каким образом считается простейшее течение. В качестве примера возьмем течение на начальном участке трубы. Отсутствие необходимости определять турбулентные характеристики значительно упрощает задачу, т.к. решается обычное уравнение Навье-Стокса, без турбулентной вязкости или напряжений Рейнольдса:
где V – скорость потока, p – давление, F – массовые силы, t – время, – плотность, – молекулярная вязкость.
В статье сделаем следующее:
1) Сопоставим численное и аналитическое решение увеличения скорости на оси трубы;
2) Сопоставим параболический профиль с профилем скорости после смыкания пограничных слоев;
3) Сравним скорость расчета при использовании различных методов решения матриц.
См. далее
Запись опубликована 29.01.2015 автором zagoskin.a в рубрике OpenFOAM.
Моделирование теплопроводности. Пример 3
Как я говорил ранее, граничные условия первого рода (фиксированная температура стенки) встречается на практике реже, чем условия третьего рода (через коэффициент теплоотдачи). В данной статье я покажу как использовать ГУ второго и третьего рода в openFoam при моделировании теплопроводности при использовании встроенных средств и сторонней библиотеки groovyBC.
Когда я впервые установил openFoam (была версия 1.8), встроенных средств для задания коэффициента теплоотдачи на поверхности не было, это можно было сделать только с помощью сторонней библиотеки groovyBC. Сейчас появилась возможность включать целые куски кода практически в любые места (ГУ, controlDict, blockMeshDict и пр.), что интересно с точки зрения освоения платформы, но на практике зачастую это удобней сделать все также через функции swak4foam. Встроенных граничных условий для задания коэффициента теплоотдачи все также нет.
Сначала я покажу на основе примера №1 возможности встраивания кода в 0/T. См. приложенный файл codedMixedLaplacianFoam.tar.gz. Найдем установившееся распределение температуры в бесконечной пластине (толщина 0,5 м, температуропроводность 1,33e-6 м.кв/с, теплопроводность 0,2 Вт/м*С) при задании граничных условий 3-го рода на одной стенке (температура охлаждающей среды -20 С, коэффициент теплоотдачи 10 Вт/(м.кв*С), и ГУ 2-го рода на другой (тепловой поток 200 Вт). Все значения специально подобраны, чтобы на одной стенке была температура 0 С, на второй 500 С.
См. далее
Запись опубликована 21.01.2015 автором zagoskin.a в рубрике OpenFOAM.
Свежие записи
- Теплообмен излучением. Численный метод расчета угловых коэффициентов.
- Моделирование аэродинамики циклонных устройств. Часть 2.
- Моделирование аэродинамики циклонного устройства. Часть 1.
- Обтекание цилиндра. Конвективный теплообмен.
- Турбулентное течение в трубе. Конвективный теплообмен.
Источник: azagoskin.ru