26 июля вышла новая значительная версия пакета OpenFOAM, развиваемого и поддерживаемого под эгидой некоммерческой организации The OpenFOAM Foundation. В соответствии с текущей стратегией выпуска новых версий, данный выпуск является срезом ветки для разработчиков OpenFOAM-dev.
Проект представляет собой платформу для численного решения уравнений в частных производных методом конечного объёма, которая распространяется под лицензией GPLv3 и включает в себя как набор библиотек, позволяющих написать собственные программы для решения уравнений в частных производных (на языке C++), так и множество готовых решателей и утилит, предназначенных в основном для численного моделирования различных задач механики сплошных сред.
Основные изменения:
- Реализован новый алгоритм трассировки лагранжевых частиц, основанный на использовании локальных барицентрических координат, что существенно улучшает точность построения траектории частицы и предотвращает возникновение ошибок, связанных с «потерей» частиц на «плохих» расчётных сетках. Стоит отметить, что данная работа была проведена благодаря добровольным пожертвованиям, собранным The OpenFOAM Foundation в 2017 году.
- Добавлена возможность генерации модельных волн на поверхности жидкости (как граничное условие на входе в расчётную область). Моделирование волн необходимо, в частности, для различных задач судостроения.
- Реализована новая технология декомпозиции для параллельных расчётов, благодаря которой данные параллельного расчёта от разных процессов записываются в один файл. В предыдущих версиях OpenFOAM для каждого процесса с номером N создавался свой каталог с именем «processorN», куда и производилась запись от процесса N; в результате при большом числе процессов могли возникнуть проблемы записи, связанные в т. ч. со слишком большим количеством открытых файлов. Данный метод работы в параллельном режиме (называемый collated) не включён по умолчанию. Отметим, что имеется возможность работы ввода-вывода в многопоточном режиме (multithreading).
- Добавлена возможность автодополнения по TAB опций решателей и утилит.
- Увеличена надёжность работы многофазных решателей в задачах с входными/выходными границами.
- Добавлены новые модели для вязких сред и новая модель горения.
- Улучшены сеточные генераторы
snappyHexMesh
иblockMesh
.
>>> Подробности