SU2 code: Difference between revisions

Content deleted Content added
m fixed lint errors – links in external links
No edit summary
 
(6 intermediate revisions by 5 users not shown)
Line 1:
{{Use dmy dates|date=JulyMay 20132024}}
{{Infobox Softwaresoftware
| logo = Stanford University Unstructured Logo.png
| name = SU2 code
Line 14:
}}
 
'''SU2''' (formerly '''Stanford University Unstructured''') is a suite of [[Open-source software|open-source]] software tools written in C++ for the numerical solution of [[partial differential equation]]s (PDE) and performing [[PDE-constrained optimization]]. The primary applications are [[computational fluid dynamics]] and aerodynamic [[shape optimization]],<ref>[http://su2.stanford.edu/documents/SU2_AIAA_ASM2013.pdf F. Palacios, M. R. Colonno, A. C. Aranake, A. Campos, S. R. Copeland, T. D. Economon, A. K. Lonkar, T. W. Lukaczyk, T. W. R. Taylor, and J. J. Alonso, "Stanford University Unstructured (SU2): An open-source integrated computational environment for multi-physics simulation and design", AIAA Paper 2013-0287, 51st AIAA Aerospace Sciences Meeting and Exhibit. January 7th - 10th, 2013. Grapevine, Texas, USA.]</ref> but has been extended to treat more general equations such as [[electrodynamics]] and chemically reacting flows. SU2 supports continuous and discrete adjoint for calculating the sensitivities/gradients of a scalar field.
 
==Developers==
{{unreferenced|section|date=July 2020}}
SU2 is being developed by individuals and organized teams around the world. The SU2 Lead Developers are: Dr. Francisco Palacios and Dr. Thomas D. Economon.
 
The most active groups developing SU2 are:
* Prof. Juan J. Alonso's group at [[Stanford University]].<ref name=":0">{{Cite web |title=SU2 Dev. Team at Stanford |url=https://su2code.github.io/teams/SU_Team.html |access-date=2025-03-15 |website=su2code.github.io}}</ref>
* Prof. Piero Colonna's group at [[Delft University of Technology]].<ref name=":1">{{Cite web |title=SU2/AUTHORS.md at master · su2code/SU2 |url=https://github.com/su2code/SU2/blob/master/AUTHORS.md |access-date=2025-03-15 |website=GitHub |language=en}}</ref>
* Prof. Nicolas R. Gauger's group at [[Kaiserslautern University of Technology]].<ref>{{Cite web |title=SU2 Dev. Team at University of Kaiserslautern |url=https://su2code.github.io/teams/KL_Team.html |access-date=2025-03-15 |website=su2code.github.io}}</ref>
* Prof. Alberto Guardone's group at [[Polytechnic University of Milan]].<ref name=":1" />
* Prof. Rafael Palacios' group at [[Imperial College London]].<ref name=":0" />
 
==Capabilities==
Line 31 ⟶ 30:
 
*High-fidelity analysis and adjoint-based design using unstructured mesh technology.
*Compressible and incompressible [[Euler Equations (fluid dynamics)|Euler]], [[Navier-Stokes]], and [[Reynolds-averaged Navier–Stokes equations|RANS]] solvers.
*Additional PDE solvers for electrodynamics, linear elasticity, heat equation, wave equation and thermochemical non-equilibrium.
*Convergence acceleration (multi-grid, preconditioning, etc.).
*Sensitivity information via the continuous adjoint methodology<ref>[http://adl.stanford.edu/papers/AIAA_Journal_March2012.pdf A. Bueno-Orovio, C. Castro, F. Palacios, and E. Zuazua "Continuous Adjoint Approach for the Spalart-Allmaras Model in Aerodynamic Optimization", AIAA Journal Vol. 50, No. 3, March 2012.]</ref> approach.
*Adaptive, goal-oriented mesh refinement and deformation.
*Modularized <ref>[http://adl.stanford.edu/docs/display/SUSQUARED/SU2+Tools SU2 tools list]</ref> [[C++]] object-oriented design.
*Parallelization with [[Message Passing Interface|MPI]].
*[[Python (programming language)|Python]] scripts for automation.
*[[FEATool Multiphysics]] features [https://www.featool.com/news/2020/03/04/featool-multiphysics-v1p12-with-su2-cfd-solver-integration built-in GUI and CLI interfaces for SU2].
 
 
==Release history==
Line 48 ⟶ 46:
! Branch
! Version
! Releasedate<ref name="Github_repository_SU2">{{cite web|title=SU2-Suit releases|url=https://github.com/su2code/SU2/releases|website=Github.com|accessdate=25 May 2016|language=english}}</ref>
! Improvements
|-
Line 54 ⟶ 52:
| rowspan="2" | 1.0
| {{Version|o|1.0}}
| {{dts|format=dmy|2013|066|28}}
|
|-
| {{Version|o|1.1}}
| {{dts|format=dmy|2013|066|28}}
|-
|-
| rowspan="10" | 2.0
| {{Version|o|2.0}}
| {{dts|format=dmy|2013|066|28}}
|-
| {{Version|o|2.0.1}}
| {{dts|format=dmy|2013|066|28}}
|-
|-
| {{Version|o|2.0.2}}
| {{dts|format=dmy|2013|066|28}}
|-
|-
| {{Version|o|2.0.3}}
| {{dts|format=dmy|2013|066|28}}
|-
|-
| {{Version|o|2.0.4}}
| {{dts|format=dmy|2013|066|28}}
|-
|-
| {{Version|o|2.0.5}}
| {{dts|format=dmy|2013|066|28}}
|-
|-
| {{Version|o|2.0.6}}
| {{dts|format=dmy|2013|088|12}}
|-
|-
| {{Version|o|2.0.7}}
| {{dts|format=dmy|2013|099|11}}
|-
|-
| {{Version|o|2.0.8}}
| {{dts|format=dmy|2013|099|30}}
|-
|-
| {{Version|o|2.0.10}}
| {{dts|format=dmy|2013|099|11}}
|-
| 3.0 "eagle"
| {{Version|o|3.0.0}}
| {{dts|format=dmy|2014|011|15}}
|
* Major release, along with SU2_EDU
Line 107 ⟶ 106:
| 3.1 "eagle"
| {{Version|o|3.1.0}}
| {{dts|format=dmy|2014|088|14}}
|-
| rowspan="9" | 3.2 "eagle"
| {{Version|o|3.2.0}}
| {{dts|format=dmy|2014|088|14}}
|
* Renamed C++ modules for clarity:
Line 128 ⟶ 127:
|-
| {{Version|o|3.2.1}}
| {{dts|format=dmy|2014|09|088}}
|
* Additional verification test cases for shape design using the compressible adjoint capability (in collaboration with Lockheed Martin).
Line 138 ⟶ 137:
|-
| {{Version|o|3.2.2}}
| {{dts|format=dmy|2014|099|28}}
|
* SU2 version 3.2.2 includes general bug fixes and maintenance.
Line 154 ⟶ 153:
|-
| {{Version|o|3.2.4}}
| {{dts|format=dmy|2014|11|099}}
|-
| {{Version|o|3.2.5}}
| {{dts|format=dmy|2014|12|044}}
|-
| {{Version|o|3.2.7}}
Line 169 ⟶ 168:
|-
| {{Version|o|3.2.8}}
| {{dts|format=dmy|2015|02|033}}
|-
| {{Version|o|3.2.9}}
| {{dts|format=dmy|2015|03|044}}
|-
 
| rowspan="3" | 4.0 "Cardinal"
| {{Version|o|4.0.0}}
| {{dts|format=dmy|2015|066|23}}
|
'''New Features:'''
Line 187 ⟶ 186:
* Force breakdown file and FieldView output.
* Scale, rotate, translate meshes in SU2_DEF.
* Iterative smoothers: Jacobi, LU-SGS, ILU (0).
* Updated non-dimensionalization options for ease of use.
* General bug fixes.
Line 202 ⟶ 201:
|-
| {{Version|o|4.0.1}}
| {{dts|format=dmy|2015|09|011}}
|
* Improved performance for scaling, rotating, translating meshes using SU2_DEF.
Line 214 ⟶ 213:
|-
| {{Version|o|4.0.2}}
| {{dts|format=dmy|2015|11|033}}
|-
| rowspan="4" | 4.1 "Cardinal"
| {{Version|o|4.1.0}}
| {{dts|format=dmy|2016|044|22}}
|
* Algorithmic Differentiation for exact derivative computations throughout the code.
Line 230 ⟶ 229:
|-
| {{Version|o|4.1.1}}
| {{dts|format=dmy|2016|04|055}}
|-
| {{Version|o|4.1.2}}
| {{dts|format=dmy|2016|044|22}}
|-
| {{Version|o|4.1.3}}
| {{dts|format=dmy|2016|055|24}}
|-
| rowspan="1" | 4.2 "Cardinal"
| {{Version|o|4.2.0}}
| {{dts|format=dmy|2016|066|15}}
|
* Native Fluid-Structure Interaction (FSI) solver.
Line 252 ⟶ 251:
| rowspan="1" | 4.3 "Cardinal"
| {{Version|o|4.3.0}}
| {{dts|format=dmy|2016|088|22}}
|
* Redesign of the high-level Driver classes for code clarity and future flexibility.
Line 263 ⟶ 262:
| rowspan="1" | 5.0 "Raven"
| {{Version|o|5.0.0}}
| {{dts|format=dmy|2017|011|20}}
|
 
* New in-memory Python wrapping of SU2 using SWIG with accompanying high-level API.
* Class enhancements for multiphysics applications, including interpolation and transfer.
* Free-form deformation (FFD) extensions, including bezier[[Bézier curvescurve]]s and improved usability.
* Reorganization of the incompressible solver for future expansion.
* Harmonic Balance flow analysis capability.
Line 281 ⟶ 279:
| rowspan="1" | 6.0 "Falcon"
| {{Version|o|6.0.0}}
| {{dts|format=dmy|2018|022|14}}
|
|-
| rowspan="1" | 7.0 "Blackbird"
| {{Version|co|7.0.0}}
| {{dts|format=dmy|2019|11|29}}
| actual 7.1.1 (2021-03-02)
Line 291 ⟶ 289:
| rowspan="1" | 7.1 "Blackbird"
| {{Version|o|7.1.0}}
| {{dts|format=dmy|2021|011|21}}
|
SU2 v7.1.0 aims to consolidate the new features added in versions 7.0.X.
Line 297 ⟶ 295:
 
🚀 Features
* NEMO - Link with mutation++ @CatarinaGarbacz (#1160); Addition of Source Terms for Axisymmetric Flows @jtneedels (#1162); Transition to primitive limiter @WallyMaier (#1139)
* Reduce discrete adjoint memory usage ~25% @pcarruscag (#1159)
* Support for UQ and NICF with vectorized (SIMD) centered schemes @pcarruscag (#1149)
Line 305 ⟶ 303:
💊 Bug Fixes
* Fix objective functions (for shape_optimization.py) @pcarruscag (#1167)
* NEMO - Restructure source residual computation to fix axisymmetric chemsitrychemistry/vib source computation @jtneedels (#1170)
* Fix MSW @pcarruscag (#1166), update adaptive CFL @bmunguia (#1036), fix compilation with gcc 4.8 @pcarruscag (#1157)
* Deprecate options that did not work since v7.0.0, and other minor cleanups @TobiKattmann (#1129)
Line 315 ⟶ 313:
* Remove mapping of global<->local marker IDs @maxaehle (#1169)
* Fix Xcode project and paths @EduardoMolina (#1145)
* NEMO - Further cleanup and improvements @WallyMaier (#1117)
* Added CSquareMatrixCM to the toolboxes @vdweide (#1068)
|-
| rowspan="1" | 7.2 "Blackbird"
| {{Version|co|7.2.0}}
| {{dts|format=dmy|2021|088|17}}
| SU2 version 7.2.0 introduces exciting new features and improvements (it differs from 7.1.1 by almost 1000 commits!) We made a pause from the monthly maintenance-release cycle to integrate those features as best as possible, they include:
* Unsteady discrete adjoints for multizone problems (e.g. FSI and CHT).
Line 331 ⟶ 329:
 
🚀 Features
* NEMO - Improvements on the Preprocessing phase and inclusion of Chapmann-Enskog for Mutation++ @fmpmorgado (#1343)
* Hybrid Parallel AD (Part 3/?) @jblueh (#1294)
* Heat Transfer boundary condition @oleburghardt (#1226)
Line 353 ⟶ 351:
* Fix sliding mesh for SA @maxaehle (#1344)
* Fix "per-surface" outputs @pcarruscag (#1341)
* SU2-NEMO - Optimize initialization time @fmpmorgado (#1340)
* Fix for axisymmetric terms in NEMO + general NEMO updates @WallyMaier (#1326)
* Fix download link for binaries @Nat-1 (#1320)
Line 385 ⟶ 383:
* Cleanup more pointers @pcarruscag (#1225)
* Removed CSolver::Convective_Residual @maxaehle (#1222)
|-
| rowspan="1" | 8.0 "Harrier"
| {{Version|o|8.0.0}}
| {{dts|format=dmy|2023|08|29}}
| actual 8.1.0 (2024-09-28)
|-
| rowspan="1" | 8.1 "Harrier"
| {{Version|c|8.1.0}}
| {{dts|format=dmy|2024|9|28}}
|
 
Experimental Features
* CoDiPack Update by @jblueh in #2228
* Improved Tape Statistics by @jblueh in #2235
* Added gprof profiling option by @EvertBunschoten in #2243
* Feature new flamelet: addition of preferential diffusion by @EvertBunschoten in #2156
* Address sanitizer tests in the CI pipeline by @jblueh in #2246
* Custom inlets via python wrapper by @pcarruscag in #2296
* Compressibility correction for SST model by @sun5k in #2271
* Change lower limit of SST variables by @emaberman in #2323
* Supersonic inlet profile by @pcarruscag in #2327
* SA 2D axisymmetric source terms by @Corentinthomee in #2197
* Solid to solid conjugate heat transfer by @EvertBunschoten in #2152
* [WIP] Update turbo interfaces by @joshkellyjak in #2209
* Fix marker engine inflow by @BerkeCan97 in #2278
* Signal handling - SIGTERM will stop calculation and force file saving by @bigfooted in #2110
* Extending CFL adapt to include species transport by @Cristopher-Morales in #2298
* Feature turbo interfaces by @joshkellyjak in #2349
 
Bug Fixes
* Improved look-up table query scaling with variable count by @EvertBunschoten in #2214
* Workaround for ASLR/tsan incompatibility by @jblueh in #2242
* Fix update of dual-time solver for species transport. by @bigfooted in #2260
* Fix bug in inlet profile writer. by @bigfooted in #2267
* Update to start volume averaging after StartWindowIteration. by @ShiheJia in #2252
* Fix SU2_DOT without DV vars by @pcarruscag in #2270
* Fix CHT boundary problem for flamelet computations by @Cristopher-Morales in #2283
* Fix Aachen turbine test case by @jblueh in #2293
* Revert test cases branch by @jblueh in #2314
* Fixes to turbo monitor by @joshkellyjak in #2320
* Fix CFL Turbulence reduction option for adaptive cfl by @emaberman in #2295
* Correction of symmetry plane implementation by @bigfooted in #2194
* Fix hllc jacobians by @pcarruscag in #2339
* ASLR fix no longer needed by @jblueh in #2341
* Show error message when FLUID_MIXTURE is used with KIND_SCALAR_MODEL = NONE by @Cristopher-Morales in #2345
* Fix loop variable privatization by @jblueh in #2350
* Corrections to SA implementation by @rois1995 in #2352
 
Maintenance
* Bump actions/checkout from 3 to 4 by @dependabot in #2133
* Update turbomachinery testcases and regression tests by @alecappiello in #2158
* adding to history output residuals for multizone for species flamelet solver by @Cristopher-Morales in #2269
* change MPI_QUANTITIES to enum class by @bigfooted in #2279
* Removing unnecessary variables for CFluidScalar constructor by @Cristopher-Morales in #2357
* AD tool updates by @jblueh in #2351
|-
 
Line 410 ⟶ 463:
* [[ANSYS]] CFX
* [[ANSYS]] Fluent
* Azore <ref>[http://www.azoreCFD.com/ Azore Software, LLC Home Page]</ref>
* <span class="plainlinks">[http://www.featool.com FEATool Multiphysics]</span><ref>[http://www.featool.com FEATool Multiphysics homepage]</ref>
* [[Pumplinx]]
Line 420 ⟶ 473:
* [[FOAMpro]]
* [[SimScale]]<ref>[https://www.simscale.com/open-source/ SimScale company website, Open Source]</ref>
* Cradle <ref>[http://www.cradle-cfd.com/ Software Cradle Co., Ltd. Home Page]</ref> SC/Tetra <ref>[http://www.cradle-cfd.com/products/sctetra/index.html SC/Tetra Page]</ref>
* Cradle scSTREAM <ref>[http://www.cradle-cfd.com/products/stream/index.html/ scSTREAM Page] {{webarchive|url=https://web.archive.org/web/20150306193633/http://www.cradle-cfd.com/products/stream/index.html |date=6 March 2015 }}</ref>
* Cradle Heat Designer <ref>[http://www.cradle-cfd.com/products/heatdesigner/index.html/ Heat Designer Page]</ref>
 
==References==
{{reflist|colwidth=30em}}
 
==External links==