SU2-Code - SU2 code

SU2-Code
Stanford University Unstrukturiertes Logo.png
Erstveröffentlichung Januar 2012 ; Vor 9 Jahren ( 2012-01 )
Stabile Version
7.1.1 / 2. März 2021 ; vor 3 Monaten ( 2 März 2021 )
Repository Bearbeite dies bei Wikidata
Geschrieben in C++ , Python
Betriebssystem Unix / Linux / OS X / Windows
Art Computational Fluid Dynamics , Simulationssoftware
Lizenz GNU Lesser General Public License , Version 2.1
Webseite su2code .github .io

SU2 ist eine Suite von in C++ geschriebenen Open-Source- Softwaretools für die numerische Lösung partieller Differentialgleichungen (PDE) und die Durchführung einer PDE-beschränkten Optimierung . Die Hauptanwendungen sind die numerische Strömungsmechanik und die aerodynamische Formoptimierung , wurden jedoch erweitert, um allgemeinere Gleichungen wie Elektrodynamik und chemisch reagierende Strömungen zu behandeln. SU2 unterstützt kontinuierliches und diskretes Adjungieren zur Berechnung der Empfindlichkeiten/Gradienten eines Skalarfeldes.

Entwickler

SU2 wird von Einzelpersonen und organisierten Teams auf der ganzen Welt entwickelt. Die leitenden Entwickler von SU2 sind: Dr. Francisco Palacios und Dr. Thomas D. Economon.

Die aktivsten Gruppen, die SU2 entwickeln, sind:

Fähigkeiten

Die Lösungssuite der SU2-Tools-Suite umfasst

  • High-Fidelity-Analyse und Adjoint-basiertes Design mit unstrukturierter Netztechnologie.
  • Kompressible und inkompressible Euler- , Navier-Stokes- und RANS- Solver.
  • Zusätzliche PDE-Löser für Elektrodynamik, lineare Elastizität, Wärmegleichung, Wellengleichung und thermochemisches Nichtgleichgewicht.
  • Konvergenzbeschleunigung (Multi-Grid, Vorkonditionierung usw.).
  • Sensitivitätsinformationen über den kontinuierlichen adjungierten Methodenansatz.
  • Adaptive, zielorientierte Netzverfeinerung und -verformung.
  • Modularisiertes objektorientiertes C++ -Design.
  • Parallelisierung mit MPI .
  • Python- Skripte für die Automatisierung.
  • FEATool Multiphysics bietet integrierte GUI- und CLI-Schnittstellen für SU2 .


Veröffentlichungsverlauf

Ast Ausführung Veröffentlichungsdatum Verbesserungen
1.0 Alte Version, nicht mehr gepflegt: 1.0 28. Juni 2013
Alte Version, nicht mehr gepflegt: 1.1 28. Juni 2013
2.0 Alte Version, nicht mehr gepflegt: 2.0 28. Juni 2013
Alte Version, nicht mehr gepflegt: 2.0.1 28. Juni 2013
Alte Version, nicht mehr gepflegt: 2.0.2 28. Juni 2013
Alte Version, nicht mehr gepflegt: 2.0.3 28. Juni 2013
Alte Version, nicht mehr gepflegt: 2.0.4 28. Juni 2013
Alte Version, nicht mehr gepflegt: 2.0.5 28. Juni 2013
Alte Version, nicht mehr gepflegt: 2.0.6 12. August 2013
Alte Version, nicht mehr gepflegt: 2.0.7 11. September 2013
Alte Version, nicht mehr gepflegt: 2.0.8 30. September 2013
Alte Version, nicht mehr gepflegt: 2.0.10 11. September 2013
3.0 "Adler" Alte Version, nicht mehr gepflegt: 3.0.0 15. Januar 2014
  • Hauptversion, zusammen mit SU2_EDU
3.1 "Adler" Alte Version, nicht mehr gepflegt: 3.1.0 14. August 2014
3.2 "Adler" Alte Version, nicht mehr gepflegt: 3.2.0 14. August 2014
  • C++-Module aus Gründen der Übersichtlichkeit umbenannt:
  • * SU2_DDC ---> SU2_PRT
  • * SU2_MDC ---> SU2_DEF
  • * SU2_MAC ---> SU2_MSH
  • * SU2_GDC ---> SU2_GEO
  • * SU2_GPC ---> SU2_DOT
  • Strengere Überprüfung und verbesserte Fehlermeldungen für ein robustes Parsen von Konfigurationsoptionen.
  • Ein einheitlicher Satz von SU2-Testfällen (Meshes und Konfigurationsdateien) ist jetzt auf GitHub verfügbar ( https://github.com/su2code/TestCases ).
  • Wichtige Aktualisierungen der MPI-Implementierung, die die Leistung verbessern und dem MPI 3.0-Standard entsprechen.
  • Modifikationen, die die Recheneffizienz und Speicherskalierbarkeit der Netzpartitionierung für parallele Berechnungen erheblich verbessern.
  • Neuer konstanter Hubmodus. Geben Sie einen Zielauftriebskoeffizienten anstelle eines festen Anstellwinkels an.
  • Upgrades auf den CGNS-Mesh-Reader zur weiteren Unterstützung von Mixed-Element-Meshes.
  • Allgemeine Fehlerbehebungen und Wartung.
Alte Version, nicht mehr gepflegt: 3.2.1 8. September 2014
  • Zusätzliche Verifikationstestfälle für das Formdesign unter Verwendung der kompressiblen Adjoint-Funktion (in Zusammenarbeit mit Lockheed Martin).
  • Vorstruktur zur Simulation realer Gase (in Zusammenarbeit mit TuDelft und Politecnico di Milano).
  • Neue FFD-Designvariablen (in Zusammenarbeit mit Volkswagen).
  • Neue Preconditioner und Smoother für implizite Zeitintegration (in Zusammenarbeit mit Intel).
  • Vereinfachte Konfigurationsoptionen (in Zusammenarbeit mit der großen SU2-Benutzergemeinschaft. Danke!).
  • Allgemeine Fehlerbehebungen und Wartung.
Alte Version, nicht mehr gepflegt: 3.2.2 28. September 2014
  • SU2 Version 3.2.2 enthält allgemeine Fehlerbehebungen und Wartung.
  • Der gemeinsame Workshop von Pointwise und SU2 (29.-30. September 2014) basiert auf dieser Veröffentlichung.
Alte Version, nicht mehr gepflegt: 3.2.3 22. Oktober 2014
  • Verbesserter Multigrid-Agglomerationsalgorithmus.
  • Gewohnte US-Einheiten (US).
  • Verbesserte E/A.
  • Neue Glättmittel und Vorkonditionierer für die implizite Formulierung.
  • Vereinfachte Konfigurationsoptionen.
  • Allgemeine Fehlerbehebungen und Wartung.
Alte Version, nicht mehr gepflegt: 3.2.4 9. November 2014
Alte Version, nicht mehr gepflegt: 3.2.5 4. Dezember 2014
Alte Version, nicht mehr gepflegt: 3.2.7 27. Dezember 2014
  • Neue MPI-Implementierung (nur eine .su2-Mesh-Datei pro Rang).
  • Verbessertes Multigrid (einschließlich Full MG).
  • Codeoptimierung mit dem Analysetool (Xcode).
  • Vereinfachte Konfigurationsoptionen.
  • Allgemeine Fehlerbehebungen und Wartung.
Alte Version, nicht mehr gepflegt: 3.2.8 3. Februar 2015
Alte Version, nicht mehr gepflegt: 3.2.9 4. März 2015
4.0 "Kardinal" Alte Version, nicht mehr gepflegt: 4.0.0 23. Juni 2015

Neue Eigenschaften:

  • Nicht-ideale kompressible Fluidströmungen (NICFD): Van-der-Waals- und Peng-Robinson-Zustandsgleichungen.
  • Vollparallele Vorverarbeitung mit ParMETIS.
  • SA-neg-Turbulenzmodell.
  • Adaptive Kompaktleuchtstofflampe.
  • Generieren Sie ganz einfach FFD-Boxen mit neuen Optionen.
  • Aufschlüsselungsdatei und FieldView-Ausgabe erzwingen.
  • Skalieren, drehen, verschieben Sie Netze in SU2_DEF.
  • Iterative Glättung: Jacobi, LU-SGS, ILU(0).
  • Aktualisierte Nicht-Dimensionalisierungsoptionen für eine einfachere Verwendung.
  • Allgemeine Fehlerbehebungen.

Leistungsverbesserungen:

  • MPI und allgemeine Leistungsverbesserungen.
  • Erhöhte Netzdeformationsstabilität für alle unstrukturierten Netzelemente.
  • Verbesserungen bei der CGNS-Parallelpartitionierung.
  • Automatisierte Multigrid-Parameterauswahl.
  • Erhöhte Robustheit für Upwind-Methoden.
  • Low-Storage-Ausgabemodus.

Zusätzliche Aktualisierungen:

  • Aktualisierte Dokumentation im GitHub-Wiki, einschließlich Benutzer-Tutorials und neuer Entwicklerinformationen.
  • Neues Regressionstestsystem integriert in Travis CI.
Alte Version, nicht mehr gepflegt: 4.0.1 1. September 2015
  • Verbesserte Leistung beim Skalieren, Rotieren und Verschieben von Netzen mit SU2_DEF.
  • Die Konfigurationsdateioption MATH_PROBLEM erfordert jetzt CONTINUOUS_ADJOINT anstelle von ADJOINT.
  • Neue Datentyp-Abstraktion für zukünftige Flexibilität: Alle aktuellen und zukünftigen Double-Typen im Code sollten der neue Typ su2double sein.
  • Neue MPI-Wrapper-Abstraktion für zukünftige Flexibilität.
  • Neustrukturierung der Testfall-Suite: Die Konfigurationsdateien für das TestCases-Repository leben jetzt in einer gespiegelten Verzeichnisstruktur unter dem SU2-Repository, um das automatische Testen mit Travis CI effektiver zu gestalten. Laden Sie zur Verwendung beide Repositorys herunter und kopieren Sie den Inhalt eines TestCases/-Verzeichnisses rekursiv in das andere, um das Set zu vervollständigen.
  • Bereinigung des Build-from-Source-Prozesses, einschließlich Dateiplatzierung und Standard-Build-Einstellungen.
  • Neue Kompilier-Flag-Optionen zum Einschließen der externen HDF5-, SZIP- und ZLIB-Bibliotheken, die die HDF5-basierte CGNS-Dateinutzung mit SU2 ermöglichen.
  • Allgemeine Fehlerbehebungen und Codepflege.
Alte Version, nicht mehr gepflegt: 4.0.2 3. November 2015
4.1 "Kardinal" Alte Version, nicht mehr gepflegt: 4.1.0 22. April 2016
  • Algorithmische Differenzierung für genaue Ableitungsberechnungen im gesamten Code.
  • Diskrete adjungierte Implementierung für die Euler-, Navier-Stokes- und RANS-Gleichungen.
  • Neue adjungierte Auslass-Randbedingungen für die Behandlung nachgeschalteter Funktionale.
  • High-Level-Treiberklassen zur einfachen Formulierung von Multi-Physik-Problemen.
  • Verallgemeinerte Riemannsche Strömungsrandbedingung, einschließlich Realgaseffekten.
  • Neue Finite-Elemente-Klassenbibliothek für zukünftige Flexibilität.
  • Änderungen am Quellcode zur einfacheren Kompilierung unter Windows.
  • Allgemeine Fehlerbehebungen und Leistungsverbesserungen.
Alte Version, nicht mehr gepflegt: 4.1.1 5. April 2016
Alte Version, nicht mehr gepflegt: 4.1.2 22. April 2016
Alte Version, nicht mehr gepflegt: 4.1.3 24. Mai 2016
4.2 „Kardinal“ Alte Version, nicht mehr gepflegt: 4.2.0 15. Juni 2016
  • Nativer Solver für Fluid-Struktur-Interaktion (FSI).
  • Instationäre diskrete Adjungierte für die Euler-, Navier-Stokes- und RANS-Gleichungen.
  • Erhöhte Robustheit der pseudostrukturellen Netzdeformationsroutinen.
  • Speicher- und Effizienzverbesserungen in Bezug auf parallele Dateileser, Mesh-Partitionierung und Klassendatenverwaltung.
  • Erweiterte Abdeckung der Regressionssuite um zusätzliche Module und neue Testfälle.
  • Verbesserte Lösungsausgabe für die RANS-Visualisierung.
  • Allgemeine Fehlerbehebungen und Leistungsverbesserungen.
4.3 "Kardinal" Alte Version, nicht mehr gepflegt: 4.3.0 22. August 2016
  • Redesign der High-Level-Treiberklassen für Codeklarheit und zukünftige Flexibilität.
  • Implementierung eines alternierenden digitalen Baums (ADT) für effiziente geometrische Suchen.
  • Stabilitätsverbesserungen für die periodische Randbedingungsimplementierung.
  • Verbesserte Speicherverwaltung und Leckbeseitigung in der gesamten Codebasis.
  • CGNS v3.3.0 jetzt verteilt und automatisch in den Autotools-Build integriert.
  • Zusätzliche Fehlerbehebungen, Stabilitätsverbesserungen und allgemeine Codepflege.
5.0 "Rabe" Alte Version, nicht mehr gepflegt: 5.0.0 20. Januar 2017
  • Neues In-Memory-Python-Wrapping von SU2 mit SWIG mit begleitender High-Level-API.
  • Klassenerweiterungen für Multiphysik-Anwendungen, einschließlich Interpolation und Übertragung.
  • Freiformdeformationserweiterungen (FFD), einschließlich Bezierkurven und verbesserter Benutzerfreundlichkeit.
  • Reorganisation des inkompressiblen Solvers für zukünftige Erweiterungen.
  • Funktion zur Analyse des harmonischen Gleichgewichts.
  • Implementierung des algebraischen Übergangsmodells.
  • Mehr und bessere Randbedingungen (Genauigkeits- und Konvergenzverbesserungen).
  • Erweiterungen der Skripterstellung für die automatisierte Datenbankerstellung (compute_polar.py).
  • Kritische Verbesserungen bei I/O, einschließlich mehr Feedback an den Benutzer.
  • Zusätzliche Fehlerbehebungen, Stabilitätsverbesserungen und allgemeine Codepflege.
6.0 "Falke" Alte Version, nicht mehr gepflegt: 6.0.0 14. Februar 2018
7.0 "Amsel" Aktuelle stabile Version: 7.0.0 29. November 2019 aktuell 7.1.1 (2021-03-02)
Legende:
Alte Version
Ältere Version, noch gepflegt
Letzte Version
Neueste Vorschauversion
Zukünftige Veröffentlichung

Lizenz

SU2 ist freie Open-Source-Software, die unter der GNU General Public License Version 3 (SU2 v1.0 und v2.0) und der GNU Lesser General Public License Version 2.1 (SU2 v2.0.7 und spätere Versionen) veröffentlicht wurde.

Alternative Software

Kostenlose und Open-Source-Software

Proprietäre Software

Verweise

Externe Links

Offizielle Ressourcen

Gemeinschaftsressourcen

Andere Ressourcen