OpenLB

Бесплатно
Открытый исходный код
Windows
macOS
Linux

Сайт: www.openlb.net

OpenLB — это открытая библиотека на языке C++ для численного моделирования течений методом решётчатого Больцмана (lattice Boltzmann method, LBM). Проект ориентирован на исследовательские и инженерные задачи в вычислительной гидродинамике: предоставляет набор классов и инструментов для реализации моделей течений, обмена граничными условиями, работы с различными сетками и представления физических величин. Архитектура библиотеки спроектирована с учётом модульности и расширяемости, что облегчает добавление новых схем столкновений, методов фильтрации и моделирования сопряжённых процессов.

История OpenLB связана с развитием LBM как метода численного моделирования в конце XX — начале XXI века; исходный код создавался и поддерживался научными группами и отдельными разработчиками, заинтересованными в свободном доступе к инструментам для исследований. Библиотека поддерживает современный C++ и ориентирована на применение в задачах с большими вычислительными объёмами, включая параллельное выполнение на многопроцессорных системах. В документации и примерах демонстрируются типичные сценарии применения: ламинарные и турбулентные течения, теплообмен, мультифазные и многокомпонентные системы, а также задачi в сложных геометриях.

  • Реализация LBM: поддержка стандартных схем столкновений (например, BGK, MRT) и наборов скоростей для двумерных и трёхмерных расчётов.
  • Граничные условия: реализованные методы для стационарной и подвижной стенки, входов/выходов потока, периодических и симметричных границ.
  • Работа со сложной геометрией: инструменты для задания твёрдых тел, пористых сред и построения расчётной сетки по числовым и геометрическим описаниям.
  • Параллельность: поддержка многопроцессорного расчёта через распределение домена и механизмы обмена данными между поддоменами.
  • Расширяемая архитектура: модульность кода для добавления новых моделей столкновений, источников, моделей турбулентности и сопряжённых уравнений.
  • Инструменты верификации и тестирования: набор тестовых задач и сравнений с аналитическими решениями или эталонными результатами для проверки корректности реализации.
  • Ввод/вывод и визуализация: поддержка форматов данных для постобработки и экспорта результатов расчётов в сторонние средства визуализации.
  • Примеры и документация: коллекция примерных реализаций типовых задач и техническая документация по API и использованию библиотечных компонентов.
  • Применение в исследованиях: использование для разработки и тестирования новых численных методов, моделирования сложных течений, теплообмена и мультифизических задач.
  • Ограничения и уточнения: если официальная информация ограничена, библиотека типично требует навыков программирования на C++ и понимания методов вычислительной гидродинамики для эффективного использования и расширения.
Подробнее