Codice SU2 - SU2 code

Codice SU2
Stanford University Unstructured Logo.png
Versione iniziale gennaio 2012 ; 9 anni fa ( 2012-01 )
Rilascio stabile
7.1.1 / 2 marzo 2021 ; 3 mesi fa ( 2 marzo 2021 )
Repository Modificalo su Wikidata
Scritto in C++ , Python
Sistema operativo Unix / Linux / OS X / Windows /
genere Fluidodinamica computazionale , Software di simulazione
Licenza GNU Lesser General Public License , versione 2.1
Sito web su2code .github .io

SU2 è una suite di strumenti software open source scritti in C++ per la soluzione numerica di equazioni differenziali alle derivate parziali (PDE) e l'esecuzione dell'ottimizzazione vincolata da PDE . Le applicazioni principali sono la fluidodinamica computazionale e l' ottimizzazione della forma aerodinamica , ma è stata estesa per trattare equazioni più generali come l' elettrodinamica e i flussi che reagiscono chimicamente. SU2 supporta l'aggiunta continua e discreta per il calcolo delle sensibilità/gradienti di un campo scalare.

Sviluppatori

SU2 è sviluppato da individui e team organizzati in tutto il mondo. I Lead Developer SU2 sono: Dr. Francisco Palacios e Dr. Thomas D. Economon.

I gruppi più attivi che sviluppano SU2 sono:

capacità

La suite di soluzioni della suite di strumenti SU2 include

  • Analisi ad alta fedeltà e progettazione basata sull'aggiunta utilizzando la tecnologia mesh non strutturata.
  • Solutori comprimibili e incomprimibili di Euler , Navier-Stokes e RANS .
  • Risolutori PDE aggiuntivi per elettrodinamica, elasticità lineare, equazione del calore, equazione delle onde e disequilibrio termochimico.
  • Accelerazione della convergenza (multi-griglia, precondizionamento, ecc.).
  • Informazioni di sensibilità attraverso l'approccio metodologico continuo aggiunto.
  • Raffinamento e deformazione della mesh adattivi e orientati all'obiettivo.
  • Progettazione modulare orientata agli oggetti in C++ .
  • Parallelizzazione con MPI .
  • Script Python per l'automazione.
  • FEATool Multiphysics dispone di interfacce GUI e CLI integrate per SU2 .


Cronologia delle uscite

Ramo Versione Data di rilascio Miglioramenti
1.0 Vecchia versione, non più mantenuta: 1.0 28 giugno 2013
Vecchia versione, non più mantenuta: 1.1 28 giugno 2013
2.0 Vecchia versione, non più mantenuta: 2.0 28 giugno 2013
Vecchia versione, non più mantenuta: 2.0.1 28 giugno 2013
Vecchia versione, non più mantenuta: 2.0.2 28 giugno 2013
Vecchia versione, non più mantenuta: 2.0.3 28 giugno 2013
Vecchia versione, non più mantenuta: 2.0.4 28 giugno 2013
Vecchia versione, non più mantenuta: 2.0.5 28 giugno 2013
Vecchia versione, non più mantenuta: 2.0.6 12 agosto 2013
Vecchia versione, non più mantenuta: 2.0.7 11 settembre 2013
Vecchia versione, non più mantenuta: 2.0.8 30 settembre 2013
Vecchia versione, non più mantenuta: 2.0.10 11 settembre 2013
3.0 "aquila" Vecchia versione, non più mantenuta: 3.0.0 15 gennaio 2014
  • Versione principale, insieme a SU2_EDU
3.1 "aquila" Vecchia versione, non più mantenuta: 3.1.0 14 agosto 2014
3.2 "aquila" Vecchia versione, non più mantenuta: 3.2.0 14 agosto 2014
  • Moduli C++ rinominati per chiarezza:
  • * SU2_DDC ---> SU2_PRT
  • * SU2_MDC ---> SU2_DEF
  • * SU2_MAC ---> SU2_MSH
  • * SU2_GDC ---> SU2_GEO
  • * SU2_GPC ---> SU2_DOT
  • Controllo più rigoroso e messaggi di errore migliorati per un'analisi affidabile delle opzioni di configurazione.
  • Il set unificato di casi di test SU2 (mesh e file di configurazione) è ora disponibile su GitHub ( https://github.com/su2code/TestCases ).
  • Aggiornamenti importanti all'implementazione MPI che migliorano le prestazioni e si allineano allo standard MPI 3.0.
  • Modifiche che migliorano notevolmente l'efficienza computazionale e la scalabilità della memoria del partizionamento mesh per i calcoli paralleli.
  • Nuova modalità di sollevamento costante. Specificare un coefficiente di portanza del bersaglio anziché un angolo di attacco fisso.
  • Aggiornamenti al lettore di mesh CGNS per ulteriore supporto di mesh a elementi misti.
  • Correzioni di bug generali e manutenzione.
Vecchia versione, non più mantenuta: 3.2.1 8 settembre 2014
  • Ulteriori casi di test di verifica per la progettazione della forma utilizzando la capacità di compressibilità aggiuntiva (in collaborazione con Lockheed Martin).
  • Struttura preliminare per la simulazione di gas reali (in collaborazione con TuDelft e Politecnico di Milano).
  • Nuove variabili di progettazione FFD (in collaborazione con Volkswagen).
  • Nuovi precondizionatori e smoother per l'integrazione temporale implicita (in collaborazione con Intel).
  • Opzioni di configurazione semplificate (in collaborazione con la grande comunità di utenti SU2. Grazie!).
  • Correzioni di bug generali e manutenzione.
Vecchia versione, non più mantenuta: 3.2.2 28 settembre 2014
  • SU2 versione 3.2.2 include correzioni di bug generali e manutenzione.
  • Il workshop congiunto Pointwise e SU2 (29-30 settembre 2014) si basa su questa versione.
Vecchia versione, non più mantenuta: 3.2.3 22 ottobre 2014
  • Algoritmo di agglomerazione multigrid migliorato.
  • Unità consuetudinarie degli Stati Uniti (USA).
  • I/O migliorato.
  • Nuovi smoothers e precondizionatori per la formulazione implicita.
  • Opzioni di configurazione semplificate.
  • Correzioni di bug generali e manutenzione.
Vecchia versione, non più mantenuta: 3.2.4 9 novembre 2014
Vecchia versione, non più mantenuta: 3.2.5 4 dicembre 2014
Vecchia versione, non più mantenuta: 3.2.7 27 dicembre 2014
  • Nuova implementazione MPI (solo un file mesh .su2 per rango).
  • Multigrid migliorato (incluso Full MG).
  • Ottimizzazione del codice utilizzando lo strumento di analisi (Xcode).
  • Opzioni di configurazione semplificate.
  • Correzioni di bug generali e manutenzione.
Vecchia versione, non più mantenuta: 3.2.8 3 febbraio 2015
Vecchia versione, non più mantenuta: 3.2.9 4 marzo 2015
4.0 "Cardinale" Vecchia versione, non più mantenuta: 4.0.0 23 giugno 2015

Nuove caratteristiche:

  • Flussi di fluidi comprimibili non ideali (NICFD): equazioni di stato di Van der Waals e Peng-Robinson.
  • Pre-elaborazione completamente parallela con ParMETIS.
  • Modello di turbolenza SA negativo.
  • CFL adattivo.
  • Genera facilmente scatole FFD con nuove opzioni.
  • File di suddivisione forzata e output FieldView.
  • Scala, ruota, trasla le mesh in SU2_DEF.
  • Smoother iterativi: Jacobi, LU-SGS, ILU(0).
  • Opzioni di non dimensionalizzazione aggiornate per facilità d'uso.
  • Correzioni di bug generali.

Miglioramenti delle prestazioni:

  • MPI e miglioramenti generali delle prestazioni.
  • Maggiore stabilità alla deformazione della rete per tutti gli elementi della rete non strutturati.
  • Miglioramenti al partizionamento parallelo CGNS.
  • Selezione automatica dei parametri multigrid.
  • Maggiore robustezza per i metodi di bolina.
  • Modalità di uscita a bassa memoria.

Aggiornamenti aggiuntivi:

  • Documentazione aggiornata sul wiki di GitHub, inclusi tutorial per gli utenti e nuove informazioni per gli sviluppatori.
  • Nuovo sistema di test di regressione integrato con Travis CI.
Vecchia versione, non più mantenuta: 4.0.1 1 settembre 2015
  • Prestazioni migliorate per ridimensionare, ruotare e traslare le mesh utilizzando SU2_DEF.
  • L'opzione del file di configurazione MATH_PROBLEM ora richiede CONTINUOUS_ADJOINT invece di ADJOINT.
  • Nuova astrazione del tipo di dati per flessibilità futura: tutti i tipi double attuali e futuri nel codice dovrebbero essere il nuovo tipo su2double.
  • Nuova astrazione del wrapper MPI per la flessibilità futura.
  • Ristrutturazione della suite di test case: i file di configurazione per il repository TestCases ora vivono in una struttura di directory con mirroring sotto il repository SU2 per rendere più efficaci i test automatici con Travis CI. Per utilizzarli, scarica entrambi i repository e copia in modo ricorsivo il contenuto di una directory TestCases/ nell'altra per completare il set.
  • Pulizia del processo di creazione dall'origine, incluso il posizionamento dei file e le impostazioni di compilazione predefinite.
  • Nuove opzioni flag di compilazione per includere le librerie esterne HDF5, SZIP e ZLIB, che consentono l'utilizzo di file CGNS basati su HDF5 con SU2.
  • Correzioni di bug generali e manutenzione del codice.
Vecchia versione, non più mantenuta: 4.0.2 3 novembre 2015
4.1 "Cardinale" Vecchia versione, non più mantenuta: 4.1.0 22 aprile 2016
  • Differenziazione algoritmica per calcoli derivati ​​esatti in tutto il codice.
  • Implementazione discreta aggiunta per le equazioni di Eulero, Navier-Stokes e RANS.
  • Nuove condizioni al contorno di uscita aggiunta per il trattamento dei funzionali a valle.
  • Classi di driver di alto livello per formulare facilmente problemi multifisici.
  • Condizione al contorno del flusso di Riemann generalizzata, inclusi gli effetti dei gas reali.
  • Nuova libreria di classi a elementi finiti per flessibilità futura.
  • Modifiche al codice sorgente per una più facile compilazione su Windows.
  • Correzioni di bug generali e miglioramenti delle prestazioni.
Vecchia versione, non più mantenuta: 4.1.1 5 aprile 2016
Vecchia versione, non più mantenuta: 4.1.2 22 aprile 2016
Vecchia versione, non più mantenuta: 4.1.3 24 maggio 2016
4.2 "Cardinale" Vecchia versione, non più mantenuta: 4.2.0 15 giugno 2016
  • Risolutore nativo Fluid-Structure Interaction (FSI).
  • Aggiunto discreto instabile per le equazioni di Eulero, Navier-Stokes e RANS.
  • Maggiore robustezza delle routine di deformazione della mesh pseudo-strutturale.
  • Miglioramenti della memoria e dell'efficienza relativi a lettori di file paralleli, partizionamento mesh e gestione dei dati di classe.
  • Copertura estesa della suite di regressione a moduli aggiuntivi e nuovi casi di test.
  • Output della soluzione migliorato per la visualizzazione RANS.
  • Correzioni di bug generali e miglioramenti delle prestazioni.
4.3 "Cardinale" Vecchia versione, non più mantenuta: 4.3.0 22 agosto 2016
  • Riprogettazione delle classi di driver di alto livello per chiarezza del codice e flessibilità futura.
  • Implementazione dell'albero digitale alternato (ADT) per ricerche geometriche efficienti.
  • Miglioramenti della stabilità per l'implementazione periodica delle condizioni al contorno.
  • Migliorata la gestione della memoria e la rimozione delle perdite attraverso l'intero codebase.
  • CGNS v3.3.0 ora distribuito e integrato automaticamente con la build di autotools.
  • Ulteriori correzioni di bug, miglioramenti della stabilità e manutenzione generale del codice.
5,0 "Corvo" Vecchia versione, non più mantenuta: 5.0.0 20 gennaio 2017
  • Nuovo wrapping Python in memoria di SU2 utilizzando SWIG con API di alto livello associata.
  • Miglioramenti di classe per applicazioni multifisiche, inclusi interpolazione e trasferimento.
  • Estensioni di deformazione a forma libera (FFD), comprese le curve di Bezier e una migliore usabilità.
  • Riorganizzazione del solutore incomprimibile per future espansioni.
  • Capacità di analisi del flusso dell'equilibrio armonico.
  • Implementazione del modello algebrico di transizione.
  • Maggiori e migliori condizioni al contorno (miglioramenti di accuratezza e convergenza).
  • Estensioni allo scripting per la creazione automatizzata di database (compute_polar.py).
  • Miglioramenti critici nell'I/O, incluso più feedback per l'utente.
  • Ulteriori correzioni di bug, miglioramenti della stabilità e manutenzione generale del codice.
6.0 "Falco" Vecchia versione, non più mantenuta: 6.0.0 14 febbraio 2018
7.0 "Merlo" Versione stabile attuale: 7.0.0 29 novembre 2019 attuale 7.1.1 (2021-03-02)
Leggenda:
Vecchia versione
Versione precedente, ancora mantenuta
Ultima versione
Ultima versione di anteprima
Rilascio futuro

Licenza

SU2 è un software gratuito e open source, rilasciato sotto GNU General Public License versione 3 (SU2 v1.0 e v2.0) e GNU Lesser General Public License versione 2.1 (SU2 v2.0.7 e versioni successive).

Software alternativo

Software gratuito e open source

Software proprietario

Riferimenti

link esterno

Risorse ufficiali

Risorse comunitarie

Altre risorse