OpenFOAM
👉Вернуться к списку инструкций
OpenFOAM — это открытый программный пакет для вычислительной гидродинамики (CFD), разработанный исследовательским сообществом в области инженерного моделирования и физики течений. Он позволяет проводить численное моделирование течений жидкостей и газов, процессов теплообмена, химических реакций и других сложных многокомпонентных задач. OpenFOAM объединяет современные численные методы решения дифференциальных уравнений с гибкой архитектурой кода, что обеспечивает высокую точность моделирования и возможность масштабируемых вычислений на суперкомпьютерах.
Официальный сайт: https://www.openfoam.com
Доступные версии на суперкомпьютере НИУ ВШЭ
module load OpenFOAM
Обновление версий производится по запросу пользователей.
Тестовые исходные данные расположены на суперкомпьютере в каталоге
Пользователи: Лаборатория вычислительной физики, любые подразделения НИУ ВШЭ.
Ключевые особенности
-
поддержка широкого набора физических моделей, включая ламинарные и турбулентные течения, многокомпонентные смеси, химические реакции, теплоперенос, сжимаемые и несжимаемые среды, а также многофазные течения;
-
интерфейсы с решателями структурных и тепловых задач, что позволяет проводить сопряжённые мультифизические расчёты;
-
высокая гибкость благодаря объектно-ориентированной архитектуре на языке C++, что облегчает расширение и кастомизацию моделей под прикладные задачи;
-
интеграция с параллельными вычислительными технологиями, включая поддержку OpenMPI, для масштабируемого моделирования на высокопроизводительных кластерах;
-
развитая система модульных утилит и пред- и постпроцессоров (например, blockMesh, snappyHexMesh, paraFoam), что упрощает подготовку расчётной сетки и анализ результатов моделирования.
Рис. 1. Распределение скоростей обтекания автомобиля с визуализацией линий тока, рассчитанное в OpenFOAM
Выполнение расчетов на суперкомпьютере
Для выполнения расчёта на суперкомпьютере необходимо подготовить скрипт-файл для очереди задач с запросом требуемых ресурсов (см. общую инструкцию по запуску задач на суперкомпьютере).
Пример запуска на CPU
Для тестирования были использованы входные данные из туториала incompressibleFluid/motorBike. Для постановки задачи в очередь сформируем скрипт openfoam.sbatch со следующим текстом:
#!/bin/bash
#SBATCH --job-name=openfoam
#SBATCH --time=01-00
#SBATCH --ntasks 8
#SBATCH --nodes 1
module purge
module use /opt/software_easybuild/modules/all/
module load OpenFOAM
mkdir openfoam_example && cd openfoam_example
cp -r /opt/software_easybuild/software/OpenFOAM/12-foss-2023a/OpenFOAM-12/tutorials/incompressibleFluid/motorBike/ . && cd motorBike
./Allclean
./Allrun
Для постановки задачи в очередь необходимо выполнить команду openfoam.sbatch.
Посмотреть состояние своих задач можно с помощью команды mj.
Результат выполнения скрипта будет сохранён в файл openfoam-00000.log (где 00000 - номер задачи в очереди). Сообщения, выводимые в процессе работы OpenFOAM, будут записаны в файл openfoam-00000.err (где 00000 - номер задачи в очереди).
Дополнительная информация
- Официальный сайт OpenFOAM
- Документация OpenFOAM
- Туториалы по OpenFOAM
- Новости о последних версиях OpenFOAM
- Инструкция по работе с системой мониторинга эффективности HPC TaskMaster
Нашли опечатку?
Выделите её, нажмите Ctrl+Enter и отправьте нам уведомление. Спасибо за участие!
Сервис предназначен только для отправки сообщений об орфографических и пунктуационных ошибках.