Код SU2

Код SU2
Первоначальный выпускЯнварь 2012 ; 12 лет назад ( 2012-01 )
Стабильный релиз
8.1.0 [1] / 28 сентября 2024 г. ; 29 дней назад ( 28 сентября 2024 )
Репозиторий
  • github.com/su2code/SU2
Написано вC++ , Питон
Операционная системаUnix / Linux / OS X / Windows
ТипВычислительная гидродинамика , программное обеспечение для моделирования
ЛицензияСтандартная общественная лицензия ограниченного применения GNU , версия 2.1
Веб-сайтsu2code.github.io

SU2 — это набор программных инструментов с открытым исходным кодом , написанных на C++ для численного решения уравнений в частных производных (PDE) и выполнения оптимизации с ограничениями PDE . Основные приложения — вычислительная гидродинамика и аэродинамическая оптимизация формы [2] , но были расширены для обработки более общих уравнений, таких как электродинамика и химически реагирующие потоки. SU2 поддерживает непрерывные и дискретные сопряженные для вычисления чувствительности/градиентов скалярного поля.

Разработчики

SU2 разрабатывается отдельными лицами и организованными командами по всему миру. Ведущие разработчики SU2: д-р Франциско Паласиос и д-р Томас Д. Экономон.

Наиболее активные группы, развивающие SU2:

Возможности

В комплект решений SU2 tools suite входят [3]

  • Высокоточный анализ и сопряженное проектирование с использованием технологии неструктурированных сеток.
  • Сжимаемые и несжимаемые решатели Эйлера , Навье-Стокса и RANS .
  • Дополнительные решатели уравнений в частных производных для электродинамики, линейной упругости, уравнения теплопроводности, волнового уравнения и термохимической неравновесности.
  • Ускорение конвергенции (многосетевой подход, предварительная подготовка и т. д.).
  • Информация о чувствительности с использованием метода непрерывного сопряжения [4] .
  • Адаптивное, целенаправленное уточнение и деформация сетки.
  • Модульный [5] объектно-ориентированный дизайн на языке C++ .
  • Распараллеливание с помощью MPI .
  • Скрипты Python для автоматизации.
  • FEATool Multiphysics имеет встроенные интерфейсы GUI и CLI для SU2.

История релизов

ВетвьВерсияДата выпуска [6]Улучшения
1.0Старая версия, больше не поддерживается:1.028 июня 2013 г.
Старая версия, больше не поддерживается:1.128 июня 2013 г.
2.0Старая версия, больше не поддерживается:2.028 июня 2013 г.
Старая версия, больше не поддерживается:2.0.128 июня 2013 г.
Старая версия, больше не поддерживается:2.0.228 июня 2013 г.
Старая версия, больше не поддерживается:2.0.328 июня 2013 г.
Старая версия, больше не поддерживается:2.0.428 июня 2013 г.
Старая версия, больше не поддерживается:2.0.528 июня 2013 г.
Старая версия, больше не поддерживается:2.0.612 августа 2013 г.
Старая версия, больше не поддерживается:2.0.711 сентября 2013 г.
Старая версия, больше не поддерживается:2.0.830 сентября 2013 г.
Старая версия, больше не поддерживается:2.0.1011 сентября 2013 г.
3.0 "орел"Старая версия, больше не поддерживается:3.0.015 января 2014 г.
  • Основной релиз вместе с SU2_EDU
3.1 "орел"Старая версия, больше не поддерживается:3.1.014 августа 2014 г.
3.2 "орел"Старая версия, больше не поддерживается:3.2.014 августа 2014 г.
  • Переименованы модули C++ для ясности:
  • * SU2_DDC ---> SU2_PRT
  • * SU2_MDC ---> SU2_DEF
  • * SU2_MAC ---> SU2_MSH
  • * SU2_GDC ---> SU2_GEO
  • * SU2_GPC ---> SU2_DOT
  • Более строгая проверка и улучшенные сообщения об ошибках для надежного анализа параметров конфигурации.
  • Унифицированный набор тестовых случаев SU2 (сетки и файлы конфигурации) теперь доступен на GitHub (https://github.com/su2code/TestCases).
  • Значительные обновления реализации MPI, повышающие производительность и соответствующие стандарту MPI 3.0.
  • Модификации, которые значительно повышают вычислительную эффективность и масштабируемость памяти при разбиении сетки на разделы для параллельных вычислений.
  • Новый режим постоянной подъемной силы. Укажите целевой коэффициент подъемной силы вместо фиксированного угла атаки.
  • Обновления для считывателя сеток CGNS для дальнейшей поддержки сеток со смешанными элементами.
  • Общие исправления ошибок и техническое обслуживание.
Старая версия, больше не поддерживается:3.2.18 сентября 2014 г.
  • Дополнительные проверочные тестовые случаи для проектирования формы с использованием возможности сжимаемого сопряжения (в сотрудничестве с Lockheed Martin).
  • Предварительная структура для моделирования реальных газов (совместно с TuDelft и Миланским техническим университетом).
  • Новые переменные конструкции FFD (совместно с Volkswagen).
  • Новые предварительные обусловливатели и сглаживатели для неявной временной интеграции (в сотрудничестве с Intel).
  • Упрощенные параметры конфигурации (в сотрудничестве с большим сообществом пользователей SU2. Спасибо!).
  • Общие исправления ошибок и техническое обслуживание.
Старая версия, больше не поддерживается:3.2.228 сентября 2014 г.
  • Версия SU2 3.2.2 включает в себя общие исправления ошибок и техническое обслуживание.
  • Совместный семинар Pointwise и SU2 (29–30 сентября 2014 г.) основан на этом релизе.
Старая версия, больше не поддерживается:3.2.322 октября 2014 г.
  • Улучшенный алгоритм многосеточной агломерации.
  • Традиционные единицы измерения США (США).
  • Улучшенный ввод/вывод.
  • Новые сглаживатели и предварительные обработчики для неявной формулировки.
  • Упрощенные параметры конфигурации.
  • Общие исправления ошибок и техническое обслуживание.
Старая версия, больше не поддерживается:3.2.49 ноября 2014 г.
Старая версия, больше не поддерживается:3.2.54 декабря 2014 г.
Старая версия, больше не поддерживается:3.2.727 декабря 2014 г.
  • Новая реализация MPI (только один файл сетки .su2 на ранг).
  • Улучшенная многосеточная система (включая Full MG).
  • Оптимизация кода с помощью инструмента анализа (Xcode).
  • Упрощенные параметры конфигурации.
  • Общие исправления ошибок и техническое обслуживание.
Старая версия, больше не поддерживается:3.2.83 февраля 2015 г.
Старая версия, больше не поддерживается:3.2.94 марта 2015 г.
4.0 "Кардинал"Старая версия, больше не поддерживается:4.0.023 июня 2015 г.

Новые возможности:

  • Неидеальные течения сжимаемой жидкости (NICFD): уравнения состояния Ван-дер-Ваальса и Пенга-Робинсона.
  • Полностью параллельная предварительная обработка с помощью ParMETIS.
  • Модель турбулентности SA-neg.
  • Адаптивные КЛЛ.
  • Легко создавайте блоки FFD с новыми опциями.
  • Файл принудительной разбивки и выходные данные FieldView.
  • Масштабируйте, вращайте, перемещайте сетки в SU2_DEF.
  • Итеративные сглаживатели: Jacobi, LU-SGS, ILU(0).
  • Обновлены параметры безразмерности для удобства использования.
  • Исправлены общие ошибки.

Улучшения производительности:

  • Улучшения MPI и общей производительности.
  • Повышенная устойчивость деформации сетки для всех неструктурированных элементов сетки.
  • Улучшения параллельного разбиения CGNS.
  • Автоматизированный выбор параметров многосетки.
  • Повышенная надежность методов против ветра.
  • Режим вывода с малым объемом памяти.

Дополнительные обновления:

  • Обновленная документация на вики GitHub, включая руководства для пользователей и новую информацию для разработчиков.
  • Новая система регрессионного тестирования, интегрированная с Travis CI.
Старая версия, больше не поддерживается:4.0.11 сентября 2015 г.
  • Улучшена производительность масштабирования, вращения и перемещения сеток с использованием SU2_DEF.
  • Параметр файла конфигурации MATH_PROBLEM теперь требует CONTINUOUS_ADJOINT вместо ADJOINT.
  • Новая абстракция типа данных для будущей гибкости: все текущие и будущие типы double в коде должны быть новым типом su2double.
  • Новая абстракция оболочки MPI для будущей гибкости.
  • Реструктуризация набора тестовых случаев: файлы конфигурации для репозитория TestCases теперь находятся в зеркальной структуре каталогов в репозитории SU2, чтобы сделать автоматическое тестирование с Travis CI более эффективным. Для использования загрузите оба репозитория и рекурсивно скопируйте содержимое одного каталога TestCases/ в другой, чтобы завершить набор.
  • Очистка процесса сборки из исходного кода, включая размещение файлов и настройки сборки по умолчанию.
  • Новые параметры флага компиляции для включения внешних библиотек HDF5, SZIP и ZLIB, что позволяет использовать файлы CGNS на основе HDF5 с SU2.
  • Общие исправления ошибок и обслуживание кода.
Старая версия, больше не поддерживается:4.0.23 ноября 2015 г.
4.1 «Кардинал»Старая версия, больше не поддерживается:4.1.022 апреля 2016 г.
  • Алгоритмическое дифференцирование для точных производных вычислений по всему коду.
  • Дискретно-сопряженная реализация для уравнений Эйлера, Навье-Стокса и RANS.
  • Новые сопряженные граничные условия выхода для обработки функционалов ниже по потоку.
  • Высокоуровневые драйверные классы для простой формулировки мультифизических задач.
  • Обобщенное граничное условие течения Римана, включающее эффекты реального газа.
  • Новая библиотека классов конечных элементов для будущей гибкости.
  • Изменения в исходном коде для упрощения компиляции в Windows.
  • Общие исправления ошибок и улучшения производительности.
Старая версия, больше не поддерживается:4.1.15 апреля 2016 г.
Старая версия, больше не поддерживается:4.1.222 апреля 2016 г.
Старая версия, больше не поддерживается:4.1.324 мая 2016 г.
4.2 «Кардинал»Старая версия, больше не поддерживается:4.2.015 июня 2016 г.
  • Собственный решатель взаимодействия жидкости и конструкции (FSI).
  • Нестационарное дискретное сопряжение для уравнений Эйлера, Навье-Стокса и RANS.
  • Повышенная надежность процедур деформации псевдоструктурной сетки.
  • Улучшения памяти и эффективности, связанные с параллельными чтениями файлов, разбиением сетки и управлением данными классов.
  • Расширен охват набора регрессионного анализа за счет дополнительных модулей и новых тестовых случаев.
  • Улучшен вывод решения для визуализации RANS.
  • Общие исправления ошибок и улучшения производительности.
4.3 «Кардинал»Старая версия, больше не поддерживается:4.3.022 августа 2016 г.
  • Перепроектирование классов драйверов высокого уровня для ясности кода и будущей гибкости.
  • Реализация альтернативного цифрового дерева (ADT) для эффективного геометрического поиска.
  • Улучшения устойчивости при реализации периодических граничных условий.
  • Улучшено управление памятью и устранение утечек во всей кодовой базе.
  • CGNS v3.3.0 теперь распространяется и автоматически интегрируется со сборкой autotools.
  • Дополнительные исправления ошибок, улучшения стабильности и общее обслуживание кода.
5.0 "Ворон"Старая версия, больше не поддерживается:5.0.020 января 2017 г.
  • Новая оболочка Python для SU2 в памяти с использованием SWIG и сопутствующего высокоуровневого API.
  • Улучшения классов для мультифизических приложений, включая интерполяцию и перенос.
  • Расширения свободной деформации (FFD), включая кривые Безье и улучшенное удобство использования.
  • Реорганизация решателя несжимаемых объектов для будущего расширения.
  • Возможность анализа расхода с помощью гармонического баланса.
  • Реализация алгебраической модели перехода.
  • Больше и лучше граничных условий (улучшение точности и сходимости).
  • Расширения скриптов для автоматического создания баз данных (compute_polar.py).
  • Критические улучшения ввода-вывода, включая улучшенную обратную связь с пользователем.
  • Дополнительные исправления ошибок, улучшения стабильности и общее обслуживание кода.
6.0 "Сокол"Старая версия, больше не поддерживается:6.0.014 февраля 2018 г.
7.0 "Черный дрозд"Текущая стабильная версия: 7.0.029 ноября 2019 г.фактический 7.1.1 (2021-03-02)
7.1 «Черный дрозд»Старая версия, больше не поддерживается:7.1.021 января 2021 г.

SU2 v7.1.0 нацелен на консолидацию новых функций, добавленных в версиях 7.0.X. К ним относятся новые решатели, улучшения производительности, новые форматы вывода, больше возможностей мультифизики, настройки/исправления/обновления моделей и схем, используемых реже, и попытка реструктурировать код, чтобы сделать его более доступным для новых разработчиков. Некоторые опции, которые стали избыточными в v7.0.0, были удалены, что может привести к ошибкам для старых файлов конфигурации, сообщения об ошибках должны указать решение этих проблем.

🚀 Особенности

  • NEMO – Ссылка с mutation++ @CatarinaGarbacz (#1160); Добавление исходных терминов для осесимметричных потоков @jtneedels (#1162); Переход к примитивному ограничителю @WallyMaier (#1139)
  • Уменьшить использование дискретной сопряженной памяти примерно на 25% @pcarruscag (#1159)
  • Поддержка UQ и NICF с векторизованными (SIMD) центрированными схемами @pcarruscag (#1149)
  • Обновление Term2 модели перехода BC @sametcaka (#1132)
  • Добавлено предотвращение пересечений в элементах сетки после деформации @tollennaert (#1076)
  • Вязкие исходные члены для осесимметричных задач и обобщенные конвективные исходные члены и якобиан @FlorianDm (#1106)

💊 Исправления ошибок

  • Исправление целевых функций (для shape_optimization.py) @pcarruscag (#1167)
  • NEMO – Реструктуризация остаточного вычисления источника для исправления осесимметричного вычисления химии/вибрации источника @jtneedels (#1170)
  • Исправление MSW @pcarruscag (#1166), обновление адаптивного CFL @bmunguia (#1036), исправление компиляции с помощью gcc 4.8 @pcarruscag (#1157)
  • Устаревание опций, которые не работали с версии 7.0.0, и другие мелкие исправления @TobiKattmann (#1129)

🔧 Техническое обслуживание

  • Bsend -> Isend для методов ActDisk и Nearfield @pcarruscag (#1163)
  • Обновление вычислений площади с помощью набора геометрических инструментов @WallyMaier (#1137)
  • Удаление вкладок во всех файлах @WallyMaier (#1135)
  • Реструктурировать оболочку MPI, переместить больше файлов в каталоги @pcarruscag (#1133)
  • Удалить сопоставление глобальных<->локальных идентификаторов маркеров @maxaehle (#1169)
  • Исправлен проект Xcode и пути @EduardoMolina (#1145)
  • NEMO – Дальнейшая очистка и улучшения @WallyMaier (#1117)
  • Добавлен CSquareMatrixCM в набор инструментов @vdweide (#1068)
7.2 «Черный дрозд»Текущая стабильная версия: 7.2.017 августа 2021 г.Версия SU2 7.2.0 представляет новые захватывающие функции и улучшения (она отличается от 7.1.1 почти на 1000 изменений!). Мы сделали паузу в ежемесячном цикле поддержки-выпуска, чтобы максимально интегрировать эти функции. К ним относятся:
  • Нестационарные дискретные сопряженные функции для многозонных задач (например, FSI и CHT).
  • Гибридное распараллеливание (MPI + OpenMP) дискретно-сопряженных решателей.
  • Новые граничные условия и важные поправки к функциям стенки RANS и моделям перехода.
  • Улучшения удобства использования, такие как ускорение предварительной обработки NEMO для крупных задач, перезапуск с результатов на несовпадающих сетках, предложения по неверным параметрам конфигурации и т. д.
  • Многочисленные исправления, основанные на отзывах сообщества SU2.

Как и в случае с 7.1.0, мы использовали эту версию для отмены некоторых дополнительных опций, оставшихся от 7.0.0, и для пересмотра других в рамках подготовки к появлению новых функций.

🚀 Особенности

  • NEMO – Улучшения на этапе предварительной обработки и включение Чепмана-Энскога для Mutation++ @fmpmorgado (#1343)
  • Гибридный параллельный AD (часть 3/?) @jblueh (#1294)
  • Граничное условие теплопередачи @oleburghardt (#1226)
  • Функция libROM для моделирования пониженного порядка @jtlau (#1310)
  • Исправлены функции стены SA и SST @bigfooted (#1204)
  • CFVMOutput и периодические потоковые и размаховые @TobiKattmann (#1290)
  • Гибридный параллельный AD (часть 2/?) @pcarruscag (#1284)
  • Дискретное сопряжение для динамического FSI с использованием многозонного драйвера @cvencro (#1260)
  • Интерполировать перезапустить файл, если он не соответствует сетке @pcarruscag (#1277)
  • «Вы имели в виду...?» (сделать ошибки конфигурации более полезными) @pcarruscag (#1269)
  • Многосеточный вывод @pcarruscag (#1266)
  • Исправлено рассеивание в модели перехода и обновлен профиль впуска (исходный профиль из конфигурации) @bigfooted (#1268)
  • Гибридный параллельный AD (часть 1/?) @jblueh (#1214)
  • Изменения в линейном решателе для поддержки гибридного параллельного AD @pcarruscag (#1228)
  • Фиксированные значения для величин турбулентности в полуплоскости восходящего потока @maxaehle (#1236)
  • Передача скорости на границе раздела жидкость-конструкция @cvencro (#1174)

💊 Исправления ошибок

  • Исправлен поиск соседей в CInterpolator::ReconstructBoundary @maxaehle (#1346)
  • Исправлен расчет эквивалентной площади @snow54 (#1329)
  • Исправлена ​​скользящая сетка для SA @maxaehle (#1344)
  • Исправлены выходные данные «для каждой поверхности» @pcarruscag (#1341)
  • SU2-NEMO – Оптимизация времени инициализации @fmpmorgado (#1340)
  • Исправление для осесимметричных терминов в NEMO + общие обновления NEMO @WallyMaier (#1326)
  • Исправлена ​​ссылка для загрузки двоичных файлов @Nat-1 (#1320)
  • Исправлена ​​обратная конструкция функции Cp @pcarruscag (#1311)
  • Исправлен фиксированный режим CL, когда боковое скольжение не равно 0 @pcarruscag (#1302)
  • Исправлена ​​логика перезапуска в Python FSI @Nicola-Fonzi (#1295)
  • Исправлены двойные перезапуски времени с помощью UNST_CFL_NUMBER != 0 @pcarruscag (#1272)
  • Исправлена ​​перезапись файла для временной сходимости и временного шага 2-го порядка @ScSteffen (#1237)
  • Исправлена ​​загрузка файла профиля впуска без перезапуска нестабильных проблем @pcarruscag (#1264)
  • Исправления в истории вывода для усредненных по времени и многозонных проблем @cvencro (#1259)
  • Исправление утечек памяти в CHeatSolver @maxaehle (#1256)
  • Исправлены некоторые проблемы с градиентом реконструкции на периодических границах (когда NUM_METHOD_GRAD != NUM_METHOD_GRAD_RECON)) @pcarruscag (#1249)
  • Небольшие сопутствующие исправления @pcarruscag (#1224)

🔧 Техническое обслуживание

  • Удалить мертвый код для границ «ближнего поля» и «интерфейса» @pcarruscag (#1351)
  • Обновление некоторых дат @WallyMaier (#1339)
  • Еще одно обвинение против указателя на указатель @pcarruscag (#1312)
  • Класс для кубических сплайнов @pcarruscag (#1303)
  • CFVMOutput и периодические потоковые и размаховые @TobiKattmann (#1290)
  • Добавить нестационарный cht-присоединённый тестовый случай @TobiKattmann (#1288)
  • Новая структура данных для многомерных данных (+некоторые исправления ошибок) @maxaehle (#1286)
  • Работа в CHeatSolver.cpp @TobiKattmann (#1281)
  • Работа в дискретных сопряженных битах @TobiKattmann (#1257)
  • Исправление номеров версий @WallyMaier (#1271)
  • Часть 2: Создание перечисления -> класс перечисления @TobiKattmann (#1258)
  • Сделайте «enum» : «enum class», таким образом удалив номера перечислений @TobiKattmann (#1242)
  • Удалить проект Visual Studio @pcarruscag (#1247)
  • Некоторые исправления/очистка CONV_CRITERIA, которые не имеют никакого эффекта и будут объявлены устаревшими в версии 7.2.0 @TobiKattmann (#1238)
  • Очистка дублирования COption @pcarruscag (#1232)
  • Очистите больше указателей @pcarruscag (#1225)
  • Удален CSolver::Convective_Residual @maxaehle (#1222)
Легенда:
Старая версия, не поддерживается
Старая версия, все еще поддерживается
Последняя версия
Последняя предварительная версия
Будущий релиз

Лицензия

SU2 — это бесплатное программное обеспечение с открытым исходным кодом, выпущенное в соответствии с лицензией GNU General Public License версии 3 (SU2 v1.0 и v2.0) и GNU Lesser General Public License версии 2.1 (SU2 v2.0.7 и более поздние версии). [7]

Альтернативное ПО

Бесплатное программное обеспечение с открытым исходным кодом

Собственное программное обеспечение

Ссылки

  1. ^ "Release 8.1.0". 28 сентября 2024 г. Получено 27 октября 2024 г.
  2. ^ F. Palacios, MR Colonno, AC Aranake, A. Campos, SR Copeland, TD Economon, AK Lonkar, TW Lukaczyk, TWR Taylor и JJ Alonso, «Stanford University Unstructured (SU2): интегрированная вычислительная среда с открытым исходным кодом для многофизического моделирования и проектирования», доклад AIAA 2013-0287, 51-я конференция и выставка AIAA Aerospace Sciences. 7–10 января 2013 г. Грейпвайн, Техас, США.
  3. ^ SU2 о странице
  4. ^ А. Буэно-Оровио, К. Кастро, Ф. Паласиос и Э. Зуазуа «Непрерывный сопряженный подход для модели Спаларта-Аллмараса в аэродинамической оптимизации», Журнал AIAA, том 50, № 3, март 2012 г.
  5. ^ Список инструментов SU2
  6. ^ "SU2-Suit releases". Github.com . Получено 25 мая 2016 .
  7. ^ Страница лицензирования SU2
  8. ^ Домашняя страница библиотеки расширенного моделирования
  9. ^ Домашняя страница Clawpack
  10. ^ Сайт FreeFem++
  11. ^ Домашняя страница OpenFVM
  12. ^ Домашняя страница Palabos
  13. ^ Домашняя страница Azore Software, LLC
  14. ^ Домашняя страница FEATool Multiphysics
  15. ^ Сайт компании SimScale, Open Source
  16. ^ Домашняя страница Software Cradle Co., Ltd.
  17. ^ Страница SC/Tetra
  18. ^ Страница scSTREAM Архивировано 6 марта 2015 г. на Wayback Machine
  19. ^ Страница конструктора тепла

Официальные ресурсы

  • Домашняя страница SU2
  • Репозиторий Github SU2

Ресурсы сообщества

  • Форум SU2 на CFD Online
  • Вики-страница SU2 на сайте CFD Online

Другие ресурсы

  • Анонс версии SU2 2.0
  • Обзор SU2 от соучредителя Tecplot
  • Статья в Stanford News о первоначальном выпуске SU2
  • Интерфейс графического интерфейса пользователя FEATool Multiphysics и решателя CFD для SU2
Получено с "https://en.wikipedia.org/w/index.php?title=SU2_code&oldid=1221821421"