Stanford University Unstructured (SU2)  Version 2.0 (2013)
Software suite for the simulation and design of aerospace systems, using unstructured grid technology
Classes | Enumerations | Functions | Variables
/Users/economon/SU2/trunk/Common/include/option_structure.hpp File Reference

Defines classes for referencing options for easy input in CConfig. More...

#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <map>
#include <algorithm>

Go to the source code of this file.

Classes

class  CCreateMap< T, U >
 creates a map from a list by overloading operator() More...
class  CAnyOptionRef
 provides a means of referencing variables of any type More...
class  COptionRef< T >
 a typed version of the base class for standard types More...
class  CListOptionRef< T >
 for options of variable array length More...
class  CEnumOptionRef< T, Tenum >
 a typed version of the base class for options associated with enumerations More...
class  CMarkerOptionRef
 a typed version of the base class for marker options More...
class  CMarkerSlidingRef
 Specialized option for sliding boundary markers. More...
class  CMarkerPeriodicRef
 Specialized option for periodic boundary markers. More...
class  CMarkerInletRef
 Specialized option for inlet boundary markers. More...
class  CMarkerInletRef_
 Specialized option for inlet boundary markers (no flow direction) More...
class  CMarkerDirichletRef
 Specialized option for Dirichlet for electrical solver boundary markers. More...
class  CMarkerOutletRef
 Specialized option for outlet boundary markers. More...
class  CMarkerDisplacementRef
 Specialized option for Displacement boundary markers. More...
class  CMarkerLoadRef
 Specialized option for Load boundary markers. More...
class  CMarkerFlowLoadRef
 Specialized option for FlowLoad boundary markers. More...
class  CConvOptionRef
 a typed version of the base class for convection discretization options More...
class  CMathProblemRef
 this very specialized option for MATH_PROBLEM set several variables More...
class  CDVParamOptionRef
 Specialized option for grid deformation parameters. More...

Enumerations

enum  SU2_COMPONENT {
  SU2_CFD = 1, SU2_MDC = 2, SU2_GPC = 3, SU2_DDC = 4,
  SU2_MAC = 5, SU2_GDC = 6, SU2_PBC = 7, SU2_SMC = 8
}
 different software components of SU2 More...
enum  ANSWER { NONE = 0, NO = 0, YES = 1 }
 Boolean answers. More...
enum  VERB_LEVEL { VERB_NONE = 1, VERB_MEDIUM = 1, VERB_HIGH = 2 }
 Verbosity level. More...
enum  COMM_TYPE { SEND = 1, RECEIVE = 2 }
 types of MPI communications More...
enum  ENUM_SOLVER {
  NO_SOLVER = 0, EULER = 1, NAVIER_STOKES = 2, RANS = 3,
  ELECTRIC_POTENTIAL = 4, FREE_SURFACE_EULER = 5, FREE_SURFACE_NAVIER_STOKES = 6, FREE_SURFACE_RANS = 7,
  PLASMA_EULER = 8, PLASMA_NAVIER_STOKES = 9, WAVE_EQUATION = 10, HEAT_EQUATION = 29,
  LINEAR_ELASTICITY = 11, FLUID_STRUCTURE_EULER = 12, FLUID_STRUCTURE_NAVIER_STOKES = 13, FLUID_STRUCTURE_RANS = 14,
  AEROACOUSTIC_EULER = 15, AEROACOUSTIC_NAVIER_STOKES = 16, AEROACOUSTIC_RANS = 17, ADJ_EULER = 18,
  ADJ_NAVIER_STOKES = 19, ADJ_RANS = 20, LIN_EULER = 21, LIN_NAVIER_STOKES = 22,
  ADJ_FREE_SURFACE_EULER = 23, ADJ_FREE_SURFACE_NAVIER_STOKES = 24, ADJ_FREE_SURFACE_RANS = 25, ADJ_PLASMA_NAVIER_STOKES = 26,
  ADJ_PLASMA_EULER = 27, ADJ_AEROACOUSTIC_EULER = 28, TEMPLATE_SOLVER = 30
}
 different solver types for the CFD component More...
enum  ENUM_ADJOINT { CONTINUOUS = 0, DISCRETE = 1, HYBRID = 2 }
 different adjoint types for the adjoint solver More...
enum  RUNTIME_TYPE {
  RUNTIME_POT_SYS = 1, RUNTIME_FLOW_SYS = 2, RUNTIME_TURB_SYS = 3, RUNTIME_ELEC_SYS = 4,
  RUNTIME_PLASMA_SYS = 15, RUNTIME_LEVELSET_SYS = 16, RUNTIME_WAVE_SYS = 8, RUNTIME_HEAT_SYS = 21,
  RUNTIME_FEA_SYS = 20, RUNTIME_ADJPOT_SYS = 5, RUNTIME_ADJFLOW_SYS = 6, RUNTIME_ADJTURB_SYS = 7,
  RUNTIME_ADJLEVELSET_SYS = 18, RUNTIME_LINPOT_SYS = 9, RUNTIME_LINFLOW_SYS = 10, RUNTIME_MULTIGRID_SYS = 14,
  RUNTIME_ADJPLASMA_SYS = 19, RUNTIME_TRANS_SYS = 22
}
 different types of systems More...
enum  ENUM_SPACE { NO_CONVECTIVE = 0, SPACE_CENTERED = 1, SPACE_UPWIND = 2 }
 types of spatial discretizations More...
enum  ENUM_GASMODEL {
  NO_MODEL = 0, ARGON = 1, AIR7 = 2, AIR21 = 3,
  O2 = 4, N2 = 5, AIR5 = 6
}
 types of spatial discretizations More...
enum  ENUM_GRIDMOVEMENT {
  NO_MOVEMENT = 0, FLUTTER = 1, RIGID_MOTION = 2, FLUID_STRUCTURE = 3,
  EXTERNAL = 4, EXTERNAL_ROTATION = 5
}
 types of unsteady mesh motion More...
enum  ENUM_CENTERED { NO_CENTERED = 0, JST = 1, LAX = 2 }
 types of centered spatial discretizations More...
enum  ENUM_UPWIND {
  NO_UPWIND = 0, ROE_1ST = 1, ROE_2ND = 2, SCALAR_UPWIND_1ST = 3,
  SCALAR_UPWIND_2ND = 4, CONVECTIVE_TEMPLATE = 5, AUSM_1ST = 6, AUSM_2ND = 7,
  HLLC_1ST = 8, HLLC_2ND = 9, SW_1ST = 10, SW_2ND = 11,
  ROE_TURKEL_1ST = 12, ROE_TURKEL_2ND = 13
}
 types of upwind spatial discretizations More...
enum  ENUM_LIMITER { NO_LIMITER = 0, VENKATAKRISHNAN = 1, BARTH = 2, MINMOD = 3 }
 types of slope limiters More...
enum  ENUM_VISCOUS { NO_VISCOUS = 0, AVG_GRAD = 1, AVG_GRAD_CORRECTED = 2, GALERKIN = 3 }
 types of viscous term discretizations More...
enum  ENUM_SOURCE { NO_SOURCE = 0, PIECEWISE_CONSTANT = 1, CHARGE_DIST = 2, SOURCE_TEMPLATE = 4 }
 types of source term methods to use More...
enum  ENUM_SOURCEJAC { NO_JACOBIAN = 0, FINITE_DIFF = 1, AUTO_DIFF = 2 }
 types of methods used to calculate source term Jacobians More...
enum  ENUM_TURB_MODEL { NO_TURB_MODEL = 0, SA = 1, SA_COMP = 2, SST = 3 }
 types of turbulent models More...
enum  ENUM_TRANS_MODEL { NO_TRANS_MODEL = 0, LM = 1 }
 types of transition models More...
enum  ENUM_TIME_INT { RUNGE_KUTTA_EXPLICIT = 1, EULER_EXPLICIT = 2, EULER_IMPLICIT = 3 }
 type of time integration schemes More...
enum  ENUM_GRADIENT { GREEN_GAUSS = 1, WEIGHTED_LEAST_SQUARES = 2 }
 types of schemes to compute the gradient More...
enum  GEOMETRY_ACTION { ALLOCATE = 0, UPDATE = 1 }
 types of action to take on a geometry structure More...
enum  BC_TYPE {
  EULER_WALL = 1, NO_SLIP_WALL = 4, FAR_FIELD = 2, SYMMETRY_PLANE = 3,
  INLET_FLOW = 5, OUTLET_FLOW = 6, PERIODIC_BOUNDARY = 7, NEARFIELD_BOUNDARY = 8,
  ELECTRODE_BOUNDARY = 9, DIELECTRIC_BOUNDARY = 10, CUSTOM_BOUNDARY = 11, INTERFACE_BOUNDARY = 12,
  DIRICHLET = 13, NEUMANN = 14, DISPLACEMENT_BOUNDARY = 15, LOAD_BOUNDARY = 16,
  FLOWLOAD_BOUNDARY = 17, FWH_SURFACE = 18, WAVE_OBSERVER = 19, ELEC_DIELECTRIC_BOUNDARY = 22,
  ELEC_NEUMANN = 23, SUPERSONIC_INLET = 24, NACELLE_INFLOW = 25, NACELLE_EXHAUST = 26,
  SLIDING_INTERFACE = 27, SEND_RECEIVE = 99
}
 types of boundary conditions More...
enum  INLET_TYPE { TOTAL_CONDITIONS = 1, MASS_FLOW = 2 }
 types inlet boundary treatments More...
enum  GEO_TYPE {
  VERTEX = 1, LINE = 3, TRIANGLE = 5, RECTANGLE = 9,
  TETRAHEDRON = 10, HEXAHEDRON = 12, WEDGE = 13, PYRAMID = 14
}
 types of geometric entities based on VTK nomenclature More...
enum  ENUM_OBJECTIVE {
  DRAG_COEFFICIENT = 1, LIFT_COEFFICIENT = 2, SIDEFORCE_COEFFICIENT = 3, EFFICIENCY = 4,
  PRESSURE_COEFFICIENT = 5, MOMENT_X_COEFFICIENT = 6, MOMENT_Y_COEFFICIENT = 7, MOMENT_Z_COEFFICIENT = 8,
  EQUIVALENT_AREA = 9, NEARFIELD_PRESSURE = 10, ELECTRIC_CHARGE = 11, FORCE_X_COEFFICIENT = 12,
  FORCE_Y_COEFFICIENT = 13, FORCE_Z_COEFFICIENT = 14, THRUST_COEFFICIENT = 15, TORQUE_COEFFICIENT = 16,
  FIGURE_OF_MERIT = 17, FREESURFACE = 18, NOISE = 19
}
 types of objective functions More...
enum  ENUM_OBJECTIVE_TYPE { FORCE_OBJ = 1, NON_FORCE_OBJ = 2 }
 types (Continuous/Discrete) of objective functions More...
enum  ENUM_CONTINUOUS_EQNS { EULER_EQNS = 1, NAVIER_STOKES_EQNS = 2 }
 types of Continuous equations More...
enum  ENUM_DISCRETE_EQNS { NONE_EQNS = 1, SA_EQNS = 2, SST_EQNS = 2 }
 types of Discrete equations More...
enum  ENUM_SENS { SENS_GEOMETRY = 1, SENS_MACH = 2, SENS_AOA = 3, SENS_AOS = 4 }
 types of sensitivities to compute More...
enum  ENUM_LINEAR_OBJ { DELTA_DRAG_COEFFICIENT = 1, DELTA_LIFT_COEFFICIENT = 2 }
 types of linearized objective functions More...
enum  ENUM_ADAPT {
  NO_ADAPT = 0, FULL = 1, FULL_FLOW = 2, FULL_ADJOINT = 3,
  FULL_LINEAR = 4, GRAD_FLOW = 5, GRAD_ADJOINT = 6, GRAD_FLOW_ADJ = 7,
  ROBUST = 8, COMPUTABLE = 9, REMAINING = 10, COMPUTABLE_ROBUST = 11,
  WAKE = 12, SMOOTHING = 14, SUPERSONIC_SHOCK = 15, TWOPHASE = 16
}
 types of grid adaptation/refinement More...
enum  ENUM_INPUT { SU2 = 1, CGNS = 2, NETCDF_ASCII = 3 }
 types of input file formats More...
enum  ENUM_OUTPUT {
  PARAVIEW = 1, TECPLOT = 2, EXCEL = 3, CSV = 4,
  STL = 5
}
 type of solution output file formats More...
enum  ENUM_PARAM {
  NO_DEFORMATION = 0, HICKS_HENNE = 1, HICKS_HENNE_SHOCK = 2, HICKS_HENNE_NORMAL = 4,
  MACH_NUMBER = 5, NACA_4DIGITS = 6, DISPLACEMENT = 8, ROTATION = 9,
  FFD_CONTROL_POINT = 10, FFD_DIHEDRAL_ANGLE = 11, FFD_TWIST_ANGLE = 12, FFD_ROTATION = 13,
  FFD_CAMBER = 14, FFD_THICKNESS = 15, FFD_VOLUME = 16, PARABOLIC = 17,
  OBSTACLE = 18, STRETCH = 19
}
 types of design parameterizations More...
enum  ENUM_LINEAR_SOLVER {
  STEEPEST_DESCENT = 1, NEWTON = 2, QUASI_NEWTON = 3, SYM_GAUSS_SEIDEL = 4,
  CONJUGATE_GRADIENT = 5, GMRES = 6, LU_SGS = 7, BCGSTAB = 8
}
 types of solvers for solving linear systems More...
enum  ENUM_SENS_SMOOTHING { NO_SMOOTH = 0, SOBOLEV = 1, BIGRID = 2 }
 types of sensitivity smoothing More...
enum  ENUM_LINEAR_SOLVER_PREC { NO_PREC = 0, JACOBI = 1, LINELET = 2 }
 types of preconditioners for the linear solver More...
enum  ENUM_DEFORM { SPRING = 1, TORSIONAL_SPRING = 2, ALGEBRAIC = 3 }
 types of grid deformation techniques More...
enum  ENUM_GEO_ANALYTIC {
  NO_GEO_ANALYTIC = 0, NACA0012_AIRFOIL = 1, NACA4412_AIRFOIL = 2, CYLINDER = 3,
  BIPARABOLIC = 4
}
 types of analytic definitions for various geometries More...
enum  ENUM_UNSTEADY {
  STEADY = 0, TIME_STEPPING = 1, DT_STEPPING_1ST = 2, DT_STEPPING_2ND = 3,
  ROTATIONAL_FRAME = 4, TIME_SPECTRAL = 5
}
 types of schemes for unsteady computations More...
enum  ENUM_CONVERGE_CRIT { CAUCHY = 1, RESIDUAL = 2 }
 types of criteria to determine when the solution is converged More...

Functions

void StringToUpperCase (string &str)
 utility function for converting strings to uppercase
string StringToUpperCase (const string &str)
 utility function for converting strings to uppercase

Variables

const unsigned int MAX_PROCESSORS = 1000
 Maximum number of processors.
const unsigned int MAX_PARAMETERS = 10
 Maximum number of parameters for a design variable definition.
const unsigned int MAX_INDEX_VALUE = 100
 Maximum value for a marker index.
const unsigned int MAX_NUMBER_MARKER = 200
 Maximum number of domains.
const unsigned int MAX_NUMBER_CHUNK = 10
 Maximum number of chunks for the FFD.
const unsigned int MAX_NEIGHBORS = 150
 Maximum number of neighbors.
const unsigned int MAX_SOLS = 6
 Maximum number of solutions at the same time (dimension of solution container array).
const unsigned int MAX_TERMS = 5
 Maximum number of terms in the numerical equations (dimension of solver container array).
const unsigned int MAX_ZONES = 30
 Maximum number of zones.
const unsigned int NO_RK_ITER = 0
 No Runge-Kutta iteration.
const unsigned int MESH_0 = 0
 Definition of the finest grid level.
const unsigned int MESH_1 = 1
 Definition of the finest grid level.
const unsigned int ZONE_0 = 0
 Definition of the first grid domain.
const unsigned int ZONE_1 = 1
 Definition of the first grid domain.
const unsigned int MAX_MPI_BUFFER = 3000000
 Buffer size for parallel simulations.
const double PRANDTL = 0.72
 Fluid's Prandtl constant (air).
const double PRANDTL_TURB = 0.90
 Fluid's turbulent Prandtl constant (air).
const double AVOGAD_CONSTANT = 6.0221415E26
 Avogardro's constant, number of particles in one kmole.
const double BOLTZMANN_CONSTANT = 1.3806503E-23
const double UNIVERSAL_GAS_CONSTANT = 8314.462175
 Boltzmann's constant [J K^-1].
const double ELECTRON_CHARGE = 1.60217646E-19
 Universal gas constant [J kmol^-1 K^-1].
const double ELECTRON_MASS = 9.10938188E-31
 Mass of an electron.
const double FREE_PERMITTIVITY = 8.8541878176E-12
 Premittivity of free space.
const double MAGNETIC_CONSTANT = 1.25663706E-6
 magnetic permeability of free space.
const double STANDART_GRAVITY = 9.80665
 Acceleration due to gravity at surface of earth.
const double EPS = 1.0E-16
 Error scale.
const double TURB_EPS = 1.0E-16
 Turbulent Error scale.
const double ONE2 = 0.5
 One divided by two.
const double TWO3 = 2.0 / 3.0
 Two divided by three.
const double FOUR3 = 4.0 / 3.0
 Four divided by three.
const double PI_NUMBER = 4.0 * atan(1.0)
 Pi number.
const unsigned int MAX_NUMBER_DOMAIN = 1000
 Maximum number of domains.
const unsigned int MAX_NUMBER_PERIODIC = 10
 Maximum number of periodic boundary conditions.
const unsigned int MAX_NUMBER_SLIDING = 10
 Maximum number of sliding boundary conditions.
const int MASTER_NODE = 0
 Master node for MPI parallelization.
const int AUX_NODE = 1
 Computational node that is used for IO stuff.
const int FLOW_SOL = 0
 Position of the flow solution (potential, Euler and Navier-Stokes) in the solution container array.
const int TURB_SOL = 2
 Position of the turbulence solution in the solution container array.
const int TRANS_SOL = 4
 Position of the turbulence solution in the solution container array.
const int ELEC_SOL = 2
 Position of the electronic potential solution in the solution container array.
const int WAVE_SOL = 1
 Position of the wave equation in the solution container array.
const int HEAT_SOL = 2
 Position of the heat equation in the solution container array.
const int FEA_SOL = 1
 Position of the FEA equation in the solution container array.
const int ADJFLOW_SOL = 1
 Position of the continuous adjoint flow solution in the solution container array.
const int ADJTURB_SOL = 3
 Position of the continuous adjoint turbulence solution in the solution container array.
const int ADJLEVELSET_SOL = 3
 Position of the continuous adjoint level set solution in the solution container array.
const int LINFLOW_SOL = 1
 Position of the linear flow solution in the solution container array.
const int PLASMA_SOL = 1
 Position of the plasma solution in the solution container array.
const int ADJPLASMA_SOL = 2
 Position of the adjoint plasma solution in the solution container array.
const int LEVELSET_SOL = 2
 Position of the level set solution in the solution container array.
const int TEMPLATE_SOL = 0
 Position of the template solution.
const int CONV_TERM = 0
 Position of the convective terms in the solver container array.
const int VISC_TERM = 1
 Position of the viscous terms in the solver container array.
const int SOURCE_FIRST_TERM = 2
 Position of the first source term in the solver container array.
const int SOURCE_SECOND_TERM = 3
 Position of the second source term in the solver container array.
const int BOUND_TERM = 4
 Position of the boundary terms in the solver container array.
const int CGNS_STRING_SIZE = 33
 Length of strings used in the CGNS format.

Detailed Description

Defines classes for referencing options for easy input in CConfig.

Author:
Aerospace Design Laboratory (Stanford University) <http://su2.stanford.edu>.
Version:
2.0.

Many of the classes in this file are templated, and therefore must be declared and defined here; to keep all elements together, there is no corresponding .cpp file at this time.

Stanford University Unstructured (SU2) Code Copyright (C) 2012 Aerospace Design Laboratory

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>.


Enumeration Type Documentation

enum ANSWER

Boolean answers.

Enumerator:
NO 

Boolean definition of no.

YES 

Boolean definition of yes.

enum BC_TYPE

types of boundary conditions

Enumerator:
EULER_WALL 

Boundary Euler wall definition.

NO_SLIP_WALL 

Boundary no slip wall definition.

FAR_FIELD 

Boundary far-field definition.

SYMMETRY_PLANE 

Boundary symmetry plane definition.

INLET_FLOW 

Boundary inlet flow definition.

OUTLET_FLOW 

Boundary outlet flow definition.

PERIODIC_BOUNDARY 

Periodic boundary definition.

NEARFIELD_BOUNDARY 

Near-Field boundary definition.

ELECTRODE_BOUNDARY 

Electrode boundary definition.

DIELECTRIC_BOUNDARY 

Dielectric boundary definition.

CUSTOM_BOUNDARY 

custom boundary definition.

INTERFACE_BOUNDARY 

Domain interface boundary definition.

DIRICHLET 

Boundary Euler wall definition.

NEUMANN 

Boundary Neumann definition.

DISPLACEMENT_BOUNDARY 

Boundary displacement definition.

LOAD_BOUNDARY 

Boundary Load definition.

FLOWLOAD_BOUNDARY 

Boundary Load definition.

FWH_SURFACE 

FW-H surface definition (aeroacoustic computations).

WAVE_OBSERVER 

Wave observer surface definition.

ELEC_DIELECTRIC_BOUNDARY 

Dielectric boundary definition for the electrical potential.

ELEC_NEUMANN 

Boundary Neumann definition.

SUPERSONIC_INLET 

Boundary supersonic inlet definition.

NACELLE_INFLOW 

Boundary nacelle inflow.

NACELLE_EXHAUST 

Boundary nacelle exhaust.

SLIDING_INTERFACE 

Boundary sliding interface definition.

SEND_RECEIVE 

Boundary send-receive definition.

enum COMM_TYPE

types of MPI communications

Enumerator:
SEND 

Boolean definition of send (parallelization).

RECEIVE 

Boolean definition of receive (parallelization).

enum ENUM_ADAPT

types of grid adaptation/refinement

Enumerator:
NO_ADAPT 

No grid adaptation.

FULL 

Do a complete grid refinement of all the computational grids.

FULL_FLOW 

Do a complete grid refinement of the flow grid.

FULL_ADJOINT 

Do a complete grid refinement of the adjoint grid.

FULL_LINEAR 

Do a complete grid refinement of the linear grid.

GRAD_FLOW 

Do a gradient based grid adaptation of the flow grid.

GRAD_ADJOINT 

Do a gradient based grid adaptation of the adjoint grid.

GRAD_FLOW_ADJ 

Do a gradient based grid adaptation of the flow and adjoint grid.

ROBUST 

Apply a robust grid adaptation (residual based).

COMPUTABLE 

Apply a computable error grid adaptation.

REMAINING 

Apply a remaining error grid adaptation.

COMPUTABLE_ROBUST 

Apply a computable robust grid adaptation (using linearized problem).

WAKE 

Do a grid refinement on the wake.

SMOOTHING 

Do a grid smoothing of the geometry.

SUPERSONIC_SHOCK 

Do a grid smoothing.

TWOPHASE 

Do a grid refinement on the free surface interphase.

different adjoint types for the adjoint solver

Enumerator:
CONTINUOUS 

Definition of continuous method.

DISCRETE 

Definition of discrete method.

HYBRID 

Definition of hybrid method.

types of centered spatial discretizations

Enumerator:
NO_CENTERED 

No centered scheme is used.

JST 

Jameson-Smith-Turkel centered numerical method.

LAX 

Lax-Friedrich centered numerical method.

types of Continuous equations

Enumerator:
EULER_EQNS 

Euler equations.

NAVIER_STOKES_EQNS 

Navier Stokes equations.

types of criteria to determine when the solution is converged

Enumerator:
CAUCHY 

Cauchy criteria to establish the convergence of the code.

RESIDUAL 

Residual criteria to establish the convergence of the code.

types of grid deformation techniques

Enumerator:
SPRING 

Classical spring analogy as the grid deformation technique.

TORSIONAL_SPRING 

Torsional spring analogy as the grid deformation technique.

ALGEBRAIC 

Movement of the grid using an algebraic based method.

types of Discrete equations

Enumerator:
NONE_EQNS 

No equations.

SA_EQNS 

Spallart-Almaras equations.

SST_EQNS 

SST equations.

types of spatial discretizations

Enumerator:
NO_MODEL 

_____.

ARGON 

_____.

AIR7 

_______.

AIR21 

_______.

types of analytic definitions for various geometries

Enumerator:
NO_GEO_ANALYTIC 

No analytic definition of the geometry.

NACA0012_AIRFOIL 

Use the analytical definition of the NACA0012 for doing the grid adaptation.

NACA4412_AIRFOIL 

Use the analytical definition of the NACA4412 for doing the grid adaptation.

CYLINDER 

Use the analytical definition of a cylinder for doing the grid adaptation.

BIPARABOLIC 

Use the analytical definition of a biparabolic airfoil for doing the grid adaptation.

types of schemes to compute the gradient

Enumerator:
GREEN_GAUSS 

Gradients computation using Green Gauss theorem.

WEIGHTED_LEAST_SQUARES 

Gradients computation using Weighted Least Squares.

types of unsteady mesh motion

Enumerator:
NO_MOVEMENT 

_____.

FLUTTER 

_____.

RIGID_MOTION 

Simulation with rigid mesh motion (plunging/pitching/rotation).

FLUID_STRUCTURE 

_______.

EXTERNAL 

Arbitrary grid motion specified by external files at each time step.

EXTERNAL_ROTATION 

Arbitrary grid motion specified by external files at each time step with rigid rotation.

enum ENUM_INPUT

types of input file formats

Enumerator:
SU2 

SU2 input format.

CGNS 

CGNS input format for the computational grid.

NETCDF_ASCII 

ASCII NETCDF input format for the computational grid.

types of slope limiters

Enumerator:
NO_LIMITER 

No slope limiter.

VENKATAKRISHNAN 

Slope limiter using Venkatakrisnan method.

BARTH 

Slope limiter using Barth and Jespersen method.

types of linearized objective functions

Enumerator:
DELTA_DRAG_COEFFICIENT 

Linearized Drag objective function definition.

DELTA_LIFT_COEFFICIENT 

Linearized Lift objective function definition.

types of solvers for solving linear systems

Enumerator:
STEEPEST_DESCENT 

Steepest descent method for point inversion algoritm (Free-Form).

NEWTON 

Newton method for point inversion algorithm (Free-Form).

QUASI_NEWTON 

Quasi Newton method for point inversion algorithm (Free-Form).

SYM_GAUSS_SEIDEL 

Symmetric Gauss-Seidel method for grid deformation.

CONJUGATE_GRADIENT 

Preconditionated conjugate gradient method for grid deformation.

GMRES 

Flexible Generalized Minimal RESidual method.

LU_SGS 

LU - Symmetric Gauss-Seidel method (main solver).

BCGSTAB 

BCGSTAB - Biconjugate Gradient Stabilized Method (main solver).

types of preconditioners for the linear solver

Enumerator:
NO_PREC 

No preconditioner.

JACOBI 

Jacobi preconditioner.

LINELET 

Line implicit preconditioner.

types of objective functions

Enumerator:
DRAG_COEFFICIENT 

Drag objective function definition.

LIFT_COEFFICIENT 

Lift objective function definition.

SIDEFORCE_COEFFICIENT 

Side force objective function definition.

EFFICIENCY 

Efficiency objective function definition.

PRESSURE_COEFFICIENT 

Pressure objective function definition.

MOMENT_X_COEFFICIENT 

Pitching moment objective function definition.

MOMENT_Y_COEFFICIENT 

Rolling moment objective function definition.

MOMENT_Z_COEFFICIENT 

Yawing objective function definition.

EQUIVALENT_AREA 

Equivalent area objective function definition.

NEARFIELD_PRESSURE 

NearField Pressure objective function definition.

ELECTRIC_CHARGE 

Charge distribution objective function definition.

FORCE_X_COEFFICIENT 

X-direction force objective function definition.

FORCE_Y_COEFFICIENT 

Y-direction force objective function definition.

FORCE_Z_COEFFICIENT 

Z-direction force objective function definition.

THRUST_COEFFICIENT 

Thrust objective function definition.

TORQUE_COEFFICIENT 

Torque objective function definition.

FIGURE_OF_MERIT 

Rotor Figure of Merit objective function definition.

FREESURFACE 

Free Surface objective function definition.

NOISE 

Noise objective function definition.

types (Continuous/Discrete) of objective functions

Enumerator:
FORCE_OBJ 

Force dependent objective function.

NON_FORCE_OBJ 

Non-force dependent objective function.

type of solution output file formats

Enumerator:
PARAVIEW 

Paraview format for the solution output.

TECPLOT 

Tecplot format for the solution output.

EXCEL 

Excel format for the solution output.

CSV 

Comma-separated values format for the solution output.

STL 

STL CAD format for the solution output.

enum ENUM_PARAM

types of design parameterizations

Enumerator:
NO_DEFORMATION 

No surface deformation.

HICKS_HENNE 

Hicks-Henne bump function for airfoil deformation.

HICKS_HENNE_SHOCK 

Special deformation at the shocks as design variable.

HICKS_HENNE_NORMAL 

Normal Hicks-Henne bump function for airfoil deformation.

MACH_NUMBER 

Mach number as design variable.

NACA_4DIGITS 

The four digits NACA airfoil family as design variables.

DISPLACEMENT 

Surface movement as design variable.

ROTATION 

Surface rotation as design variable.

FFD_CONTROL_POINT 

Free form deformation for 3D design (change a control point).

FFD_DIHEDRAL_ANGLE 

Free form deformation for 3D design (change the dihedral angle).

FFD_TWIST_ANGLE 

Free form deformation for 3D design (change the twist angle).

FFD_ROTATION 

Free form deformation for 3D design (rotation around a line).

FFD_CAMBER 

Free form deformation for 3D design (camber change).

FFD_THICKNESS 

Free form deformation for 3D design (thickness change).

FFD_VOLUME 

Free form deformation for 3D design (volume change).

PARABOLIC 

Parabolic airfoil definition as design variables.

OBSTACLE 

Obstacle for free surface optimization.

STRETCH 

Stretch one side of a channel.

enum ENUM_SENS

types of sensitivities to compute

Enumerator:
SENS_GEOMETRY 

Geometrical sensitivity.

SENS_MACH 

Mach number sensitivity.

SENS_AOA 

Angle of attack sensitivity.

SENS_AOS 

Angle of Sideslip sensitivity.

types of sensitivity smoothing

Enumerator:
NO_SMOOTH 

No smoothing.

SOBOLEV 

Sobolev gradient smoothing.

BIGRID 

Bi-grid technique smoothing.

different solver types for the CFD component

Enumerator:
NO_SOLVER 

Definition of no solver.

EULER 

Definition of the Euler's solver.

NAVIER_STOKES 

Definition of the Navier-Stokes' solver.

RANS 

Definition of the Reynolds-averaged Navier-Stokes' (RANS) solver.

ELECTRIC_POTENTIAL 

Definition of the electric potential solver.

FREE_SURFACE_EULER 

Definition of the Free Surface Euler solver.

FREE_SURFACE_NAVIER_STOKES 

Definition of the Free Surface Navier-Stokes solver.

FREE_SURFACE_RANS 

Definition of the Free Surface RANS solver.

PLASMA_EULER 

Definition of the plasma solver.

PLASMA_NAVIER_STOKES 

Definition of the plasma solver.

WAVE_EQUATION 

Definition of the wave solver.

HEAT_EQUATION 

Definition of the heat solver.

LINEAR_ELASTICITY 

Definition of the FEA solver.

FLUID_STRUCTURE_EULER 

Definition of the FEA solver.

FLUID_STRUCTURE_NAVIER_STOKES 

Definition of the FEA solver.

FLUID_STRUCTURE_RANS 

Definition of the FEA solver.

AEROACOUSTIC_EULER 

Definition of the aeroacoustic solver.

AEROACOUSTIC_NAVIER_STOKES 

Definition of the aeroacoustic solver.

AEROACOUSTIC_RANS 

Definition of the aeroacoustic solver.

ADJ_EULER 

Definition of the continuous adjoint Euler's solver.

ADJ_NAVIER_STOKES 

Definition of the continuous adjoint Navier-Stokes' solver.

ADJ_RANS 

Definition of the continuous adjoint Reynolds-averaged Navier-Stokes' (RANS) solver.

LIN_EULER 

Definition of the linear Euler's solver.

LIN_NAVIER_STOKES 

Definition of the linear Navier-Stokes' solver.

ADJ_FREE_SURFACE_EULER 

Definition of the adjoint Free Surface Euler solver.

ADJ_FREE_SURFACE_NAVIER_STOKES 

Definition of the adjoint Free Surface Navier-Stokes solver.

ADJ_FREE_SURFACE_RANS 

Definition of the adjoint Free Surface RANS solver.

ADJ_PLASMA_NAVIER_STOKES 

Definition of the adjoint plasma solver.

ADJ_PLASMA_EULER 

Definition of the adjoint plasma solver.

ADJ_AEROACOUSTIC_EULER 

Definition of the adjoint aeroacoustic Euler solver.

TEMPLATE_SOLVER 

Definition of template solver.

types of source term methods to use

Enumerator:
NO_SOURCE 

No source term.

PIECEWISE_CONSTANT 

Numerical method for source term in flow equations.

CHARGE_DIST 

Numerical method for source term in charge distribution.

SOURCE_TEMPLATE 

Template for New numerical method for source term.

types of methods used to calculate source term Jacobians

Enumerator:
NO_JACOBIAN 

No source term Jacobian.

FINITE_DIFF 

Numerical method for source term in flow equations.

AUTO_DIFF 

Numerical method for source term in charge distribution.

enum ENUM_SPACE

types of spatial discretizations

Enumerator:
NO_CONVECTIVE 

No convective scheme is used.

SPACE_CENTERED 

Space centered convective numerical method.

SPACE_UPWIND 

Upwind convective numerical method.

type of time integration schemes

Enumerator:
RUNGE_KUTTA_EXPLICIT 

Explicit Runge-Kutta time integration definition.

EULER_EXPLICIT 

Explicit Euler time integration definition.

EULER_IMPLICIT 

Implicit Euler time integration definition.

types of transition models

Enumerator:
NO_TRANS_MODEL 

No turbulence model.

LM 

Kind of Turbulence model (Menter SST).

types of turbulent models

Enumerator:
NO_TURB_MODEL 

No turbulence model.

SA 

Kind of Turbulent model (Spalart-Allmaras).

SA_COMP 

Kind of Turbulent model (Spalart-Allmaras) for compresibles flows.

SST 

Kind of Turbulence model (Menter SST).

types of schemes for unsteady computations

Enumerator:
STEADY 

A steady computation.

TIME_STEPPING 

Use a time stepping strategy for unsteady computations.

DT_STEPPING_1ST 

Use a dual time stepping strategy for unsteady computations (1st order).

DT_STEPPING_2ND 

Use a dual time stepping strategy for unsteady computations (2nd order).

ROTATIONAL_FRAME 

Use a rotational source term.

TIME_SPECTRAL 

Use a time spectral source term.

types of upwind spatial discretizations

Enumerator:
NO_UPWIND 

No upwind scheme is used.

ROE_1ST 

First order Roe's upwind numerical method.

ROE_2ND 

Second order Roe's upwind numerical method.

SCALAR_UPWIND_1ST 

First order scalar upwind numerical method.

SCALAR_UPWIND_2ND 

Second order scalar upwind numerical method.

CONVECTIVE_TEMPLATE 

Template for new numerical method .

AUSM_1ST 

First order AUSM numerical method.

AUSM_2ND 

Second order AUSM numerical method.

HLLC_1ST 

First order HLLC numerical method.

HLLC_2ND 

Second order HLLC numerical method.

SW_1ST 

First order Steger-Warming method.

SW_2ND 

Second order Steger-Warming method.

ROE_TURKEL_1ST 

First order Roe-Turkel's upwind numerical method.

ROE_TURKEL_2ND 

Second order Roe-Turkel's upwind numerical method.

types of viscous term discretizations

Enumerator:
NO_VISCOUS 

No viscous term computation.

AVG_GRAD 

Average of gradients method for viscous term computation.

AVG_GRAD_CORRECTED 

Average of gradients with correction for viscous term computation.

GALERKIN 

Galerkin method for viscous term computation.

enum GEO_TYPE

types of geometric entities based on VTK nomenclature

Enumerator:
VERTEX 

VTK nomenclature for defining a vertex element.

LINE 

VTK nomenclature for defining a line element.

TRIANGLE 

VTK nomenclature for defining a triangle element.

RECTANGLE 

VTK nomenclature for defining a rectangle element.

TETRAHEDRON 

VTK nomenclature for defining a tetrahedron element.

HEXAHEDRON 

VTK nomenclature for defining a hexahedron element.

WEDGE 

VTK nomenclature for defining a wedge element.

PYRAMID 

VTK nomenclature for defining a pyramid element.

types of action to take on a geometry structure

Enumerator:
ALLOCATE 

Allocate geometry structure.

UPDATE 

Update geometry structure (grid moving, adaptation, etc.).

enum INLET_TYPE

types inlet boundary treatments

Enumerator:
TOTAL_CONDITIONS 

User specifies total pressure, total temperature, and flow direction.

MASS_FLOW 

User specifies density and velocity (mass flow).

different types of systems

Enumerator:
RUNTIME_POT_SYS 

One-physics case, the code is solving the potential equation.

RUNTIME_FLOW_SYS 

One-physics case, the code is solving the flow equations(Euler and Navier-Stokes).

RUNTIME_TURB_SYS 

One-physics case, the code is solving the turbulence model.

RUNTIME_ELEC_SYS 

One-physics case, the code is solving the electrical potential equation.

RUNTIME_PLASMA_SYS 

One-physics case, the code is solving the plasma equations.

RUNTIME_LEVELSET_SYS 

One-physics case, the code is solving the level set equations.

RUNTIME_WAVE_SYS 

One-physics case, the code is solving the wave equation.

RUNTIME_HEAT_SYS 

One-physics case, the code is solving the heat equation.

RUNTIME_FEA_SYS 

One-physics case, the code is solving the FEA equation.

RUNTIME_ADJPOT_SYS 

One-physics case, the code is solving the adjoint potential flow equation.

RUNTIME_ADJFLOW_SYS 

One-physics case, the code is solving the adjoint equations is being solved (Euler and Navier-Stokes).

RUNTIME_ADJTURB_SYS 

One-physics case, the code is solving the adjoint turbulence model.

RUNTIME_ADJLEVELSET_SYS 

One-physics case, the code is solving the adjoint evel set equations.

RUNTIME_LINPOT_SYS 

One-physics case, the code is solving the linear potential flow equations.

RUNTIME_LINFLOW_SYS 

One-physics case, the code is solving the linear equations is being solved (Euler and Navier-Stokes).

RUNTIME_MULTIGRID_SYS 

Full Approximation Storage Multigrid system of equations.

RUNTIME_ADJPLASMA_SYS 

One-physics case, the code is solving the plasma equations.

RUNTIME_TRANS_SYS 

One-physics case, the code is solving the turbulence model.

different software components of SU2

Enumerator:
SU2_CFD 

Running the SU2_CFD software.

SU2_MDC 

Running the SU2_MDC software.

SU2_GPC 

Running the SU2_GPC software.

SU2_DDC 

Running the SU2_DDC software.

SU2_MAC 

Running the SU2_MAC software.

SU2_GDC 

Running the SU2_GDC software.

SU2_PBC 

Running the SU2_PBC software.

SU2_SMC 

Running the SU2_SMC software.

enum VERB_LEVEL

Verbosity level.

Enumerator:
VERB_NONE 

No verbosity.

VERB_MEDIUM 

Medium level of verbosity.

VERB_HIGH 

High level of verbosity.


Function Documentation

void StringToUpperCase ( string &  str) [inline]

utility function for converting strings to uppercase

Parameters:
[in,out]str- string we want to convert
string StringToUpperCase ( const string &  str) [inline]

utility function for converting strings to uppercase

Parameters:
[in]str- string we want a copy of converted to uppercase
Returns:
a copy of str in uppercase

Variable Documentation

const double ELECTRON_CHARGE = 1.60217646E-19

Universal gas constant [J kmol^-1 K^-1].

Electronic charge constant.

 All Classes Files Functions Variables Enumerations Enumerator Friends