![]() |
Stanford University Unstructured (SU2)
Version 2.0 (2013)
Software suite for the simulation and design of aerospace systems, using unstructured grid technology
|
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. | |
Defines classes for referencing options for easy input in CConfig.
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/>.
| enum ANSWER |
| enum BC_TYPE |
types of boundary conditions
| enum COMM_TYPE |
| enum ENUM_ADAPT |
types of grid adaptation/refinement
| enum ENUM_ADJOINT |
| enum ENUM_CENTERED |
| enum ENUM_CONTINUOUS_EQNS |
| enum ENUM_CONVERGE_CRIT |
| enum ENUM_DEFORM |
| enum ENUM_DISCRETE_EQNS |
| enum ENUM_GASMODEL |
| enum ENUM_GEO_ANALYTIC |
types of analytic definitions for various geometries
| enum ENUM_GRADIENT |
| enum ENUM_GRIDMOVEMENT |
types of unsteady mesh motion
| enum ENUM_INPUT |
| enum ENUM_LIMITER |
| enum ENUM_LINEAR_OBJ |
| enum ENUM_LINEAR_SOLVER |
types of solvers for solving linear systems
| enum ENUM_OBJECTIVE |
types of objective functions
| enum ENUM_OBJECTIVE_TYPE |
| enum ENUM_OUTPUT |
| enum ENUM_PARAM |
types of design parameterizations
| enum ENUM_SENS |
| enum ENUM_SENS_SMOOTHING |
| enum ENUM_SOLVER |
different solver types for the CFD component
| enum ENUM_SOURCE |
| enum ENUM_SOURCEJAC |
| enum ENUM_SPACE |
| enum ENUM_TIME_INT |
| enum ENUM_TRANS_MODEL |
| enum ENUM_TURB_MODEL |
| enum ENUM_UNSTEADY |
types of schemes for unsteady computations
| enum ENUM_UPWIND |
types of upwind spatial discretizations
| enum ENUM_VISCOUS |
| enum GEO_TYPE |
types of geometric entities based on VTK nomenclature
| enum GEOMETRY_ACTION |
| enum INLET_TYPE |
| enum RUNTIME_TYPE |
different types of systems
| enum SU2_COMPONENT |
different software components of SU2
| enum VERB_LEVEL |
| void StringToUpperCase | ( | string & | str | ) | [inline] |
utility function for converting strings to uppercase
| [in,out] | str | - string we want to convert |
| string StringToUpperCase | ( | const string & | str | ) | [inline] |
utility function for converting strings to uppercase
| [in] | str | - string we want a copy of converted to uppercase |
| const double ELECTRON_CHARGE = 1.60217646E-19 |
Universal gas constant [J kmol^-1 K^-1].
Electronic charge constant.
1.7.5.1