• A
  • A
  • A
  • АБВ
  • АБВ
  • АБВ
  • А
  • А
  • А
  • А
  • А
Обычная версия сайта

OpenFOAM

👉Вернуться к списку инструкций

OpenFOAM — это открытый программный пакет для вычислительной гидродинамики (CFD), разработанный исследовательским сообществом в области инженерного моделирования и физики течений. Он позволяет проводить численное моделирование течений жидкостей и газов, процессов теплообмена, химических реакций и других сложных многокомпонентных задач. OpenFOAM объединяет современные численные методы решения дифференциальных уравнений с гибкой архитектурой кода, что обеспечивает высокую точность моделирования и возможность масштабируемых вычислений на суперкомпьютерах.
Официальный сайт: https://openfoam.org

Доступные версии на суперкомпьютере НИУ ВШЭ

module load OpenFOAM  # Версия 12

Обновление версий производится по запросу пользователей.
Тестовые исходные данные расположены на суперкомпьютере в каталоге /opt/software_easybuild/software/OpenFOAM/12-foss-2023a/OpenFOAM-12/tutorials

Пользователи: Лаборатория вычислительной физики, любые подразделения НИУ ВШЭ.

Ключевые особенности

  • поддержка широкого набора физических моделей, включая ламинарные и турбулентные течения, многокомпонентные смеси, химические реакции, теплоперенос, сжимаемые и несжимаемые среды, а также многофазные течения;

  • интерфейсы с решателями структурных и тепловых задач, что позволяет проводить сопряжённые мультифизические расчёты;

  • высокая гибкость благодаря объектно-ориентированной архитектуре на языке C++, что облегчает расширение и кастомизацию моделей под прикладные задачи;

  • интеграция с параллельными вычислительными технологиями, включая поддержку OpenMPI, для масштабируемого моделирования на высокопроизводительных кластерах;

  • развитая система модульных утилит и пред- и постпроцессоров (например, blockMesh, snappyHexMesh, paraFoam), что упрощает подготовку расчётной сетки и анализ результатов моделирования.

Рис. 1. Распределение скоростей обтекания автомобиля с визуализацией линий тока, рассчитанное в OpenFOAM

Выполнение расчетов на суперкомпьютере

На суперкомпьютере установелен только solver (решатель). Пре- и пост-процессор устанвливаются пользователем самостоятельно на свой ПК. Для выполнения расчёта необходимо передать на суперкомпьютер подготовленный в препроцессоре файл задачи и запустить batch-скрипт, подготовленный по образцу ниже (см. общую инструкцию по запуску задач на суперкомпьютере). После завершения вычислительной задачи результаты обработки появятся в той же директории в виде файлов. Их нужно будет обратно перенести на свой ПК и на нем проводить необходимую визуализацию в постпроцессоре. Файлы с суперкомпьютера нужно удалить сразу после выгрузки их на свой ПК.

Пример запуска на 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 - номер задачи в очереди).

Дополнительная информация


 

Нашли опечатку?
Выделите её, нажмите Ctrl+Enter и отправьте нам уведомление. Спасибо за участие!
Сервис предназначен только для отправки сообщений об орфографических и пунктуационных ошибках.