Cod SU2 - SU2 code

Cod SU2
Universitatea Stanford Unstructured Logo.png
Eliberarea inițială Ianuarie 2012 ; Acum 9 ani ( 01.01.2012 )
Versiune stabila
7.1.1 / 2 martie 2021 ; acum 3 luni ( 2 martie 2021 )
Repertoriu Editați acest lucru la Wikidata
Scris in C ++ , Python
Sistem de operare Unix / Linux / OS X / Windows
Tip Dinamica computațională a fluidelor , software de simulare
Licență GNU Lesser General Public License , versiunea 2.1
Site-ul web su2code .github .io

SU2 este o suită de instrumente software open-source scrise în C ++ pentru soluția numerică a ecuațiilor diferențiale parțiale (PDE) și care realizează optimizarea constrânsă de PDE . Aplicațiile principale sunt dinamica calculată a fluidelor și optimizarea formei aerodinamice , dar a fost extinsă pentru a trata ecuații mai generale, cum ar fi electrodinamica și fluxurile care reacționează chimic. SU2 acceptă un adjunct continuu și discret pentru calcularea sensibilităților / gradienților unui câmp scalar.

Dezvoltatori

SU2 este dezvoltat de indivizi și echipe organizate din întreaga lume. Dezvoltatorii principali SU2 sunt: ​​Dr. Francisco Palacios și Dr. Thomas D. Economon.

Cele mai active grupuri care dezvoltă SU2 sunt:

Capacități

Suita de soluții SU2 de instrumente include

  • Analiză de înaltă fidelitate și proiectare bazată pe conexiuni folosind tehnologia de plasă nestructurată.
  • Solutori Euler , Navier-Stokes și RANS comprimabili și incompresibili .
  • Solutori PDE suplimentari pentru electrodinamică, elasticitate liniară, ecuație de căldură, ecuație de undă și neechilibru termochimic.
  • Accelerația convergenței (multi-grilă, precondiționare etc.).
  • Informații de sensibilitate prin abordarea metodologiei adjuvante continue.
  • Adaptare, rafinare și deformare a ochiurilor de plasă.
  • Proiectare orientată obiect C ++ modularizată .
  • Paralelizarea cu MPI .
  • Scripturi Python pentru automatizare.
  • FEATool Multiphysics are interfețe GUI și CLI încorporate pentru SU2 .


Istoricul lansărilor

Ramură Versiune Data de lansare Îmbunătățiri
1.0 Versiune veche, care nu mai este menținută: 1.0 28 iunie 2013
Versiune veche, care nu mai este menținută: 1.1 28 iunie 2013
2.0 Versiune veche, care nu mai este menținută: 2.0 28 iunie 2013
Versiune veche, care nu mai este menținută: 2.0.1 28 iunie 2013
Versiune veche, care nu mai este menținută: 2.0.2 28 iunie 2013
Versiune veche, care nu mai este menținută: 2.0.3 28 iunie 2013
Versiune veche, care nu mai este menținută: 2.0.4 28 iunie 2013
Versiune veche, care nu mai este menținută: 2.0.5 28 iunie 2013
Versiune veche, care nu mai este menținută: 2.0.6 12 august 2013
Versiune veche, care nu mai este menținută: 2.0.7 11 septembrie 2013
Versiune veche, care nu mai este menținută: 2.0.8 30 septembrie 2013
Versiune veche, care nu mai este menținută: 2.0.10 11 septembrie 2013
3.0 "vultur" Versiune veche, care nu mai este menținută: 3.0.0 15 ianuarie 2014
  • Lansare majoră, împreună cu SU2_EDU
3.1 „vultur” Versiune veche, care nu mai este menținută: 3.1.0 14 august 2014
3.2 „vultur” Versiune veche, care nu mai este menținută: 3.2.0 14 august 2014
  • Module C ++ redenumite pentru claritate:
  • * SU2_DDC ---> SU2_PRT
  • * SU2_MDC ---> SU2_DEF
  • * SU2_MAC ---> SU2_MSH
  • * SU2_GDC ---> SU2_GEO
  • * SU2_GPC ---> SU2_DOT
  • Verificare mai strictă și mesaje de eroare îmbunătățite pentru o analiză robustă a opțiunilor de configurare.
  • Un set unic de cazuri de testare SU2 (ochiuri și fișiere de configurare) sunt acum disponibile pe GitHub ( https://github.com/su2code/TestCases ).
  • Actualizări majore ale implementării MPI care îmbunătățesc performanța și se aliniază la standardul MPI 3.0.
  • Modificări care sporesc foarte mult eficiența de calcul și scalabilitatea memoriei pentru partiționarea mesh pentru calcule paralele.
  • Mod nou de ridicare constantă. Specificați un coeficient de ridicare a țintei, mai degrabă decât un unghi fix de atac.
  • Actualizări la cititorul de rețea CGNS pentru suport suplimentar al rețelelor cu elemente mixte.
  • Remediere generală a erorilor și întreținere.
Versiune veche, care nu mai este menținută: 3.2.1 8 septembrie 2014
  • Cazuri de testare suplimentare de verificare pentru proiectarea formei utilizând capacitatea de compresie adiacentă (în colaborare cu Lockheed Martin).
  • Structură preliminară pentru simularea gazelor reale (în colaborare cu TuDelft și Politecnico di Milano).
  • Noi variabile de proiectare FFD (în colaborare cu Volkswagen).
  • Noi condiții prealabile și îmbunătățiri pentru integrarea implicită a timpului (în colaborare cu Intel).
  • Opțiuni de configurare simplificate (în colaborare cu comunitatea mare de utilizatori SU2. Mulțumesc!).
  • Remediere generală a erorilor și întreținere.
Versiune veche, care nu mai este menținută: 3.2.2 28 septembrie 2014
  • SU2 versiunea 3.2.2 include remedieri generale de erori și întreținere.
  • Atelierul comun Pointwise și SU2 (29-30 septembrie 2014) se bazează pe această versiune.
Versiune veche, care nu mai este menținută: 3.2.3 22 octombrie 2014
  • Algoritm de aglomerare multigrid îmbunătățit.
  • Unitățile obișnuite din Statele Unite (SUA).
  • I / O îmbunătățită.
  • Noi sisteme de netezire și precondiționare pentru formularea implicită.
  • Opțiuni de configurare simplificate.
  • Remediere generală a erorilor și întreținere.
Versiune veche, care nu mai este menținută: 3.2.4 9 noiembrie 2014
Versiune veche, care nu mai este menținută: 3.2.5 4 decembrie 2014
Versiune veche, care nu mai este menținută: 3.2.7 27 decembrie 2014
  • Implementare MPI nouă (un singur fișier mesh .su2 pe rang).
  • Multigrid îmbunătățit (inclusiv MG complet).
  • Optimizarea codului folosind instrumentul de analiză (Xcode).
  • Opțiuni de configurare simplificate.
  • Remediere generală a erorilor și întreținere.
Versiune veche, care nu mai este menținută: 3.2.8 3 februarie 2015
Versiune veche, care nu mai este menținută: 3.2.9 4 martie 2015
4.0 „Cardinal” Versiune veche, care nu mai este menținută: 4.0.0 23 iunie 2015

Functii noi:

  • Fluxuri de fluid comprimabil neideal (NICFD): ecuații de stare Van der Waals și Peng-Robinson.
  • Preprocesare complet paralelă cu ParMETIS.
  • Modelul turbulenței SA-neg.
  • CFL adaptiv.
  • Generați cu ușurință casete FFD cu noi opțiuni.
  • Fișier de defalcare forțată și ieșire FieldView.
  • Scalați, rotiți, traduceți ochiuri în SU2_DEF.
  • Îmbunătățiri iterative: Jacobi, LU-SGS, ILU (0).
  • Opțiuni actualizate de nedimensionalizare pentru ușurință în utilizare.
  • Remediere generală a erorilor.

Imbunatatiri ale performantei:

  • MPI și îmbunătățiri generale ale performanței.
  • Stabilitate sporită la deformarea ochiurilor de plasă pentru toate elementele de plasă nestructurate.
  • Îmbunătățiri ale partiționării paralele CGNS.
  • Selectarea automată a parametrilor multigrid.
  • Robustețe sporită pentru metodele în direcția vântului.
  • Mod de ieșire cu stocare redusă.

Actualizări suplimentare:

  • Documentație actualizată pe wiki-ul GitHub, inclusiv tutoriale pentru utilizatori și informații despre dezvoltatori noi.
  • Noul sistem de testare de regresie integrat cu Travis CI.
Versiune veche, care nu mai este menținută: 4.0.1 1 septembrie 2015
  • Performanță îmbunătățită pentru scalarea, rotirea, traducerea ochiurilor folosind SU2_DEF.
  • Opțiunea de fișier de configurare MATH_PROBLEM necesită acum CONTINUOUS_ADJOINT în loc de ADJOINT.
  • Noua abstracție de tip de date pentru flexibilitate viitoare: toate tipurile duble actuale și viitoare din cod ar trebui să fie noul tip su2double.
  • Noua abstracție învelitoare MPI pentru flexibilitate viitoare.
  • Restructurarea pachetului de cazuri de testare: fișierele de configurare pentru depozitul TestCases trăiesc acum într-o structură de directoare oglindită sub depozitul SU2 pentru a face testarea automată cu Travis CI mai eficientă. Pentru utilizare, descărcați ambele depozite și copiați recursiv conținutul unui director TestCases / în celălalt pentru a completa setul.
  • Curățați procesul de construire din sursă, inclusiv plasarea fișierelor și setările implicite de construire.
  • Opțiuni noi de compilare pentru includerea bibliotecilor externe HDF5, SZIP și ZLIB, care permit utilizarea fișierelor CGNS bazate pe HDF5 cu SU2.
  • Remediere generală a erorilor și întreținerea codului.
Versiune veche, care nu mai este menținută: 4.0.2 3 noiembrie 2015
4.1 „Cardinal” Versiune veche, care nu mai este menținută: 4.1.0 22 aprilie 2016
  • Diferențierea algoritmică pentru calcule derivate exacte în tot codul.
  • Implementare adjuentă discretă pentru ecuațiile Euler, Navier-Stokes și RANS.
  • Noi condiții limită de ieșire adiacente pentru tratarea funcționalităților din aval.
  • Clase de conducători de nivel înalt pentru formularea cu ușurință a problemelor multi-fizice.
  • Starea generalizată a limitelor debitului Riemann, inclusiv efectele reale ale gazelor.
  • Nouă bibliotecă de clase cu elemente finite pentru flexibilitate viitoare.
  • Modificări ale codului sursă pentru o compilare mai ușoară pe Windows.
  • Corecții generale de erori și îmbunătățiri ale performanței.
Versiune veche, care nu mai este menținută: 4.1.1 5 aprilie 2016
Versiune veche, care nu mai este menținută: 4.1.2 22 aprilie 2016
Versiune veche, care nu mai este menținută: 4.1.3 24 mai 2016
4.2 „Cardinal” Versiune veche, care nu mai este menținută: 4.2.0 15 iunie 2016
  • Solutiv pentru interacțiunea fluidă-structură nativă (FSI).
  • Adjunct discret instabil pentru ecuațiile Euler, Navier-Stokes și RANS.
  • Robustețe sporită a rutinelor de deformare a plaselor pseudo-structurale.
  • Îmbunătățiri ale memoriei și eficienței legate de cititoarele de fișiere paralele, partiționarea mesh și gestionarea datelor de clasă
  • Extinderea acoperirii suitei de regresie la module suplimentare și noi cazuri de testare.
  • Soluție îmbunătățită pentru vizualizarea RANS.
  • Corecții generale de erori și îmbunătățiri ale performanței.
4.3 „Cardinal” Versiune veche, care nu mai este menținută: 4.3.0 22 august 2016
  • Reproiectarea claselor Driver la nivel înalt pentru claritatea codului și flexibilitatea viitoare.
  • Implementare alternativă a arborelui digital (ADT) pentru căutări geometrice eficiente.
  • Îmbunătățiri ale stabilității pentru implementarea condiției periodice la graniță.
  • Gestionare îmbunătățită a memoriei și eliminarea scurgerilor pe întreaga bază de cod.
  • CGNS v3.3.0 este acum distribuit și integrat automat cu versiunea AutoTools.
  • Remedii suplimentare de erori, îmbunătățiri ale stabilității și întreținerea generală a codului.
5.0 „Corb” Versiune veche, care nu mai este menținută: 5.0.0 20 ianuarie 2017
  • Nou înfășurare Py2 în memorie a SU2 utilizând SWIG cu API de nivel înalt însoțitor.
  • Îmbunătățiri de clasă pentru aplicații multifizice, inclusiv interpolare și transfer.
  • Extensii de deformare în formă liberă (FFD), inclusiv curbe bezier și utilizare îmbunătățită.
  • Reorganizarea soluției incompresibile pentru extinderea viitoare.
  • Capacitate de analiză a debitului echilibrului armonic.
  • Implementarea modelului de tranziție algebrică.
  • Mai multe și mai bune condiții limită (îmbunătățiri ale preciziei și convergenței).
  • Extensii la scripting pentru crearea automată a bazelor de date (compute_polar.py).
  • Îmbunătățiri critice în I / O, inclusiv mai mult feedback către utilizator.
  • Remedii suplimentare de erori, îmbunătățiri ale stabilității și întreținerea generală a codului.
6.0 „Șoim” Versiune veche, care nu mai este menținută: 6.0.0 14 februarie 2018
7.0 „Merla” Versiune stabilă curentă: 7.0.0 29 noiembrie 2019 7.1.1 actual (2021-03-02)
Legendă:
Versiune veche
Versiune mai veche, încă menținută
Ultima versiune
Ultima versiune de previzualizare
Lansare viitoare

Licență

SU2 este software gratuit și open source, lansat sub licența GNU General Public License versiunea 3 (SU2 v1.0 și v2.0) și GNU Lesser General Public License versiunea 2.1 (SU2 v2.0.7 și versiunile ulterioare).

Software alternativ

Software gratuit și open-source

Software proprietar

Referințe

linkuri externe

Resurse oficiale

Resurse comunitare

Alte resurse