Introduction To The SU2 Code Structure
Introduction To The SU2 Code Structure
Amrita K. Lonkar
Department of Aeronautics & Astronautics
Stanford University
SU2-‐
Object
Oriented
Structure
Jan
15th,
2013
SU2
Release
Version
2.0
Workshop`
MN
YGHHF
4
CGeometry
Class
CGeometry
CPhysicalGeometry
CMultiGridGeometry
CPrimalGrid
CDualGrid
Children Classes
Children Classes
CTetrahedron
5
Jan
15th,
2013
SU2
Release
Version
2.0
Workshop
CSolu9on
Class
Parent Class: CSolution
CSolution
CEulerSolution
CNSSolution
CTurbSolution
CTurbSASolution
CSolu9on
CEulerSolution
CPlasmaSolution
CTurbSSTSolution
CWaveSolution
New Turbulence Model
CVariable
CNumerics
CSparseMatrix
CVariable
CNumerics
CSparseMatrix
CFEASolution
CHeatSolution
CEulerVariable
CRoe_Flow
CLevelSetSolution
CAdjEulerSolution
CAdjNSSolution
Files
in
SU2_CFD/include:
• solu9on_structure.hpp
CAdjTurbSolution
• solu9on_structure.inl
CAdjPlasmaSolution
In
SU2_CFD/src
• solu9on_direct_mean.cpp
CAdjLevelSetSolution
• solu9on_adjoint_mean.cpp
CLinEulerSolution
• solu9on_direct_plasma.cpp
• solu9on_direct_template.cpp
CTemplateSolution
• etc.
6
Jan
15th,
2013
SU2
Release
Version
2.0
Workshop
CVariable
Class
Parent Class: CVariable
CEulerVariable
CNSVariable
Stores
variables
for
a
par9cular
CSolu9on
solu9on
class,
at
EVERY
grid
CTurbVariable
node.
CTurbSAVariable
CPlasmaVariable
CTurbSSTVariable
CWaveVariable
New Turbulence Model
CHeatVariable
CLevelSetVariable
CAdjEulerVariable
CAdjNSVariable
Files
in
SU2_CFD/include
CAdjTurbVariable
• variable_structure.hpp
• variable_structure.inl
CAdjPlasmaVariable
SU2_CFD/src
• variable_direct.cpp
CAdjLevelSetVariable
• variable_adjoint.cpp
CLinEulerVariable
• variable_template.cpp
• etc.
CTemplateVariable
7
Jan
15th,
2013
SU2
Release
Version
2.0
Workshop
CNumerics
Class
Parent Class: CNumerics
Roe’s Scheme
Average Gradient
Piecewise Constant Source
Child
Classes
for:
JST Scheme
Galerkin
CSolu9on
Plasma Source
• Convec9ve
Flux
Discre9za9on
+
Jacobian
AUSM Scheme
Average Gradient Corrected
Gravity Source
• Viscous
Flux
Discre9za9on
+
Jacobian
HLLC Scheme
Template Viscous Terms
CVariable
CNumerics
CSparseMatrix
Electrical Source
Steger-Warming Scheme
• Source
Terms
Discre9za9on
+
Jacobian
Turbulence Source
Roe-Turkel for low Mach
Transition Source
Lax-Friedrich Scheme
Files
in
SU2_CFD/include
Axisymmetric Source
• numerics_structure.hpp
Upwinding for Turb Scalar
• numerics_structure.inl
Template Convective Terms
Rotational Frame Source
In
SU2_CFD/src:
• numerics_structure.cpp
Free Surface Source
• numerics_convec9ve.cpp
• numerics_viscous.cpp
Template Source Terms
• numerics_source.cpp
8
Jan
15th,
2013
SU2
Release
Version
2.0
Workshop
More
here…
• SU2
Paper:
Stanford
University
Unstructured
(SU2):
An
open-‐source
integrated
computa9onal
environment
for
mul9physics
simula9on
and
design.
AIAA
2013-‐0287
• Developers
contact:
susquared-‐[email protected]
Thank you