Найти тему

CfdOF: верстак для вычислительной гидродинамики (CFD) для FreeCAD

Оглавление

Здравствуйте мои дорогие подписчики и просто читатели. Предлагаю вам ознакомиться с документацией очень специального верстака CfdOF или как его часто называют просто Open Foam.

Приглашаю всех подписаться на мой блог на Спонсор. https://sponsr.ru/freecad/ Не буду скрывать, что подписка платная, но это всего лишь одна сигаретная пачка в месяц. Зато можно спокойно и без рекламы скачать видео и статьи. Учебные материалы.

Далее вся статья это машинный перевод документации верстака CfdOF

с официальной страницы на Гитхаб.

Это рабочее место призвано помочь пользователям настраивать и запускать CFD-анализ в программном обеспечении FreeCAD и служит интерфейсным интерфейсом (GUI) для популярного OpenFOAM® CFD toolkit (www.openfoam.org, www.openfoam.com). Она помогает пользователю выбрать соответствующую физику, указать свойства материала, сгенерировать сетку, назначить граничные условия и выбрать настройки решателя перед запуском моделирования. Указаны рекомендации по максимальной стабильности решателей.

Скачать документацию и видео с переводом можно совершенно бесплатно с моего блога на Спонсор.

-2

А демо видео можно посмотреть тут.

Характеристики

Актуальные:

Физика течения

  • Несжимаемый ламинарный поток (simpleFoam, pimpleFoam)
  • Поддержка различных моделей турбулентного течения RANS, LES и DES
  • Несжимаемый поток со свободной поверхностью (межпенный, многофазный межпенный)
  • Сжимаемый плавучий поток (buoyantSimpleFoam, buoyantPimpleFoam)
  • Высокоскоростной сжимаемый поток (HiSA)
  • Пористые области и пористые перегородки
  • База базовых материалов
  • Инициализация потока с помощью потенциального решателя
  • Решение произвольных пассивных скалярных транспортных функций

Создание сетки

  • Декартово построение сетки с вырезанными ячейками с пограничными слоями (cfMesh)
  • Декартова сетка с вырезанными ячейками и перегородками (snappyHexMesh)
  • Создание тетраэдрической сетки с использованием Gmsh, включая преобразование в многогранную двойную сетку
  • Проверка сетки после создания сетки
  • Поддержка динамической адаптации сетки для поддерживаемых решателей

Постобработка и мониторинг

  • Постобработка с использованием Paraview
  • Базовая поддержка функциональных объектов, основанных на силе (Силы, коэффициенты силы)
  • Базовая поддержка зондов

Другие функции

  • Работает в Windows 7-11 и Linux
  • Модульное / регрессионное тестирование
  • Конструктор кейсов с использованием расширяемой структуры шаблонов
  • Сценарии макросов
  • Поддержка распределенных параллельных (кластерных) запусков через mpiexec и —hostfile

Приступая к работе

Предварительные требования

Верстак CfdOF зависит от следующего внешнего программного обеспечения, некоторые из которых могут быть установлены автоматически (инструкции см. Ниже).

Настройка рабочей среды CfdOF

Windows

Последнюю версию или разработку сборки FreeCAD можно получить (64-разрядная версия) и установить, соответственно запустив программу установки или распаковав архив .7z в каталог <FreeCAD-directory>. В последнем случае FreeCAD можно запустить на месте (<FreeCAD-каталог>\bin\FreeCAD.exe).

Сам CfdOF устанавливается в FreeCAD с помощью менеджера дополнений:

  • Запустите FreeCAD
  • Выберите инструменты | Addon manager ...
  • Выберите CfdOF в списке рабочих столов и нажмите "Установить / обновить"
  • Перезапустить FreeCAD
  • Подробнее об установке зависимостей смотрите ниже

Примечание: Верстак CfdOF workbench может быть обновлен в любое время через менеджер дополнений.

Установка зависимостей

Зависимости можно удобно проверить и установить с панели настроек CfdOF в FreeCAD. В окне FreeCAD выберите Редактировать | Настройки ... и выберите "CfdOF". Зависимости могут быть установлены как отдельные компоненты или как часть контейнера docker (см. раздел "Установка контейнера Docker" ниже).

Установка OpenFOAM осуществляется через OpenCFD пакет MinGW, также поддерживается порт OpenFOAM на BlueCFD Core.

OpenFOAM можно установить вручную, воспользовавшись приведенными выше ссылками или нажав соответствующую кнопку на панели настроек, описанной выше. Если у вас возникли проблемы с запуском OpenFOAM в CfdOF, пожалуйста, убедитесь, что у вас рабочая установка, следуя инструкциям на соответствующих веб-сайтах.

Для корректного взаимодействия с установкой OpenFOAM CfdOF должен иметь возможность записи в папку установки. У некоторых пользователей возникают проблемы с использованием папки внутри C:\Program Файлов из-за ограничений, налагаемых системой контроля учетных записей пользователей Windows. Поэтому рекомендуется установить в альтернативное место, предпочтительно в ваш домашний каталог.

Если OpenFOAM установлен с правами администратора с использованием вышеуказанных пакетов, то при необходимости также будет установлен Microsoft MPI. Если нет, то необходимо будет загрузить и установить ее вручную с здесь. MPI необходим для параллельной работы.

Установите в качестве установочного каталога OpenFOAM на панели настроек каталог установки, заканчивающийся вложенной папкой 'vXXXX' (где XXXX - номер установленной версии) для пакета MinGW, или установочный каталог BlueCFD. Он будет автоматически обнаружен в местах установки по умолчанию.

Можно установить любую версию ParaView, перейдя по ссылке выше или нажав соответствующую кнопку на панели настроек. Установите путь установки ParaView на панели настроек равным 'paraview.exe' файлу во вложенной папке 'bin' установки ParaView. Если оставить его пустым, будут обнаружены общие значения по умолчанию.

Аналогично, cfMesh и HiSA можно установить с панели настроек. Не закрывайте ее, пока не будет получено сообщение "Установка завершена". Обратите внимание, что установка OpenFOAM должна быть доступна для записи, чтобы cfMesh и HiSA были успешно установлены.

Выбрав опцию "Проверить зависимости", вы убедитесь, что все необходимые компоненты были успешно установлены.

Linux

Изображения приложений последнего выпуска или разрабатываемых версий FreeCAD можно загрузить и запустить напрямую, без установки. Обратите внимание, что для его запуска вам придется включить разрешение на выполнение для загруженного файла. В противном случае FreeCAD можно собрать из исходного кода по адресу https://github.com/FreeCAD/FreeCAD .

Примечание:

  • При установке FreeCAD через менеджеры пакетов Linux используется ваша локальная установка Python. Поэтому вам может потребоваться установить дополнительные пакеты Python для получения полной функциональности. Средство проверки зависимостей (см. Ниже) может помочь диагностировать это.
  • Обратите внимание, что контейнер 'Snap', устанавливаемый через менеджеры пакетов некоторых дистрибутивов, может быть проблематичным, поскольку он не разрешает доступ к системным каталогам, и поэтому OpenFOAM должен быть установлен в домашнем каталоге пользователя, чтобы его можно было запускать из FreeCAD.

По вышеуказанным причинам мы рекомендуем AppImage как наиболее надежный вариант установки в Linux.

Сам CfdOF устанавливается в FreeCAD с помощью менеджера дополнений:

  • Запустите FreeCAD
  • Выберите инструменты | Addon manager ...
  • Выберите CfdOF в списке рабочих столов и нажмите "Установить / обновить"
  • Перезапустить FreeCAD
  • Подробнее об установке зависимостей смотрите ниже

Примечание: Верстак CfdOF workbench может быть обновлен в любое время через менеджер дополнений.

Установка зависимостей

Зависимости можно проверить, а некоторые из них удобно установить с панели настроек CFD в FreeCAD. В окне FreeCAD выберите Редактировать | Настройки ... и выберите "CfdOF".

Зависимости могут быть установлены вручную или как часть контейнера docker (см. раздел Установка контейнера Docker ниже). Для OpenFOAM (версии OpenCFD или Foundation), Paraview и Gmsh (необязательно) может быть выполнена ручная установка по ссылкам выше или в менеджере пакетов вашего дистрибутива. Однако обратите внимание, что пакеты OpenFOAM, входящие в состав некоторых дистрибутивов Linux, могут быть устаревшими или неполными; например, стандартные пакеты Debian и Ubuntu не включают команду сборки 'wmake' и, следовательно, не могут использоваться с дополнительными компонентами 'HiSA' и 'cfMesh'. Поэтому мы рекомендуем устанавливать пакеты, поставляемые через официальные веб-сайты, указанные выше. Пожалуйста, убедитесь, что вы установили пакет "development", где он доступен (обычно именуется с суффиксом "-devel" или "-dev"), чтобы быть уверенным, что дополнительные компоненты "HiSA" и "cfMesh" могут быть скомпилированы с помощью "wmake".

Установите каталог установки OpenFOAM на панели настроек - примерами типичных мест установки являются /usr/lib/openfoam/openfoam2306, /opt/openfoam10 или /home/user/OpenFOAM/OpenFOAM-10.x (он будет автоматически определен в обычных местах установки по умолчанию). Обратите внимание, что если вы загрузили желаемую среду OpenFOAM уже перед запуском FreeCAD, каталог установки следует оставить пустым.

cfMesh и HiSA могут быть установлены с помощью панели настроек, описанной выше, и могут быть загружены и созданы из их исходного кода в вашей установке OpenFOAM, если вы еще не сделали этого самостоятельно. Обратите внимание, что это длительный процесс.

Выбрав опцию "Проверить зависимости", вы убедитесь, что все необходимые компоненты были успешно установлены.

Установка контейнера Docker

Контейнеры Docker предлагают удобный способ предоставления предварительно скомпилированных программных пакетов как для Windows, так и для Linux. Также может поддерживаться macOS, но для настройки контейнера потребуется помощь. Пожалуйста, оставьте сообщение на форуме.

Docker в Windows

Предпочтительным временем выполнения docker для Windows является использование podman, поскольку в настоящее время это обеспечивает быструю интеграцию с файловой системой. Также можно использоватьDocker Desktop.

  1. Установите podman (или docker desktop).
  2. При использовании podman откройте окно cmd и выполните следующие команды:
    podman machine init
    podman machine start
    podman machine set --rootful
  3. Редактировать → Настройки → CfdOF: Нажмите кнопку Установить Paraview.
  4. Редактировать → Настройки → CfdOF: выберите Использовать docker.
  5. Нажмите кнопку Установить контейнер Docker. Устанавливать gmsh, cfmesh и HISA нет необходимости, поскольку они включены в образ docker.
  6. При использовании podman может быть включена быстрая интеграция с файловой системой WSL:
    Создайте новый подкаталог (например, cfdof) в следующем каталоге firectory, созданном podman: \\wsl$\podman-machine-default\home\user
    На странице настроек cfdof установите выходной каталог по умолчанию, как указано выше: \\wsl$\podman-machine-default\home\user\cfdof
  7. Нажмите кнопку Запустить проверку зависимостей.

Docker в Linux

  1. Установите docker, используя эти инструкции (или аналогичные).
  2. Установите paraview в соответствии с инструкциями по установке пакета для вашего дистрибутива (например, sudo apt-get install paraview в debian).
  3. Редактировать → Настройки → CfdOF: выберите Использовать docker.
  4. Нажмите кнопку Установить контейнер Docker. Устанавливать gmsh, cfmesh и HISA нет необходимости, поскольку они включены в образ docker.
  5. Нажмите кнопку Запустить проверку зависимостей.

Документация

В настоящее время нет официальной документации по CfdOF, кроме этого README. Однако демонстрационные примеры представлены в папке "Demos" в каталоге CfdOF workbench. Они призваны предоставить базовый обзор функций и лучших практик. Примеры выполняются путем загрузки и выполнения макрофайлов, заканчивающихся на '.FCMacro', в различных подкаталогах каталога 'Demos'. Если имеется несколько пронумерованных файлов, их следует запускать по порядку, чтобы шаг за шагом продемонстрировать, как настраивается кейс.

За помощью сообщества можно обратиться на специализированном форуме CfdOF по FreeCAD, а список различной документации сторонних производителей доступен в следующем сообщении на форуме.

Вопросы и ответы

Вопрос: Обязательно ли создавать водонепроницаемую геометрию?

Ответ: В этом нет необходимости, если используются генераторы декартовой сетки snappyHexMesh и cfMesh. Вы можете использовать оболочки и компаунды вместо создания твердых тел, при условии, что набор форм в соединяемом компаунде перекрывает желаемый объем. Также допускаются зазоры, меньшие расстояния между ячейками.

-3