Documentation 6b54b78464
Loading...
Searching...
No Matches
CConfig.hpp
Go to the documentation of this file.
1/*!
2 * \file CConfig.hpp
3 * \brief All the information about the definition of the physical problem.
4 * The subroutines and functions are in the <i>CConfig.cpp</i> file.
5 * \author F. Palacios, T. Economon, B. Tracey
6 * \version 8.5.0 "Harrier"
7 *
8 * SU2 Project Website: https://su2code.github.io
9 *
10 * The SU2 Project is maintained by the SU2 Foundation
11 * (http://su2foundation.org)
12 *
13 * Copyright 2012-2026, SU2 Contributors (cf. AUTHORS.md)
14 *
15 * SU2 is free software; you can redistribute it and/or
16 * modify it under the terms of the GNU Lesser General Public
17 * License as published by the Free Software Foundation; either
18 * version 2.1 of the License, or (at your option) any later version.
19 *
20 * SU2 is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
23 * Lesser General Public License for more details.
24 *
25 * You should have received a copy of the GNU Lesser General Public
26 * License along with SU2. If not, see <http://www.gnu.org/licenses/>.
27 */
28
29#pragma once
30
32
33#include <iostream>
34#include <cstdlib>
35#include <fstream>
36#include <sstream>
37#include <string>
38#include <cstring>
39#include <vector>
40#include <array>
41#include <stdlib.h>
42#include <cmath>
43#include <map>
44#include <assert.h>
45
46#include "option_structure.hpp"
49#include "tracy_structure.hpp"
50
51#ifdef HAVE_CGNS
52#include "cgnslib.h"
53#endif
54
55using namespace std;
56
57/*!
58 * \class CConfig
59 * \brief Main class for defining the problem; basically this class reads the configuration file, and
60 * stores all the information.
61 * \author F. Palacios
62 */
63
64class CConfig {
65private:
66 SU2_MPI::Comm SU2_Communicator; /*!< \brief MPI communicator of SU2.*/
67 int rank, size; /*!< \brief MPI rank and size.*/
68 bool base_config;
69 SU2_COMPONENT Kind_SU2; /*!< \brief Kind of SU2 software component.*/
70 unsigned short Ref_NonDim; /*!< \brief Kind of non dimensionalization.*/
71 unsigned short Ref_Inc_NonDim; /*!< \brief Kind of non dimensionalization.*/
72 unsigned short Kind_AverageProcess; /*!< \brief Kind of mixing process.*/
73 unsigned short Kind_PerformanceAverageProcess; /*!< \brief Kind of mixing process.*/
74 unsigned short Kind_MixingPlaneInterface; /*!< \brief Kind of mixing process.*/
75 unsigned short Kind_SpanWise; /*!< \brief Kind of span-wise section computation.*/
76 unsigned short iZone, nZone; /*!< \brief Number of zones in the mesh. */
77 unsigned short nZoneSpecified; /*!< \brief Number of zones that are specified in config file. */
78 su2double Highlite_Area; /*!< \brief Highlite area. */
79 su2double Fan_Poly_Eff; /*!< \brief Fan polytropic effeciency. */
80 su2double MinLogResidual; /*!< \brief Minimum value of the log residual. */
81 su2double EA_ScaleFactor; /*!< \brief Equivalent Area scaling factor */
82 su2double AdjointLimit; /*!< \brief Adjoint variable limit */
83 string* ConvField; /*!< \brief Field used for convergence check.*/
84 string FluidName; /*!< \brief name of the applied fluid. */
85
86 string* WndConvField; /*!< \brief Function where to apply the windowed convergence criteria for the time average of the unsteady (single zone) flow problem. */
87 unsigned short nConvField; /*!< \brief Number of fields used to monitor convergence.*/
88 unsigned short nWndConvField; /*!< \brief Number of fields used to monitor time convergence.*/
89 unsigned short Wnd_Cauchy_Elems; /*!< \brief Number of elements to evaluate in the time iteration for convergence of the time average of the unsteady (single zone)´ flow problem. */
90 su2double Wnd_Cauchy_Eps; /*!< \brief Epsilon used for the convergence of the time average of the unsteady (single zone)´ flow problem. */
91 unsigned long Wnd_StartConv_Iter; /*!< \brief Start convergence criteria at this iteration after Start_Iter_Wnd. */
92 bool Wnd_Cauchy_Crit; /*!< \brief True => Cauchy criterion is used for time average objective function in unsteady flows. */
93
94 bool MG_AdjointFlow; /*!< \brief MG with the adjoint flow problem */
95 su2double *PressureLimits,
96 *DensityLimits,
97 TemperatureLimits[2]; /*!< \brief Limits for the primitive variables */
98 bool ActDisk_DoubleSurface; /*!< \brief actuator disk double surface */
99 bool Engine_HalfModel; /*!< \brief only half model is in the computational grid */
100 bool ActDisk_SU2_DEF; /*!< \brief actuator disk double surface */
101 unsigned short nFFD_Iter; /*!< \brief Iteration for the point inversion problem. */
102 unsigned short FFD_Blending; /*!< \brief Kind of FFD Blending function. */
103 su2double FFD_Tol; /*!< \brief Tolerance in the point inversion problem. */
104 bool FFD_IntPrev; /*!< \brief Enables self-intersection prevention procedure within the FFD box. */
105 unsigned short FFD_IntPrev_MaxIter; /*!< \brief Amount of iterations for FFD box self-intersection prevention procedure. */
106 unsigned short FFD_IntPrev_MaxDepth; /*!< \brief Maximum recursion depth for FFD box self-intersection procedure. */
107 bool ConvexityCheck; /*!< \brief Enables convexity check on all mesh elements. */
108 unsigned short ConvexityCheck_MaxIter; /*!< \brief Amount of iterations for convexity check in deformations. */
109 unsigned short ConvexityCheck_MaxDepth; /*!< \brief Maximum recursion depth for convexity check in deformations.*/
110 su2double Opt_RelaxFactor; /*!< \brief Scale factor for the line search. */
111 su2double Opt_LineSearch_Bound; /*!< \brief Bounds for the line search. */
112 su2double StartTime;
113 bool ContinuousAdjoint, /*!< \brief Flag to know if the code is solving an adjoint problem. */
114 Viscous, /*!< \brief Flag to know if the code is solving a viscous problem. */
115 EquivArea, /*!< \brief Flag to know if the code is going to compute and plot the equivalent area. */
116 Engine, /*!< \brief Flag to know if the code is going to compute a problem with engine. */
117 InvDesign_Cp, /*!< \brief Flag to know if the code is going to compute and plot the inverse design. */
118 InvDesign_HeatFlux, /*!< \brief Flag to know if the code is going to compute and plot the inverse design. */
119 Wind_Gust, /*!< \brief Flag to know if there is a wind gust. */
120 Turb_Fixed_Values, /*!< \brief Flag to know if there are fixed values for turbulence quantities in one half-plane. */
121 Aeroelastic_Simulation, /*!< \brief Flag to know if there is an aeroelastic simulation. */
122 Weakly_Coupled_Heat, /*!< \brief Flag to know if a heat equation should be weakly coupled to the incompressible solver. */
123 Rotating_Frame, /*!< \brief Flag to know if there is a rotating frame. */
124 PoissonSolver, /*!< \brief Flag to know if we are solving poisson forces in plasma solver. */
125 Low_Mach_Precon, /*!< \brief Flag to know if we are using a low Mach number preconditioner. */
126 Low_Mach_Corr, /*!< \brief Flag to know if we are using a low Mach number correction. */
127 GravityForce, /*!< \brief Flag to know if the gravity force is incuded in the formulation. */
128 VorticityConfinement, /*!< \brief Flag to know if the Vorticity Confinement is included in the formulation. */
129 SubsonicEngine, /*!< \brief Engine intake subsonic region. */
130 Frozen_Visc_Cont, /*!< \brief Flag for cont. adjoint problem with/without frozen viscosity. */
131 Frozen_Visc_Disc, /*!< \brief Flag for disc. adjoint problem with/without frozen viscosity. */
132 Frozen_Limiter_Disc, /*!< \brief Flag for disc. adjoint problem with/without frozen limiter. */
133 Inconsistent_Disc, /*!< \brief Use an inconsistent (primal/dual) discrete adjoint formulation. */
134 Sens_Remove_Sharp, /*!< \brief Flag for removing or not the sharp edges from the sensitivity computation. */
135 Hold_GridFixed, /*!< \brief Flag hold fixed some part of the mesh during the deformation. */
136 Axisymmetric, /*!< \brief Flag for axisymmetric calculations */
137 Enable_Cuda, /*!< \brief Flag for switching GPU computing*/
138 Integrated_HeatFlux, /*!< \brief Flag for heat flux BC whether it deals with integrated values.*/
139 Pressure_Based; /*!< \brief Flag to check if we are using a pressure-based system.*/
140 su2double Buffet_k; /*!< \brief Sharpness coefficient for buffet sensor.*/
141 su2double Buffet_lambda; /*!< \brief Offset parameter for buffet sensor.*/
142 su2double Damp_Engine_Inflow; /*!< \brief Damping factor for the engine inlet. */
143 su2double Damp_Engine_Exhaust; /*!< \brief Damping factor for the engine exhaust. */
144 unsigned long Bc_Eval_Freq; /*!< \brief Evaluation frequency for Engine and Actuator disk markers. */
145 su2double Damp_Res_Restric, /*!< \brief Damping factor for the residual restriction. */
146 Damp_Correc_Prolong; /*!< \brief Damping factor for the correction prolongation. */
147 su2double Position_Plane; /*!< \brief Position of the Near-Field (y coordinate 2D, and z coordinate 3D). */
148 su2double WeightCd; /*!< \brief Weight of the drag coefficient. */
149 su2double dCD_dCL; /*!< \brief Fixed Cl mode derivate . */
150 su2double dCMx_dCL; /*!< \brief Fixed Cl mode derivate. */
151 su2double dCMy_dCL; /*!< \brief Fixed Cl mode derivate. */
152 su2double dCMz_dCL; /*!< \brief Fixed Cl mode derivate. */
153 su2double CL_Target; /*!< \brief Fixed Cl mode Target Cl. */
154 su2double Confinement_Param; /*!< \brief Confinement paramenter for Vorticity Confinement method. */
155 TIME_MARCHING TimeMarching; /*!< \brief Steady or unsteady (time stepping or dual time stepping) computation. */
156 su2double FixAzimuthalLine; /*!< \brief Fix an azimuthal line due to misalignments of the nearfield. */
157 su2double **DV_Value; /*!< \brief Previous value of the design variable. */
158 su2double Venkat_LimiterCoeff; /*!< \brief Limiter coefficient */
159 unsigned long LimiterIter; /*!< \brief Freeze the value of the limiter after a number of iterations */
160 su2double AdjSharp_LimiterCoeff; /*!< \brief Coefficient to identify the limit of a sharp edge. */
161 unsigned short SystemMeasurements; /*!< \brief System of measurements. */
162 ENUM_REGIME Kind_Regime; /*!< \brief Kind of flow regime: in/compressible. */
163 unsigned short *Kind_ObjFunc; /*!< \brief Kind of objective function. */
164 su2double *Weight_ObjFunc; /*!< \brief Weight applied to objective function. */
165 unsigned short Kind_SensSmooth; /*!< \brief Kind of sensitivity smoothing technique. */
166 unsigned short Continuous_Eqns; /*!< \brief Which equations to treat continuously (Hybrid adjoint)*/
167 unsigned short Discrete_Eqns; /*!< \brief Which equations to treat discretely (Hybrid adjoint). */
168 unsigned short *Design_Variable; /*!< \brief Kind of design variable. */
169 unsigned short nTimeInstances; /*!< \brief Number of periodic time instances for harmonic balance. */
170 su2double HarmonicBalance_Period; /*!< \brief Period of oscillation to be used with harmonic balance computations. */
171 su2double Delta_UnstTime, /*!< \brief Time step for unsteady computations. */
172 Delta_UnstTimeND; /*!< \brief Time step for unsteady computations (non dimensional). */
173 su2double Total_UnstTime, /*!< \brief Total time for unsteady computations. */
174 Total_UnstTimeND; /*!< \brief Total time for unsteady computations (non dimensional). */
175 su2double Current_UnstTime, /*!< \brief Global time of the unsteady simulation. */
176 Current_UnstTimeND; /*!< \brief Global time of the unsteady simulation. */
177 unsigned short nMarker_Euler, /*!< \brief Number of Euler wall markers. */
178 nMarker_FarField, /*!< \brief Number of far-field markers. */
179 nMarker_Custom, /*!< \brief Number of custom markers. */
180 nMarker_SymWall, /*!< \brief Number of symmetry wall markers. */
181 nMarker_PerBound, /*!< \brief Number of periodic boundary markers. */
182 nMarker_MixingPlaneInterface, /*!< \brief Number of mixing plane interface boundary markers. */
183 nMarker_Turbomachinery, /*!< \brief Number turbomachinery markers. */
184 nMarker_TurboPerformance, /*!< \brief Number of turboperformance markers. */
185 nSpanWiseSections_User, /*!< \brief Number of spanwise sections to compute 3D BC and Performance for turbomachinery */
186 nMarker_Shroud, /*!< \brief Number of shroud markers to set grid velocity to 0.*/
187 nMarker_NearFieldBound, /*!< \brief Number of near field boundary markers. */
188 nMarker_ActDiskInlet, /*!< \brief Number of actuator disk inlet markers. */
189 nMarker_ActDiskOutlet, /*!< \brief Number of actuator disk outlet markers. */
190 nMarker_ActDiskBemInlet_CG, /*!< \brief Number of actuator disk BEM inlet markers passed to MARKER_ACTDISK_BEM_CG. */
191 nMarker_ActDiskBemOutlet_CG, /*!< \brief Number of actuator disk BEM outlet markers passed to MARKER_ACTDISK_BEM_CG. */
192 nMarker_ActDiskBemInlet_Axis, /*!< \brief Number of actuator disk BEM inlet markers passed to MARKER_ACTDISK_BEM_AXIS. */
193 nMarker_ActDiskBemOutlet_Axis, /*!< \brief Number of actuator disk BEM outlet markers passed to MARKER_ACTDISK_BEM_AXIS. */
194 nMarker_Deform_Mesh_Sym_Plane, /*!< \brief Number of markers with symmetric deformation */
195 nMarker_Deform_Mesh, /*!< \brief Number of deformable markers at the boundary. */
196 nMarker_Deform_Mesh_Internal, /*!< \brief Number of internal markers allowed to freely deform. */
197 nMarker_Fluid_Load, /*!< \brief Number of markers in which the flow load is computed/employed. */
198 nMarker_Fluid_InterfaceBound, /*!< \brief Number of fluid interface markers. */
199 nMarker_CHTInterface, /*!< \brief Number of conjugate heat transfer interface markers. */
200 nMarker_ContactResistance, /*!< \brief Number of CHT interfaces with contact resistance. */
201 nMarker_Inlet, /*!< \brief Number of inlet flow markers. */
202 nMarker_Inlet_Species, /*!< \brief Number of inlet species markers. */
203 nSpecies_per_Inlet, /*!< \brief Number of species defined per inlet markers. */
204 nMarker_Wall_Species, /*!< \brief Number of wall species markers. */
205 nSpecies_per_Wall, /*!< \brief Number of species defined per wall markers. */
206 nMarker_Inlet_Turb, /*!< \brief Number of inlet turbulent markers. */
207 nTurb_Properties, /*!< \brief Number of turbulent properties per inlet markers. */
208 nMarker_Riemann, /*!< \brief Number of Riemann flow markers. */
209 nMarker_Giles, /*!< \brief Number of Giles flow markers. */
210 nRelaxFactor_Giles, /*!< \brief Number of relaxation factors for Giles markers. */
211 nMarker_Supersonic_Inlet, /*!< \brief Number of supersonic inlet flow markers. */
212 nMarker_Supersonic_Outlet, /*!< \brief Number of supersonic outlet flow markers. */
213 nMarker_Outlet, /*!< \brief Number of outlet flow markers. */
214 nMarker_Smoluchowski_Maxwell, /*!< \brief Number of smoluchowski/maxwell wall boundaries. */
215 nMarker_Isothermal, /*!< \brief Number of isothermal wall boundaries. */
216 nMarker_HeatFlux, /*!< \brief Number of constant heat flux wall boundaries. */
217 nMarker_HeatTransfer, /*!< \brief Number of heat-transfer/convection wall boundaries. */
218 nMarker_EngineExhaust, /*!< \brief Number of nacelle exhaust flow markers. */
219 nMarker_EngineInflow, /*!< \brief Number of nacelle inflow flow markers. */
220 nMarker_Clamped, /*!< \brief Number of clamped markers in the FEM. */
221 nMarker_Displacement, /*!< \brief Number of displacement surface markers. */
222 nMarker_Load, /*!< \brief Number of load surface markers. */
223 nMarker_Damper, /*!< \brief Number of damper surface markers. */
224 nMarker_Load_Dir, /*!< \brief Number of load surface markers defined by magnitude and direction. */
225 nMarker_Disp_Dir, /*!< \brief Number of load surface markers defined by magnitude and direction. */
226 nMarker_Internal, /*!< \brief Number of internal flow markers. */
227 nMarker_All, /*!< \brief Total number of markers using the grid information. */
228 nMarker_Max, /*!< \brief Max number of number of markers using the grid information. */
229 nMarker_CfgFile; /*!< \brief Total number of markers using the config file (note that in
230 parallel computations this number can be different from nMarker_All). */
231
232 bool Inlet_From_File; /*!< \brief True if the inlet profile is to be loaded from a file. */
233 string Inlet_Filename; /*!< \brief Filename specifying an inlet profile. */
234 su2double Inlet_Matching_Tol; /*!< \brief Tolerance used when matching a point to a point from the inlet file. */
235 string ActDisk_FileName; /*!< \brief Filename specifying an actuator disk. */
236
237 string *Marker_Euler, /*!< \brief Euler wall markers. */
238 *Marker_FarField, /*!< \brief Far field markers. */
239 *Marker_Custom,
240 *Marker_SymWall, /*!< \brief Symmetry wall markers. */
241 *Marker_PerBound, /*!< \brief Periodic boundary markers. */
242 *Marker_PerDonor, /*!< \brief Rotationally periodic boundary donor markers. */
243 *Marker_MixingPlaneInterface, /*!< \brief MixingPlane interface boundary markers. */
244 *Marker_TurboBoundIn, /*!< \brief Turbomachinery performance boundary markers. */
245 *Marker_TurboBoundOut, /*!< \brief Turbomachinery performance boundary donor markers. */
246 *Marker_Turbomachinery, /*!< \breif Turbomachinery markers */
247 *Marker_NearFieldBound, /*!< \brief Near Field boundaries markers. */
248 *Marker_Deform_Mesh, /*!< \brief Deformable markers at the boundary. */
249 *Marker_Deform_Mesh_Sym_Plane, /*!< \brief Marker with symmetric deformation. */
250 *Marker_Deform_Mesh_Internal, /*!< \brief Internal marker allowed to freely deform. */
251 *Marker_Fluid_Load, /*!< \brief Markers in which the flow load is computed/employed. */
252 *Marker_Fluid_InterfaceBound, /*!< \brief Fluid interface markers. */
253 *Marker_CHTInterface, /*!< \brief Conjugate heat transfer interface markers. */
254 *Marker_ActDiskInlet, /*!< \brief Actuator disk inlet markers. */
255 *Marker_ActDiskOutlet, /*!< \brief Actuator disk outlet markers. */
256 *Marker_ActDiskBemInlet_CG, /*!< \brief Actuator disk BEM inlet markers passed to MARKER_ACTDISK_BEM_CG. */
257 *Marker_ActDiskBemOutlet_CG, /*!< \brief Actuator disk BEM outlet markers passed to MARKER_ACTDISK_BEM_CG. */
258 *Marker_ActDiskBemInlet_Axis, /*!< \brief Actuator disk BEM inlet markers passed to MARKER_ACTDISK_BEM_AXIS. */
259 *Marker_ActDiskBemOutlet_Axis, /*!< \brief Actuator disk BEM outlet markers passed to MARKER_ACTDISK_BEM_AXIS. */
260 *Marker_Inlet, /*!< \brief Inlet flow markers. */
261 *Marker_Inlet_Species, /*!< \brief Inlet species markers. */
262 *Marker_Wall_Species, /*!< \brief Wall species markers. */
263 *Marker_Inlet_Turb, /*!< \brief Inlet turbulent markers. */
264 *Marker_Riemann, /*!< \brief Riemann markers. */
265 *Marker_Giles, /*!< \brief Giles markers. */
266 *Marker_Shroud, /*!< \brief Shroud markers. */
267 *Marker_Supersonic_Inlet, /*!< \brief Supersonic inlet flow markers. */
268 *Marker_Supersonic_Outlet, /*!< \brief Supersonic outlet flow markers. */
269 *Marker_Outlet, /*!< \brief Outlet flow markers. */
270 *Marker_Smoluchowski_Maxwell, /*!< \brief Smoluchowski/Maxwell wall markers. */
271 *Marker_Isothermal, /*!< \brief Isothermal wall markers. */
272 *Marker_HeatFlux, /*!< \brief Constant heat flux wall markers. */
273 *Marker_HeatTransfer, /*!< \brief Heat-transfer/convection markers. */
274 *Marker_RoughWall, /*!< \brief Constant heat flux wall markers. */
275 *Marker_EngineInflow, /*!< \brief Engine Inflow flow markers. */
276 *Marker_EngineExhaust, /*!< \brief Engine Exhaust flow markers. */
277 *Marker_Clamped, /*!< \brief Clamped markers. */
278 *Marker_Displacement, /*!< \brief Displacement markers. */
279 *Marker_Load, /*!< \brief Load markers. */
280 *Marker_Damper, /*!< \brief Damper markers. */
281 *Marker_Load_Dir, /*!< \brief Load markers defined in cartesian coordinates. */
282 *Marker_Disp_Dir, /*!< \brief Load markers defined in cartesian coordinates. */
283 *Marker_Load_Sine, /*!< \brief Sine-wave loaded markers defined in cartesian coordinates. */
284 *Marker_Internal, /*!< \brief Internal flow markers. */
285 *Marker_All_TagBound; /*!< \brief Global index for markers using grid information. */
286
287 su2double *Exhaust_Temperature_Target; /*!< \brief Specified total temperatures for nacelle boundaries. */
288 su2double *Exhaust_Pressure_Target; /*!< \brief Specified total pressures for nacelle boundaries. */
289 su2double *Inlet_Ttotal; /*!< \brief Specified total temperatures for inlet boundaries. */
290 su2double *Riemann_Var1, *Riemann_Var2; /*!< \brief Specified values for Riemann boundary. */
291 su2double **Riemann_FlowDir; /*!< \brief Specified flow direction vector (unit vector) for Riemann boundaries. */
292 su2double *Giles_Var1, *Giles_Var2,
293 *RelaxFactorAverage, *RelaxFactorFourier; /*!< \brief Specified values for Giles BC. */
294 su2double **Giles_FlowDir; /*!< \brief Specified flow direction vector (unit vector) for Giles BC. */
295 su2double *Inlet_Ptotal; /*!< \brief Specified total pressures for inlet boundaries. */
296 su2double **Inlet_FlowDir; /*!< \brief Specified flow direction vector (unit vector) for inlet boundaries. */
297 su2double *Inlet_Temperature; /*!< \brief Specified temperatures for a supersonic inlet boundaries. */
298 su2double *Inlet_Pressure; /*!< \brief Specified static pressures for supersonic inlet boundaries. */
299 su2double **Inlet_Velocity; /*!< \brief Specified flow velocity vectors for supersonic inlet boundaries. */
300 su2double **Inlet_SpeciesVal; /*!< \brief Specified species vector for inlet boundaries. */
301 su2double **Inlet_TurbVal; /*!< \brief Specified turbulent intensity and viscosity ratio for inlet boundaries. */
302 WALL_SPECIES_TYPE **Kind_Wall_Species; /*!< \brief Species boundary condition type for wall boundaries (FLUX or VALUE) per species. */
303 su2double **Wall_SpeciesVal; /*!< \brief Specified species flux or value for wall boundaries per species. */
304 su2double *EngineInflow_Target; /*!< \brief Specified fan face targets for nacelle boundaries. */
305 su2double *Inflow_Mach; /*!< \brief Specified fan face mach for nacelle boundaries. */
306 su2double *Inflow_Pressure; /*!< \brief Specified fan face pressure for nacelle boundaries. */
307 su2double *Inflow_MassFlow; /*!< \brief Specified fan face massflow for nacelle boundaries. */
308 su2double *Inflow_ReverseMassFlow; /*!< \brief Specified fan face reverse massflow for nacelle boundaries. */
309 su2double *Inflow_TotalPressure; /*!< \brief Specified fan face total pressure for nacelle boundaries. */
310 su2double *Inflow_Temperature; /*!< \brief Specified fan face temperature for nacelle boundaries. */
311 su2double *Inflow_TotalTemperature; /*!< \brief Specified fan face total temperature for nacelle boundaries. */
312 su2double *Inflow_RamDrag; /*!< \brief Specified fan face ram drag for nacelle boundaries. */
313 su2double *Inflow_Force; /*!< \brief Specified force for nacelle boundaries. */
314 su2double *Inflow_Power; /*!< \brief Specified power for nacelle boundaries. */
315 su2double *Exhaust_Pressure; /*!< \brief Specified exhaust pressure for nacelle boundaries. */
316 su2double *Exhaust_Temperature; /*!< \brief Specified exhaust temperature for nacelle boundaries. */
317 su2double *Exhaust_MassFlow; /*!< \brief Specified exhaust mass flow for nacelle boundaries. */
318 su2double *Exhaust_TotalPressure; /*!< \brief Specified exhaust total pressure for nacelle boundaries. */
319 su2double *Exhaust_TotalTemperature; /*!< \brief Specified exhaust total temperature for nacelle boundaries. */
320 su2double *Exhaust_GrossThrust; /*!< \brief Specified exhaust gross thrust for nacelle boundaries. */
321 su2double *Exhaust_Force; /*!< \brief Specified exhaust force for nacelle boundaries. */
322 su2double *Exhaust_Power; /*!< \brief Specified exhaust power for nacelle boundaries. */
323 su2double *Engine_Power; /*!< \brief Specified engine power for nacelle boundaries. */
324 su2double *Engine_Mach; /*!< \brief Specified engine mach for nacelle boundaries. */
325 su2double *Engine_Force; /*!< \brief Specified engine force for nacelle boundaries. */
326 su2double *Engine_NetThrust; /*!< \brief Specified engine net thrust for nacelle boundaries. */
327 su2double *Engine_GrossThrust; /*!< \brief Specified engine gross thrust for nacelle boundaries. */
328 su2double *Engine_Area; /*!< \brief Specified engine area for nacelle boundaries. */
329 su2double *Outlet_Pressure; /*!< \brief Specified back pressures (static) for outlet boundaries. */
330 su2double *Isothermal_Temperature; /*!< \brief Specified isothermal wall temperatures (static). */
331 su2double *HeatTransfer_Coeff; /*!< \brief Specified heat transfer coefficients. */
332 su2double *HeatTransfer_WallTemp; /*!< \brief Specified temperatures at infinity alongside heat transfer coefficients. */
333 su2double *Heat_Flux; /*!< \brief Specified wall heat fluxes. */
334 su2double *Roughness_Height; /*!< \brief Equivalent sand grain roughness for the marker according to config file. */
335 su2double *Displ_Value; /*!< \brief Specified displacement for displacement boundaries. */
336 su2double *Load_Value; /*!< \brief Specified force for load boundaries. */
337 su2double *Damper_Constant; /*!< \brief Specified constant for damper boundaries. */
338 su2double *Load_Dir_Value; /*!< \brief Specified force for load boundaries defined in cartesian coordinates. */
339 su2double *Load_Dir_Multiplier; /*!< \brief Specified multiplier for load boundaries defined in cartesian coordinates. */
340 su2double *Disp_Dir_Value; /*!< \brief Specified force for load boundaries defined in cartesian coordinates. */
341 su2double *Disp_Dir_Multiplier; /*!< \brief Specified multiplier for load boundaries defined in cartesian coordinates. */
342 su2double **Load_Dir; /*!< \brief Specified flow direction vector (unit vector) for inlet boundaries. */
343 su2double **Disp_Dir; /*!< \brief Specified structural displacement direction (unit vector). */
344 su2double *ActDiskInlet_MassFlow; /*!< \brief Specified inlet mass flow for actuator disk. */
345 su2double *ActDiskInlet_Temperature; /*!< \brief Specified inlet temperature for actuator disk. */
346 su2double *ActDiskInlet_TotalTemperature; /*!< \brief Specified inlet total temperature for actuator disk. */
347 su2double *ActDiskInlet_Pressure; /*!< \brief Specified inlet pressure for actuator disk. */
348 su2double *ActDiskInlet_TotalPressure; /*!< \brief Specified inlet total pressure for actuator disk. */
349 su2double *ActDiskInlet_RamDrag; /*!< \brief Specified inlet ram drag for actuator disk. */
350 su2double *ActDiskInlet_Force; /*!< \brief Specified inlet force for actuator disk. */
351 su2double *ActDiskInlet_Power; /*!< \brief Specified inlet power for actuator disk. */
352 su2double *ActDiskOutlet_MassFlow; /*!< \brief Specified outlet mass flow for actuator disk. */
353 su2double *ActDiskOutlet_Temperature; /*!< \brief Specified outlet temperature for actuator disk. */
354 su2double *ActDiskOutlet_TotalTemperature; /*!< \brief Specified outlet total temperatur for actuator disk. */
355 su2double *ActDiskOutlet_Pressure; /*!< \brief Specified outlet pressure for actuator disk. */
356 su2double *ActDiskOutlet_TotalPressure; /*!< \brief Specified outlet total pressure for actuator disk. */
357 su2double *ActDiskOutlet_GrossThrust; /*!< \brief Specified outlet gross thrust for actuator disk. */
358 su2double *ActDiskOutlet_Force; /*!< \brief Specified outlet force for actuator disk. */
359 su2double *ActDiskOutlet_Power; /*!< \brief Specified outlet power for actuator disk. */
360 su2double *ActDiskOutlet_Thrust_BEM; /*!< \brief Specified outlet thrust for actuator disk. */
361 su2double *ActDiskOutlet_Torque_BEM; /*!< \brief Specified outlet torque for actuator disk. */
362 su2double **ActDisk_PressJump,
363 **ActDisk_TempJump, **ActDisk_Omega; /*!< \brief Specified deltas for actuator disk.*/
364 su2double **ActDiskBem_CG[3]; /*!< \brief Specified center for actuator disk BEM.*/
365 su2double **ActDiskBem_Axis[3]; /*!< \brief Specified axis for actuator disk BEM.*/
366 su2double BEM_blade_angle; /*!< \brief Propeller blade angle.*/
367 string BEM_prop_filename; /*!< \brief Propeller filename.*/
368 unsigned short ActDiskBem_Frequency; /*!< \brief Frequency of updating actuator disk with BEM. */
369 su2double *ActDisk_DeltaPress; /*!< \brief Specified pressure delta for actuator disk. */
370 su2double *ActDisk_DeltaTemp; /*!< \brief Specified temperature delta for actuator disk. */
371 su2double *ActDisk_TotalPressRatio; /*!< \brief Specified tot. pres. ratio for actuator disk. */
372 su2double *ActDisk_TotalTempRatio; /*!< \brief Specified tot. temp. ratio for actuator disk. */
373 su2double *ActDisk_StaticPressRatio; /*!< \brief Specified press. ratio for actuator disk. */
374 su2double *ActDisk_StaticTempRatio; /*!< \brief Specified temp. ratio for actuator disk. */
375 su2double *ActDisk_Power; /*!< \brief Specified power for actuator disk. */
376 su2double *ActDisk_MassFlow; /*!< \brief Specified mass flow for actuator disk. */
377 su2double *ActDisk_Mach; /*!< \brief Specified mach for actuator disk. */
378 su2double *ActDisk_Force; /*!< \brief Specified force for actuator disk. */
379 su2double *Outlet_MassFlow; /*!< \brief Mass flow for outlet boundaries. */
380 su2double *Outlet_Density; /*!< \brief Avg. density for outlet boundaries. */
381 su2double *Outlet_Area; /*!< \brief Area for outlet boundaries. */
382 su2double *Surface_MassFlow; /*!< \brief Massflow at the boundaries. */
383 su2double *Surface_Mach; /*!< \brief Mach number at the boundaries. */
384 su2double *Surface_Temperature; /*!< \brief Temperature at the boundaries. */
385 su2double *Surface_Pressure; /*!< \brief Pressure at the boundaries. */
386 su2double *Surface_Density; /*!< \brief Density at the boundaries. */
387 su2double *Surface_Enthalpy; /*!< \brief Enthalpy at the boundaries. */
388 su2double *Surface_NormalVelocity; /*!< \brief Normal velocity at the boundaries. */
389 su2double *Surface_Uniformity; /*!< \brief Integral measure of the streamwise uniformity (absolute) at the boundaries (non-dim). */
390 su2double *Surface_SecondaryStrength; /*!< \brief Integral measure of the strength of secondary flows (absolute) at the boundaries (non-dim). */
391 su2double *Surface_SecondOverUniform; /*!< \brief Integral measure of the strength of secondary flows (relative to streamwise) at the boundaries (non-dim). */
392 su2double *Surface_MomentumDistortion; /*!< \brief Integral measure of the streamwise uniformity (relative to plug flow) at the boundaries (non-dim). */
393 su2double *Surface_TotalTemperature; /*!< \brief Total temperature at the boundaries. */
394 su2double *Surface_TotalPressure; /*!< \brief Total pressure at the boundaries. */
395 su2double *Surface_PressureDrop; /*!< \brief Pressure drop between boundaries. */
396 su2double* Surface_Species_0; /*!< \brief Average Species_0 at the boundaries. */
397 su2double* Surface_Species_Variance; /*!< \brief Species Variance at the boundaries. */
398 su2double *Surface_DC60; /*!< \brief Specified surface DC60 for nacelle boundaries. */
399 su2double *Surface_IDC; /*!< \brief Specified IDC for nacelle boundaries. */
400 su2double *Surface_IDC_Mach; /*!< \brief Specified IDC mach for nacelle boundaries. */
401 su2double *Surface_IDR; /*!< \brief Specified surface IDR for nacelle boundaries. */
402 su2double *ActDisk_NetThrust; /*!< \brief Specified net thrust for nacelle boundaries. */
403 su2double *ActDisk_BCThrust; /*!< \brief Specified bc thrust for nacelle boundaries. */
404 su2double *ActDisk_BCThrust_Old; /*!< \brief Specified old bc thrust for nacelle boundaries. */
405 su2double *ActDisk_GrossThrust; /*!< \brief Specified gross thrust for nacelle boundaries. */
406 su2double *ActDisk_Area; /*!< \brief Specified area for nacelle boundaries. */
407 su2double *ActDisk_ReverseMassFlow; /*!< \brief Specified fan face mach for nacelle boundaries. */
408 su2double **Periodic_RotCenter; /*!< \brief Rotational center for each periodic boundary. */
409 su2double **Periodic_RotAngles; /*!< \brief Rotation angles for each periodic boundary. */
410 su2double **Periodic_Translation; /*!< \brief Translation vector for each periodic boundary. */
411 su2double *CHT_ContactResistance; /*!< \brief Contact resistance values for each solid-solid CHT interface. */
412 string *Marker_CfgFile_TagBound; /*!< \brief Global index for markers using config file. */
413 unsigned short *Marker_All_KindBC, /*!< \brief Global index for boundaries using grid information. */
414 *Marker_CfgFile_KindBC; /*!< \brief Global index for boundaries using config file. */
415 short *Marker_All_SendRecv; /*!< \brief Information about if the boundary is sended (+), received (-). */
416 short *Marker_All_PerBound; /*!< \brief Global index for periodic bc using the grid information. */
417
418 unsigned long ExtIter; /*!< \brief Current external iteration number. */
419 unsigned long ExtIter_OffSet; /*!< \brief External iteration number offset. */
420 unsigned long IntIter; /*!< \brief Current internal iteration number. */
421 unsigned long OuterIter; /*!< \brief Current Outer iterations for multizone problems. */
422 unsigned long InnerIter; /*!< \brief Current inner iterations for multizone problems. */
423 unsigned long TimeIter; /*!< \brief Current time iterations for multizone problems. */
424 long Unst_AdjointIter; /*!< \brief Iteration number to begin the reverse time integration in the direct solver for the unsteady adjoint. */
425 long Iter_Avg_Objective; /*!< \brief Iteration the number of time steps to be averaged, counting from the back */
426 su2double PhysicalTime; /*!< \brief Physical time at the current iteration in the solver for unsteady problems. */
427
428 unsigned short nLevels_TimeAccurateLTS; /*!< \brief Number of time levels for time accurate local time stepping. */
429 unsigned short nTimeDOFsADER_DG; /*!< \brief Number of time DOFs used in the predictor step of ADER-DG. */
430 su2double *TimeDOFsADER_DG; /*!< \brief The location of the ADER-DG time DOFs on the interval [-1,1]. */
431 unsigned short nTimeIntegrationADER_DG; /*!< \brief Number of time integration points ADER-DG. */
432 su2double *TimeIntegrationADER_DG; /*!< \brief The location of the ADER-DG time integration points on the interval [-1,1]. */
433 su2double *WeightsIntegrationADER_DG; /*!< \brief The weights of the ADER-DG time integration points on the interval [-1,1]. */
434 unsigned short nRKStep; /*!< \brief Number of steps of the explicit Runge-Kutta method. */
435 su2double *RK_Alpha_Step; /*!< \brief Runge-Kutta beta coefficients. */
436
437 unsigned short nQuasiNewtonSamples; /*!< \brief Number of samples used in quasi-Newton solution methods. */
438 bool UseVectorization; /*!< \brief Whether to use vectorized numerics schemes. */
439 bool NewtonKrylov; /*!< \brief Use a coupled Newton method to solve the flow equations. */
440 array<unsigned short,4> NK_IntParam{{20, 3, 2, 0}}; /*!< \brief Integer parameters for NK method. */
441 array<su2double,5> NK_DblParam{{-2.0, 0.1, -3.0, 1e-4, 1.0}}; /*!< \brief Floating-point parameters for NK method. */
442 su2double NK_Relaxation = 1.0;
443
444 unsigned short nMGLevels; /*!< \brief Number of multigrid levels (coarse levels). */
445 unsigned short nCFL; /*!< \brief Number of CFL, one for each multigrid level. */
447 CFLRedCoeff_Turb, /*!< \brief CFL reduction coefficient on the LevelSet problem. */
448 CFLRedCoeff_AdjFlow, /*!< \brief CFL reduction coefficient for the adjoint problem. */
449 CFLRedCoeff_AdjTurb, /*!< \brief CFL reduction coefficient for the adjoint turbulent problem. */
450 CFLRedCoeff_Species, /*!< \brief CFL reduction coefficient on the species problem. */
451 CFLFineGrid, /*!< \brief CFL of the finest grid. */
452 Max_DeltaTime, /*!< \brief Max delta time. */
453 Unst_CFL; /*!< \brief Unsteady CFL number. */
454
455 TURBO_PERF_KIND *Kind_TurboPerf; /*!< \brief Kind of turbomachynery architecture.*/
456 TURBOMACHINERY_TYPE *Kind_TurboMachinery;
457 su2vector<TURBO_INTERFACE_KIND> Kind_TurboInterface;
458
459 /* Gradient smoothing options */
460 su2double SmoothingEps1; /*!< \brief Parameter for the identity part in gradient smoothing. */
461 su2double SmoothingEps2; /*!< \brief Parameter for the Laplace part in gradient smoothing. */
462 bool SmoothGradient; /*!< \brief Flag for enabling gradient smoothing. */
463 bool SmoothSepDim; /*!< \brief Flag for enabling separated calculation for every dimension. */
464 bool SmoothOnSurface; /*!< \brief Flag for assembling the system only on the surface. */
465 bool SmoothDirichletSurfaceBound; /*!< \brief Flag for using zero Dirichlet boundary in the surface case. */
466 ENUM_SOBOLEV_MODUS SmoothNumMode; /*!< \brief The mode in which the Sobolev smoothing solver is applied. */
467
468 unsigned short Kind_Grad_Linear_Solver, /*!< Numerical method to smooth the gradient */
469 Kind_Grad_Linear_Solver_Prec; /*!< \brief Preconditioner of the linear solver. */
470 su2double Grad_Linear_Solver_Error; /*!< \brief Min error of the linear solver for the gradient smoothing. */
471 unsigned long Grad_Linear_Solver_Iter; /*!< \brief Max iterations of the linear solver for the gradient smoothing. */
472
473 bool ReorientElements; /*!< \brief Flag for enabling element reorientation. */
474 string CustomObjFunc; /*!< \brief User-defined objective function. */
475 string CustomOutputs; /*!< \brief User-defined functions for outputs. */
476 unsigned short nDV, /*!< \brief Number of design variables. */
477 nObj, nObjW; /*!< \brief Number of objective functions. */
478 unsigned short* nDV_Value; /*!< \brief Number of values for each design variable (might be different than 1 if we allow arbitrary movement). */
479 unsigned short nFFDBox; /*!< \brief Number of ffd boxes. */
480 unsigned short nTurboMachineryKind; /*!< \brief Number turbomachinery types specified. */
481 unsigned short nTurboInterfaces; /*!< \brief Number of turbomachiery interfaces */
482 unsigned short nParamDV; /*!< \brief Number of parameters of the design variable. */
483 string DV_Filename; /*!< \brief Filename for providing surface positions from an external parameterization. */
484 string DV_Unordered_Sens_Filename; /*!< \brief Filename of volume sensitivities in an unordered ASCII format. */
485 string DV_Sens_Filename; /*!< \brief Filename of surface sensitivities written to an unordered ASCII format. */
486 unsigned short
487 Sensitivity_FileFormat; /*!< \brief Format of the input volume sensitivity files (SU2_DOT). */
488 su2double **ParamDV; /*!< \brief Parameters of the design variable. */
489 su2double **CoordFFDBox; /*!< \brief Coordinates of the FFD boxes. */
490 unsigned short **DegreeFFDBox; /*!< \brief Degree of the FFD boxes. */
491 string *FFDTag; /*!< \brief Parameters of the design variable. */
492 string *TagFFDBox; /*!< \brief Tag of the FFD box. */
493 unsigned short GeometryMode; /*!< \brief Geometry mode (analysis or gradient computation). */
494 unsigned short FinestMesh; /*!< \brief Finest mesh for the full multigrid approach. */
495 unsigned short nFFD_Fix_IDir,
496 nFFD_Fix_JDir, nFFD_Fix_KDir; /*!< \brief Number of planes fixed in the FFD. */
497 short *FFD_Fix_IDir,
498 *FFD_Fix_JDir, *FFD_Fix_KDir; /*!< \brief Exact sections. */
499 su2double *LocationStations; /*!< \brief Airfoil sections in wing slicing subroutine. */
500
501 MG_CYCLE Kind_MGCycle; /*!< \brief Kind of multigrid cycle. */
502 ENUM_MULTIZONE Kind_MZSolver; /*!< \brief Kind of multizone solver. */
503 INC_DENSITYMODEL Kind_DensityModel; /*!< \brief Kind of the density model for incompressible flows. */
504 CHT_COUPLING Kind_CHT_Coupling; /*!< \brief Kind of coupling method used at CHT interfaces. */
505 VISCOSITYMODEL Kind_ViscosityModel; /*!< \brief Kind of the Viscosity Model*/
506 MIXINGVISCOSITYMODEL Kind_MixingViscosityModel; /*!< \brief Kind of the mixing Viscosity Model*/
507 CONDUCTIVITYMODEL Kind_ConductivityModel; /*!< \brief Kind of the Thermal Conductivity Model */
508 CONDUCTIVITYMODEL_TURB Kind_ConductivityModel_Turb; /*!< \brief Kind of the Turbulent Thermal Conductivity Model */
509 DIFFUSIVITYMODEL Kind_Diffusivity_Model; /*!< \brief Kind of the mass diffusivity Model */
510 FREESTREAM_OPTION Kind_FreeStreamOption; /*!< \brief Kind of free stream option to choose if initializing with density or temperature */
511 INIT_OPTION_INC Kind_InitOption_Inc; /*!< \brief Kind of initialization of the incompressible solver. */
512 MAIN_SOLVER Kind_Solver; /*!< \brief Kind of solver: Euler, NS, Continuous adjoint, etc. */
513 LIMITER Kind_SlopeLimit, /*!< \brief Slope limiter (for the runtime eq. system). */
514 Kind_SlopeLimit_Flow, /*!< \brief Slope limiter for flow equations.*/
515 Kind_SlopeLimit_Turb, /*!< \brief Slope limiter for the turbulence equation.*/
516 Kind_SlopeLimit_AdjTurb, /*!< \brief Slope limiter for the adjoint turbulent equation.*/
517 Kind_SlopeLimit_AdjFlow, /*!< \brief Slope limiter for the adjoint equation.*/
518 Kind_SlopeLimit_Heat, /*!< \brief Slope limiter for the adjoint equation.*/
519 Kind_SlopeLimit_Species; /*!< \brief Slope limiter for the species equation.*/
520 LINEAR_SOLVER_INNER Kind_Linear_Solver_Inner; /*!< \brief Inner solver used in nested Krylov schemes. */
521 unsigned short Kind_FluidModel, /*!< \brief Kind of the Fluid Model: Ideal, van der Waals, etc. */
522 Kind_InitOption, /*!< \brief Kind of Init option to choose if initializing with Reynolds number or with thermodynamic conditions */
523 Kind_GridMovement, /*!< \brief Kind of the static mesh movement. */
524 *Kind_SurfaceMovement, /*!< \brief Kind of the static mesh movement. */
525 nKind_SurfaceMovement, /*!< \brief Kind of the dynamic mesh movement. */
526 Kind_Gradient_Method, /*!< \brief Numerical method for computation of spatial gradients. */
527 Kind_Gradient_Method_Recon, /*!< \brief Numerical method for computation of spatial gradients used for upwind reconstruction. */
528 Kind_Deform_Linear_Solver, /*!< Numerical method to deform the grid */
529 Kind_Deform_Linear_Solver_Prec, /*!< \brief Preconditioner of the linear solver. */
530 Kind_Poisson_Linear_Solver, /*!< \brief Numerical solver for the poisson equation. */
531 Kind_Poisson_Linear_Solver_Prec, /*!< \brief Preconditioner of the linear solver of the poisson equation. */
532 Kind_Linear_Solver, /*!< \brief Numerical solver for the implicit scheme. */
533 Kind_Linear_Solver_Prec, /*!< \brief Preconditioner of the linear solver. */
534 Kind_DiscAdj_Linear_Solver, /*!< \brief Linear solver for the discrete adjoint system. */
535 Kind_DiscAdj_Linear_Prec, /*!< \brief Preconditioner of the discrete adjoint linear solver. */
536 Kind_TimeNumScheme, /*!< \brief Global explicit or implicit time integration. */
537 Kind_TimeIntScheme_Flow, /*!< \brief Time integration for the flow equations. */
538 Kind_TimeIntScheme_FEM_Flow, /*!< \brief Time integration for the flow equations. */
539 Kind_ADER_Predictor, /*!< \brief Predictor step of the ADER-DG time integration scheme. */
540 Kind_TimeIntScheme_AdjFlow, /*!< \brief Time integration for the adjoint flow equations. */
541 Kind_TimeIntScheme_Turb, /*!< \brief Time integration for the turbulence model. */
542 Kind_TimeIntScheme_AdjTurb, /*!< \brief Time integration for the adjoint turbulence model. */
543 Kind_TimeIntScheme_Species, /*!< \brief Time integration for the species model. */
544 Kind_TimeIntScheme_Heat, /*!< \brief Time integration for the wave equations. */
545 Kind_TimeStep_Heat, /*!< \brief Time stepping method for the (fvm) heat equation. */
546 n_Datadriven_files;
547
548 DataDrivenFluid_ParsedOptions datadriven_ParsedOptions; /*!< \brief Options for data-driven fluid analysis. */
549
550 STRUCT_TIME_INT Kind_TimeIntScheme_FEA; /*!< \brief Time integration for the FEA equations. */
551 STRUCT_SPACE_ITE Kind_SpaceIteScheme_FEA; /*!< \brief Iterative scheme for nonlinear structural analysis. */
552 unsigned short
553 Kind_TimeIntScheme_Radiation, /*!< \brief Time integration for the Radiation equations. */
554 Kind_ConvNumScheme, /*!< \brief Global definition of the convective term. */
555 Kind_ConvNumScheme_Flow, /*!< \brief Centered or upwind scheme for the flow equations. */
556 Kind_ConvNumScheme_FEM_Flow, /*!< \brief Finite element scheme for the flow equations. */
557 Kind_ConvNumScheme_Heat, /*!< \brief Centered or upwind scheme for the flow equations. */
558 Kind_ConvNumScheme_AdjFlow, /*!< \brief Centered or upwind scheme for the adjoint flow equations. */
559 Kind_ConvNumScheme_Turb, /*!< \brief Centered or upwind scheme for the turbulence model. */
560 Kind_ConvNumScheme_AdjTurb, /*!< \brief Centered or upwind scheme for the adjoint turbulence model. */
561 Kind_ConvNumScheme_Species, /*!< \brief Centered or upwind scheme for the species model. */
562 Kind_ConvNumScheme_Template, /*!< \brief Centered or upwind scheme for the level set equation. */
563 Kind_FEM, /*!< \brief Finite element scheme for the flow equations (for the runtime eq. system). */
564 Kind_FEM_Flow, /*!< \brief Finite element scheme for the flow equations. */
565 Kind_Matrix_Coloring; /*!< \brief Type of matrix coloring for sparse Jacobian computation. */
566
568 Kind_Centered, /*!< \brief Centered scheme (for the runtime eq. system). */
569 Kind_Centered_Flow, /*!< \brief Centered scheme for the flow equations. */
570 Kind_Centered_AdjFlow, /*!< \brief Centered scheme for the adjoint flow equations. */
571 Kind_Centered_Turb, /*!< \brief Centered scheme for the turbulence model. */
572 Kind_Centered_AdjTurb, /*!< \brief Centered scheme for the adjoint turbulence model. */
573 Kind_Centered_Species, /*!< \brief Centered scheme for the species model. */
574 Kind_Centered_Heat, /*!< \brief Centered scheme for the heat transfer model. */
575 Kind_Centered_Template; /*!< \brief Centered scheme for the template model. */
576
577
578 FEM_SHOCK_CAPTURING_DG Kind_FEM_Shock_Capturing_DG; /*!< \brief Shock capturing method for the FEM DG solver. */
579 BGS_RELAXATION Kind_BGS_RelaxMethod; /*!< \brief Kind of relaxation method for Block Gauss Seidel method in FSI problems. */
580 bool ReconstructionGradientRequired; /*!< \brief Enable or disable a second gradient calculation for upwind reconstruction only. */
581 bool LeastSquaresRequired; /*!< \brief Enable or disable memory allocation for least-squares gradient methods. */
582 bool Energy_Equation; /*!< \brief Solve the energy equation for incompressible flows. */
583
584 UPWIND
585 Kind_Upwind, /*!< \brief Upwind scheme (for the runtime eq. system). */
586 Kind_Upwind_Flow, /*!< \brief Upwind scheme for the flow equations. */
587 Kind_Upwind_AdjFlow, /*!< \brief Upwind scheme for the adjoint flow equations. */
588 Kind_Upwind_Turb, /*!< \brief Upwind scheme for the turbulence model. */
589 Kind_Upwind_AdjTurb, /*!< \brief Upwind scheme for the adjoint turbulence model. */
590 Kind_Upwind_Species, /*!< \brief Upwind scheme for the species model. */
591 Kind_Upwind_Heat, /*!< \brief Upwind scheme for the heat transfer model. */
592 Kind_Upwind_Template; /*!< \brief Upwind scheme for the template model. */
593
594 PBITER Kind_PBIter; /*< \brief Kind of pressure-based algorithm that is used. */
595 INCOMP_SYSTEM Kind_Incomp_System; /*< \brief Kind of incompressible solver. */
596
597 bool MUSCL, /*!< \brief MUSCL scheme (for the runtime eq. system). */
598 MUSCL_Flow, /*!< \brief MUSCL scheme for the flow equations.*/
599 MUSCL_Turb, /*!< \brief MUSCL scheme for the turbulence equations.*/
600 MUSCL_Heat, /*!< \brief MUSCL scheme for the (fvm) heat equation.*/
601 MUSCL_AdjFlow, /*!< \brief MUSCL scheme for the adj flow equations.*/
602 MUSCL_AdjTurb, /*!< \brief MUSCL scheme for the adj turbulence equations.*/
603 MUSCL_Species; /*!< \brief MUSCL scheme for the species equations.*/
604 su2double MUSCL_Kappa, /*!< \brief Blending coefficient for U-MUSCL scheme (for the runtime eq. system). */
605 MUSCL_Kappa_Flow, /*!< \brief Blending coefficient for U-MUSCL scheme for the flow equations.*/
606 MUSCL_Kappa_Turb, /*!< \brief Blending coefficient for U-MUSCL scheme for the turbulence equations.*/
607 MUSCL_Kappa_Heat, /*!< \brief Blending coefficient for U-MUSCL scheme for the (fvm) heat equation.*/
608 MUSCL_Kappa_AdjFlow, /*!< \brief Blending coefficient for U-MUSCL scheme for the adj flow equations.*/
609 MUSCL_Kappa_Species; /*!< \brief Blending coefficient for U-MUSCL scheme for the species equations.*/
610 bool Use_Accurate_Jacobians; /*!< \brief Use numerically computed Jacobians for AUSM+up(2) and SLAU(2). */
611 bool Use_Accurate_Turb_Jacobians; /*!< \brief Use numerically computed Jacobians for standard SA turbulence model. */
612 bool EulerPersson; /*!< \brief Boolean to determine whether this is an Euler simulation with Persson shock capturing. */
613 bool FSI_Problem = false,/*!< \brief Boolean to determine whether the simulation is FSI or not. */
614 Multizone_Problem; /*!< \brief Boolean to determine whether we are solving a multizone problem. */
615 //bool ContactResistance = false; /*!< \brief Apply contact resistance for conjugate heat transfer. */
616 unsigned short nID_DV; /*!< \brief ID for the region of FEM when computed using direct differentiation. */
617
618 bool AD_Mode; /*!< \brief Algorithmic Differentiation support. */
619 bool AD_Preaccumulation; /*!< \brief Enable or disable preaccumulation in the AD mode. */
620 CHECK_TAPE_TYPE AD_CheckTapeType; /*!< \brief Type of tape that is checked in a tape debug run. */
621 CHECK_TAPE_VARIABLES AD_CheckTapeVariables; /*!< \brief Type of variables that are checked in a tape debug run. */
622 STRUCT_COMPRESS Kind_Material_Compress; /*!< \brief Determines if the material is compressible or incompressible (structural analysis). */
623 STRUCT_MODEL Kind_Material; /*!< \brief Determines the material model to be used (structural analysis). */
624 STRUCT_DEFORMATION Kind_Struct_Solver; /*!< \brief Determines the geometric condition (small or large deformations) for structural analysis. */
625 unsigned short Kind_DV_FEA; /*!< \brief Kind of Design Variable for FEA problems.*/
626
627 unsigned short nTurbVar; /*!< \brief Number of Turbulence variables, i.e. 1 for SA-types, 2 for SST. */
628 TURB_MODEL Kind_Turb_Model; /*!< \brief Turbulent model definition. */
629 SPECIES_MODEL Kind_Species_Model; /*!< \brief Species model definition. */
630 TURB_SGS_MODEL Kind_SGS_Model; /*!< \brief LES SGS model definition. */
631 TURB_TRANS_MODEL Kind_Trans_Model; /*!< \brief Transition model definition. */
632 TURB_TRANS_CORRELATION Kind_Trans_Correlation; /*!< \brief Transition correlation model definition. */
633 su2double hRoughness; /*!< \brief RMS roughness for Transition model. */
634 unsigned short Kind_ActDisk, Kind_Engine_Inflow,
635 *Kind_Data_Riemann,
636 *Kind_Data_Giles; /*!< \brief Kind of inlet boundary treatment. */
637 INLET_TYPE Kind_Inlet;
638 INLET_TYPE *Kind_Inc_Inlet;
639 INC_OUTLET_TYPE *Kind_Inc_Outlet;
640 unsigned short nWall_Types; /*!< \brief Number of wall treatment types listed. */
641 unsigned short nInc_Inlet; /*!< \brief Number of inlet boundary treatment types listed. */
642 unsigned short nInc_Outlet; /*!< \brief Number of inlet boundary treatment types listed. */
643 su2double Inc_Inlet_Damping; /*!< \brief Damping factor applied to the iterative updates to the velocity at a pressure inlet in incompressible flow. */
644 su2double Inc_Outlet_Damping; /*!< \brief Damping factor applied to the iterative updates to the pressure at a mass flow outlet in incompressible flow. */
645 bool InletUseNormal; /*!< \brief Flag for whether to use the local normal as the flow direction for a pressure inlet. */
646 su2double Linear_Solver_Error; /*!< \brief Min error of the linear solver for the implicit formulation. */
647 su2double Deform_Linear_Solver_Error; /*!< \brief Min error of the linear solver for the implicit formulation. */
648 su2double Poisson_Linear_Solver_Error; /*!< \brief Min error of the linear solver for the poisson equation. */
649 su2double Linear_Solver_Smoother_Relaxation; /*!< \brief Relaxation factor for iterative linear smoothers. */
650 unsigned long Linear_Solver_Iter; /*!< \brief Max iterations of the linear solver for the implicit formulation. */
651 unsigned long Poisson_Linear_Solver_Iter; /*!< \brief Max iterations of the linear solver for the poisson solver*/
652 unsigned long Deform_Linear_Solver_Iter; /*!< \brief Max iterations of the linear solver for the implicit formulation. */
653 unsigned long Linear_Solver_Restart_Frequency; /*!< \brief Restart frequency of the linear solver for the implicit formulation. */
654 unsigned long Linear_Solver_Restart_Deflation; /*!< \brief Number of vectors used for deflated restarts. */
655 unsigned long Linear_Solver_Prec_Threads; /*!< \brief Number of threads per rank for ILU and LU_SGS preconditioners. */
656
657 struct CIluOptions {
658 unsigned short FillIn = 0; /*!< \brief ILU fill-in level. */
659 bool LevelScheduling = false; /*!< \brief Use level scheduling for OMP parallelization of ILU. */
660 /*!< \brief Number of colored Gauss-Seidel sweeps used to build the GPU ILU factorization;
661 * the triangular solves are level-scheduled and exact (no sweep count). */
662 unsigned short GPUSweeps = 2;
663 } IluOptions;
664 su2double SemiSpan; /*!< \brief Wing Semi span. */
665 su2double MSW_Alpha; /*!< \brief Coefficient for blending states in the MSW scheme. */
666 su2double Roe_Kappa; /*!< \brief Relaxation of the Roe scheme. */
667
668 struct CSIMPLE_Options {
669 su2double Transient_Term_Removal_Factor; /*!< \brief Coefficient for removing the transient term from the momentum coefficient. */
670 su2double Relaxation_Factor_Pressure; /*!< \brief Relaxation coefficient of the pressure corrections in the SIMPLE solver. */
671 bool AutomaticRelaxationFactors; /*!< \brief option for automatically computing relaxation factors for flow corrections in SIMPLE. */
672 unsigned short nCorrections_PISO; /*!< \brief Number of corrections used in PISO algorithm. */
673 } SIMPLE_Options;
674
675 su2double Relaxation_Factor_Adjoint; /*!< \brief Relaxation coefficient for variable updates of adjoint solvers. */
676 su2double Relaxation_Factor_CHT; /*!< \brief Relaxation coefficient for the update of conjugate heat variables. */
677 su2double EntropyFix_Coeff; /*!< \brief Entropy fix coefficient. */
678 su2double MaxUpdateSST; /*!< \brief Cap for the Under-Relaxation Factor for SST Turbulent Variables*/
679 su2double MaxUpdateSA; /*!< \brief Cap for the Under-Relaxation Factor for SA Turbulent Variables*/
680 su2double MaxUpdateFlow; /*!< \brief Cap for the Under-Relaxation Factor for Flow Density and Energy Variables*/
681 unsigned short nLocationStations, /*!< \brief Number of section cuts to make when outputting mesh and cp . */
682 nWingStations; /*!< \brief Number of section cuts to make when calculating internal volume. */
683 su2double Kappa_1st_AdjFlow, /*!< \brief Lax 1st order dissipation coefficient for adjoint flow equations (coarse multigrid levels). */
684 Kappa_2nd_AdjFlow, /*!< \brief JST 2nd order dissipation coefficient for adjoint flow equations. */
685 Kappa_4th_AdjFlow, /*!< \brief JST 4th order dissipation coefficient for adjoint flow equations. */
686 Kappa_1st_Flow, /*!< \brief Lax 1st order dissipation coefficient for flow equations (coarse multigrid levels). */
687 Kappa_2nd_Flow, /*!< \brief JST 2nd order dissipation coefficient for flow equations. */
688 Kappa_4th_Flow, /*!< \brief JST 4th order dissipation coefficient for flow equations. */
689 Cent_Jac_Fix_Factor, /*!< \brief Multiply the dissipation contribution to the Jacobian of central schemes
690 by this factor to make the global matrix more diagonal dominant. */
691 Cent_Inc_Jac_Fix_Factor; /*!< \brief Multiply the dissipation contribution to the Jacobian of incompressible central schemes */
692 su2double Geo_Waterline_Location; /*!< \brief Location of the waterline. */
693
694 su2double Min_Beta_RoeTurkel, /*!< \brief Minimum value of Beta for the Roe-Turkel low Mach preconditioner. */
695 Max_Beta_RoeTurkel; /*!< \brief Maximum value of Beta for the Roe-Turkel low Mach preconditioner. */
696 unsigned long GridDef_Nonlinear_Iter; /*!< \brief Number of nonlinear increments for grid deformation. */
697 unsigned short Deform_StiffnessType; /*!< \brief Type of element stiffness imposed for FEA mesh deformation. */
698 bool Deform_Mesh; /*!< \brief Determines whether the mesh will be deformed. */
699 bool Deform_Output; /*!< \brief Print the residuals during mesh deformation to the console. */
700 su2double Deform_Tol_Factor; /*!< \brief Factor to multiply smallest volume for deform tolerance (0.001 default) */
701 su2double Deform_Coeff; /*!< \brief Deform coeffienct */
702 su2double Deform_Limit; /*!< \brief Deform limit */
703 DEFORM_KIND Deform_Kind; /*!< \brief Type of mesh deformation */
704 struct CRBFParam {
705 bool DataReduction; /*!< \brief Determines use of data reduction methods for RBF mesh deformation. */
706 su2double GreedyTolerance; /*!< \brief Tolerance used in the greedy data reduction for RBF mesh deformation. */
707 } RBFParam;
708 unsigned short FFD_Continuity; /*!< \brief Surface continuity at the intersection with the FFD */
709 unsigned short FFD_CoordSystem; /*!< \brief Define the coordinates system */
710 su2double Deform_ElasticityMod, /*!< \brief Young's modulus for volume deformation stiffness model */
711 Deform_PoissonRatio, /*!< \brief Poisson's ratio for volume deformation stiffness model */
712 Deform_StiffLayerSize; /*!< \brief Size of the layer of highest stiffness for wall distance-based mesh stiffness */
713 bool FFD_Symmetry_Plane; /*!< \brief FFD symmetry plane. */
714
715 su2double Mach; /*!< \brief Mach number. */
716 su2double Reynolds; /*!< \brief Reynolds number. */
717 su2double Froude; /*!< \brief Froude number. */
718 su2double Length_Reynolds; /*!< \brief Reynolds length (dimensional). */
719 su2double AoA, /*!< \brief Angle of attack (just external flow). */
720 iH, AoS, AoA_Offset,
721 AoS_Offset, AoA_Sens; /*!< \brief Angle of sideSlip (just external flow). */
722 bool Fixed_CL_Mode; /*!< \brief Activate fixed CL mode (external flow only). */
723 bool Eval_dOF_dCX; /*!< \brief Activate fixed CL mode (external flow only). */
724 bool Discard_InFiles; /*!< \brief Discard angle of attack in solution and geometry files. */
725 su2double Target_CL; /*!< \brief Specify a target CL instead of AoA (external flow only). */
726 su2double Total_CM; /*!< \brief Specify a Total CM instead of AoA (external flow only). */
727 su2double Total_CD; /*!< \brief Specify a target CD instead of AoA (external flow only). */
728 su2double dCL_dAlpha; /*!< \brief value of dCl/dAlpha. */
729 unsigned long Iter_Fixed_CM; /*!< \brief Iterations to re-evaluate the angle of attack (external flow only). */
730 unsigned long Iter_Fixed_NetThrust; /*!< \brief Iterations to re-evaluate the angle of attack (external flow only). */
731 unsigned long Iter_dCL_dAlpha; /*!< \brief Number of iterations to evaluate dCL_dAlpha. */
732 unsigned long Update_Alpha; /*!< \brief Iterations to re-evaluate the angle of attack (external flow only). */
733 unsigned long Update_iH; /*!< \brief Iterations to re-evaluate the angle of attack (external flow only). */
734 unsigned long Update_BCThrust; /*!< \brief Iterations to re-evaluate the angle of attack (external flow only). */
735 su2double dNetThrust_dBCThrust; /*!< \brief value of dNetThrust/dBCThrust. */
736 bool Update_BCThrust_Bool; /*!< \brief Boolean flag for whether to update the AoA for fixed lift mode on a given iteration. */
737 bool Update_AoA; /*!< \brief Boolean flag for whether to update the AoA for fixed lift mode on a given iteration. */
738 unsigned long Update_AoA_Iter_Limit; /*!< \brief Limit on number of iterations between AoA updates for fixed lift mode. */
739 bool Finite_Difference_Mode; /*!< \brief Flag to run the finite difference mode in fixed Cl mode. */
740 su2double ChargeCoeff; /*!< \brief Charge coefficient (just for poisson problems). */
741 unsigned short Cauchy_Func_Flow, /*!< \brief Function where to apply the convergence criteria in the flow problem. */
742 Cauchy_Func_AdjFlow, /*!< \brief Function where to apply the convergence criteria in the adjoint problem. */
743 Cauchy_Elems; /*!< \brief Number of elements to evaluate. */
744 unsigned short Residual_Func_Flow; /*!< \brief Equation to apply residual convergence to. */
745 unsigned short Res_FEM_CRIT; /*!< \brief Criteria to apply to the FEM convergence (absolute/relative). */
746 unsigned long StartConv_Iter; /*!< \brief Start convergence criteria at iteration. */
747 su2double Cauchy_Eps; /*!< \brief Epsilon used for the convergence. */
748 bool Restart, /*!< \brief Restart solution (for direct, adjoint, and linearized problems).*/
749 Wrt_Restart_Compact, /*!< \brief Write compact restart files with minimum nr. of variables. */
750 Read_Binary_Restart, /*!< \brief Read binary SU2 native restart files.*/
751 Wrt_Restart_Overwrite, /*!< \brief Overwrite restart files or append iteration number.*/
752 Wrt_Surface_Overwrite, /*!< \brief Overwrite surface output files or append iteration number.*/
753 Wrt_Volume_Overwrite, /*!< \brief Overwrite volume output files or append iteration number.*/
754 PyCustomSource, /*!< \brief Use a user-defined custom source term .*/
755 Restart_Flow; /*!< \brief Restart flow solution for adjoint and linearized problems. */
756 unsigned short nMarker_Monitoring, /*!< \brief Number of markers to monitor. */
757 nMarker_Designing, /*!< \brief Number of markers for the objective function. */
758 nMarker_GeoEval, /*!< \brief Number of markers for the objective function. */
759 nMarker_ZoneInterface, /*!< \brief Number of markers in the zone interface. */
760 nMarker_Plotting, /*!< \brief Number of markers to plot. */
761 nMarker_Analyze, /*!< \brief Number of markers to analyze. */
762 nMarker_Create_Copy, /*!< \brief Number of markers to duplicate. */
763 nMarker_Moving, /*!< \brief Number of markers in motion (DEFORMING, MOVING_WALL). */
764 nMarker_PyCustom, /*!< \brief Number of markers that are customizable in Python. */
765 nMarker_DV, /*!< \brief Number of markers affected by the design variables. */
766 nMarker_WallFunctions, /*!< \brief Number of markers for which wall functions must be applied. */
767 nMarker_StrongBC, /*!< \brief Number of markers for which a strong BC must be applied. */
768 nMarker_SobolevBC; /*!< \brief Number of markers treaded in the gradient problem. */
769 string *Marker_Monitoring, /*!< \brief Markers to monitor. */
770 *Marker_Designing, /*!< \brief Markers to design. */
771 *Marker_GeoEval, /*!< \brief Markers to evaluate geometry. */
772 *Marker_Plotting, /*!< \brief Markers to plot. */
773 *Marker_Analyze, /*!< \brief Markers to analyze. */
774 *Marker_Create_Copy, /*!< \brief Markers to duplicate. */
775 *Marker_ZoneInterface, /*!< \brief Markers in the FSI interface. */
776 *Marker_Moving, /*!< \brief Markers in motion (DEFORMING, MOVING_WALL). */
777 *Marker_PyCustom, /*!< \brief Markers that are customizable in Python. */
778 *Marker_DV, /*!< \brief Markers affected by the design variables. */
779 *Marker_WallFunctions, /*!< \brief Markers for which wall functions must be applied. */
780 *Marker_StrongBC, /*!< \brief Markers for which a strong BC must be applied. */
781 *Marker_SobolevBC; /*!< \brief Markers in the gradient solver */
782
783 unsigned short nConfig_Files; /*!< \brief Number of config files for multiphysics problems. */
784 string *Config_Filenames; /*!< \brief List of names for configuration files. */
785 SST_OPTIONS *SST_Options; /*!< \brief List of modifications/corrections/versions of SST turbulence model.*/
786 SA_OPTIONS *SA_Options; /*!< \brief List of modifications/corrections/versions of SA turbulence model.*/
787 LM_OPTIONS *LM_Options; /*!< \brief List of modifications/corrections/versions of SA turbulence model.*/
788 ROUGHSST_MODEL Kind_RoughSST_Model; /*!< \brief List of modifications/corrections/versions of rough-wall boundary conditions for SST turbulence model.*/
789 unsigned short nSST_Options; /*!< \brief Number of SST options specified. */
790 unsigned short nSA_Options; /*!< \brief Number of SA options specified. */
791 unsigned short nLM_Options; /*!< \brief Number of SA options specified. */
792 WALL_FUNCTIONS *Kind_WallFunctions; /*!< \brief The kind of wall function to use for the corresponding markers. */
793 unsigned short **IntInfo_WallFunctions; /*!< \brief Additional integer information for the wall function markers. */
794 su2double **DoubleInfo_WallFunctions; /*!< \brief Additional double information for the wall function markers. */
795 unsigned short *Marker_All_Monitoring, /*!< \brief Global index for monitoring using the grid information. */
796 *Marker_All_GeoEval, /*!< \brief Global index for geometrical evaluation. */
797 *Marker_All_Plotting, /*!< \brief Global index for plotting using the grid information. */
798 *Marker_All_Analyze, /*!< \brief Global index for plotting using the grid information. */
799 *Marker_All_ZoneInterface, /*!< \brief Global index for FSI interface markers using the grid information. */
800 *Marker_All_Turbomachinery, /*!< \brief Global index for Turbomachinery markers using the grid information. */
801 *Marker_All_TurbomachineryFlag, /*!< \brief Global index for Turbomachinery markers flag using the grid information. */
802 *Marker_All_MixingPlaneInterface, /*!< \brief Global index for MixingPlane interface markers using the grid information. */
803 *Marker_All_Giles, /*!< \brief Global index for Giles markers using the grid information. */
804 *Marker_All_DV, /*!< \brief Global index for design variable markers using the grid information. */
805 *Marker_All_Moving, /*!< \brief Global index for moving surfaces using the grid information. */
806 *Marker_All_Deform_Mesh, /*!< \brief Global index for deformable markers at the boundary. */
807 *Marker_All_Deform_Mesh_Sym_Plane, /*!< \brief Global index for markers with symmetric deformations. */
808 *Marker_All_Deform_Mesh_Internal, /*!< \brief Global index for internal markers with free deformation. */
809 *Marker_All_Fluid_Load, /*!< \brief Global index for markers in which the flow load is computed/employed. */
810 *Marker_All_PyCustom, /*!< \brief Global index for Python customizable surfaces using the grid information. */
811 *Marker_All_Designing, /*!< \brief Global index for moving using the grid information. */
812 *Marker_All_SobolevBC, /*!< \brief Global index for boundary condition applied to gradient smoothing. */
813 *Marker_CfgFile_Monitoring, /*!< \brief Global index for monitoring using the config information. */
814 *Marker_CfgFile_Designing, /*!< \brief Global index for monitoring using the config information. */
815 *Marker_CfgFile_GeoEval, /*!< \brief Global index for monitoring using the config information. */
816 *Marker_CfgFile_Plotting, /*!< \brief Global index for plotting using the config information. */
817 *Marker_CfgFile_Analyze, /*!< \brief Global index for plotting using the config information. */
818 *Marker_CfgFile_ZoneInterface, /*!< \brief Global index for FSI interface using the config information. */
819 *Marker_CfgFile_Turbomachinery, /*!< \brief Global index for Turbomachinery using the config information. */
820 *Marker_CfgFile_TurbomachineryFlag, /*!< \brief Global index for Turbomachinery flag using the config information. */
821 *Marker_CfgFile_MixingPlaneInterface, /*!< \brief Global index for MixingPlane interface using the config information. */
822 *Marker_CfgFile_Giles, /*!< \brief Global index for Giles markers flag using the config information. */
823 *Marker_CfgFile_Moving, /*!< \brief Global index for moving surfaces using the config information. */
824 *Marker_CfgFile_Deform_Mesh, /*!< \brief Global index for deformable markers at the boundary. */
825 *Marker_CfgFile_Deform_Mesh_Sym_Plane, /*!< \brief Global index for markers with symmetric deformations. */
826 *Marker_CfgFile_Deform_Mesh_Internal, /*!< \brief Global index for internal markers with free deformation. */
827 *Marker_CfgFile_Fluid_Load, /*!< \brief Global index for markers in which the flow load is computed/employed. */
828 *Marker_CfgFile_PyCustom, /*!< \brief Global index for Python customizable surfaces using the config information. */
829 *Marker_CfgFile_DV, /*!< \brief Global index for design variable markers using the config information. */
830 *Marker_CfgFile_PerBound, /*!< \brief Global index for periodic boundaries using the config information. */
831 *Marker_CfgFile_SobolevBC; /*!< \brief Global index for boundary condition applied to gradient smoothing using the config information. */
832 string *PlaneTag; /*!< \brief Global index for the plane adaptation (upper, lower). */
833 su2double *nBlades; /*!< \brief number of blades for turbomachinery computation. */
834 unsigned short Geo_Description; /*!< \brief Description of the geometry. */
835 unsigned short Mesh_FileFormat; /*!< \brief Mesh input format. */
836 unsigned short Mesh_Out_FileFormat; /*!< \brief Mesh output format. */
837 TAB_OUTPUT Tab_FileFormat; /*!< \brief Format of the output files. */
838 VOLUME_OUTPUT_PRECISION Volume_Output_Precision; /*!< \brief Floating-point type of the volume and surface fields. */
839 unsigned short output_precision; /*!< \brief <ofstream>.precision(value) for SU2_DOT and HISTORY output */
840 unsigned short ActDisk_Jump; /*!< \brief Format of the output files. */
841 unsigned long StartWindowIteration; /*!< \brief Starting Iteration for long time Windowing apporach . */
842 unsigned short nCFL_AdaptParam; /*!< \brief Number of CFL parameters provided in config. */
843 unsigned long outlierMitigationParam[4]; /*!< \brief Parameters of outlier mitigation strategy. */
844 bool CFL_Adapt; /*!< \brief Use adaptive CFL number. */
845 bool HB_Precondition; /*!< \brief Flag to turn on harmonic balance source term preconditioning */
846 su2double RefArea, /*!< \brief Reference area for coefficient computation. */
847 RefElemLength, /*!< \brief Reference element length for computing the slope limiting epsilon. */
848 RefSharpEdges, /*!< \brief Reference coefficient for detecting sharp edges. */
849 RefLength, /*!< \brief Reference length for moment computation. */
850 *RefOriginMoment_X, /*!< \brief X Origin for moment computation. */
851 *RefOriginMoment_Y, /*!< \brief Y Origin for moment computation. */
852 *RefOriginMoment_Z, /*!< \brief Z Origin for moment computation. */
853 *CFL_AdaptParam, /*!< \brief Information about the CFL ramp. */
854 *RelaxFactor_Giles, /*!< \brief Information about the under relaxation factor for Giles BC. */
855 *CFL, /*!< \brief CFL number. */
856 DomainVolume; /*!< \brief Volume of the computational grid. */
857 unsigned short
858 nRefOriginMoment_X, /*!< \brief Number of X-coordinate moment computation origins. */
859 nRefOriginMoment_Y, /*!< \brief Number of Y-coordinate moment computation origins. */
860 nRefOriginMoment_Z; /*!< \brief Number of Z-coordinate moment computation origins. */
861 unsigned short nMesh_Box_Size;
862 short *Mesh_Box_Size; /*!< \brief Array containing the number of grid points in the x-, y-, and z-directions for the analytic RECTANGLE and BOX grid formats. */
863 unsigned short Mesh_Box_PSolFEM; /*!< \brief FEM polynomial degree of the solution for the RECTANGLE and BOX grid formats. */
864 string Mesh_FileName, /*!< \brief Mesh input file. */
865 Mesh_Out_FileName, /*!< \brief Mesh output file. */
866 Solution_FileName, /*!< \brief Flow solution input file. */
867 Solution_AdjFileName, /*!< \brief Adjoint solution input file for drag functional. */
868 Volume_FileName, /*!< \brief Flow variables output file. */
869 Conv_FileName, /*!< \brief Convergence history output file. */
870 Breakdown_FileName, /*!< \brief Breakdown output file. */
871 Restart_FileName, /*!< \brief Restart file for flow variables. */
872 Restart_AdjFileName, /*!< \brief Restart file for adjoint variables, drag functional. */
873 Adj_FileName, /*!< \brief Output file with the adjoint variables. */
874 ObjFunc_Grad_FileName, /*!< \brief Gradient of the objective function. */
875 ObjFunc_Value_FileName, /*!< \brief Objective function. */
876 SurfCoeff_FileName, /*!< \brief Output file with the flow variables on the surface. */
877 SurfAdjCoeff_FileName, /*!< \brief Output file with the adjoint variables on the surface. */
878 SurfSens_FileName, /*!< \brief Output file for the sensitivity on the surface (discrete adjoint). */
879 VolSens_FileName, /*!< \brief Output file for the sensitivity in the volume (discrete adjoint). */
880 ObjFunc_Hess_FileName; /*!< \brief Hessian approximation obtained by the Sobolev smoothing solver. */
881 bool Multizone_Adapt_FileName; /*!< \brief Append zone number to solution and restart file names. */
882
883 bool
884 Wrt_Performance, /*!< \brief Write the performance summary at the end of a calculation. */
885 Wrt_AD_Statistics, /*!< \brief Write the tape statistics (discrete adjoint). */
886 Wrt_MeshQuality, /*!< \brief Write the mesh quality statistics to the visualization files. */
887 Wrt_MultiGrid, /*!< \brief Write the coarse grids to the visualization files. */
888 Wrt_Projected_Sensitivity, /*!< \brief Write projected sensitivities (dJ/dx) on surfaces to ASCII file. */
889 Plot_Section_Forces; /*!< \brief Write sectional forces for specified markers. */
890 unsigned short
891 Console_Output_Verb, /*!< \brief Level of verbosity for console output */
892 Kind_Average; /*!< \brief Particular average for the marker analyze. */
893 su2double Gamma, /*!< \brief Ratio of specific heats of the gas. */
894 Bulk_Modulus, /*!< \brief Value of the bulk modulus for incompressible flows. */
895 Beta_Factor, /*!< \brief Value of the epsilon^2 multiplier for Beta for the incompressible preconditioner. */
896 Gas_Constant, /*!< \brief Specific gas constant. */
897 Gas_ConstantND, /*!< \brief Non-dimensional specific gas constant. */
898 *Molecular_Weight; /*!< \brief Molecular weight of an incompressible ideal gas (g/mol). */
899 unsigned short nMolecular_Weight, /*!< \brief Number of species molecular weights. */
900 nSpecific_Heat_Cp; /*!< \brief Number of species specific heat constants at constant pressure. */
901 su2double *Specific_Heat_Cp, /*!< \brief Specific heat at constant pressure. */
902 Thermal_Expansion_Coeff, /*!< \brief Thermal expansion coefficient. */
903 Thermal_Expansion_CoeffND, /*!< \brief Non-dimensional thermal expansion coefficient. */
904 Inc_Density_Ref, /*!< \brief Reference density for custom incompressible non-dim. */
905 Inc_Velocity_Ref, /*!< \brief Reference velocity for custom incompressible non-dim. */
906 Inc_Temperature_Ref, /*!< \brief Reference temperature for custom incompressible non-dim. */
907 Inc_Density_Init, /*!< \brief Initial density for incompressible flows. */
908 Inc_Temperature_Init, /*!< \brief Initial temperature for incompressible flows w/ heat transfer. */
909 Heat_Flux_Ref, /*!< \brief Reference heat flux for non-dim. */
910 Gas_Constant_Ref, /*!< \brief Reference specific gas constant. */
911 Temperature_Critical, /*!< \brief Critical Temperature for real fluid model. */
912 Pressure_Critical, /*!< \brief Critical Pressure for real fluid model. */
913 Density_Critical, /*!< \brief Critical Density for real fluid model. */
914 Acentric_Factor, /*!< \brief Acentric Factor for real fluid model. */
915 *Mu_Constant, /*!< \brief Constant viscosity for ConstantViscosity model. */
916 *Thermal_Conductivity_Constant, /*!< \brief Constant thermal conductivity for ConstantConductivity model. */
917 *Mu_Ref, /*!< \brief Reference viscosity for Sutherland model. */
918 *Mu_Temperature_Ref, /*!< \brief Reference temperature for Sutherland model. */
919 *Mu_S; /*!< \brief Reference S for Sutherland model. */
920 unsigned short nMu_Constant, /*!< \brief Number of species constant viscosities. */
921 nMu_Ref, /*!< \brief Number of species reference constants for Sutherland model. */
922 nMu_Temperature_Ref, /*!< \brief Number of species reference temperature for Sutherland model. */
923 nMu_S, /*!< \brief Number of species reference S for Sutherland model. */
924 nThermal_Conductivity_Constant,/*!< \brief Number of species constant thermal conductivity. */
925 nPrandtl_Lam, /*!< \brief Number of species laminar Prandtl number. */
926 nPrandtl_Turb, /*!< \brief Number of species turbulent Prandtl number. */
927 nConstant_Lewis_Number; /*!< \brief Number of species Lewis Number. */
928 su2double Diffusivity_Constant; /*!< \brief Constant mass diffusivity for scalar transport. */
929 su2double Diffusivity_ConstantND; /*!< \brief Non-dim. constant mass diffusivity for scalar transport. */
930 su2double Schmidt_Number_Laminar; /*!< \brief Laminar Schmidt number for mass diffusion. */
931 su2double Schmidt_Number_Turbulent; /*!< \brief Turbulent Schmidt number for mass diffusion. */
932 su2double *Constant_Lewis_Number; /*!< \brief Different Lewis number for mass diffusion. */
933 array<su2double, N_POLY_COEFFS> CpPolyCoefficientsND{{0.0}}; /*!< \brief Definition of the non-dimensional temperature polynomial coefficients for specific heat Cp. */
934 array<su2double, N_POLY_COEFFS> MuPolyCoefficientsND{{0.0}}; /*!< \brief Definition of the non-dimensional temperature polynomial coefficients for viscosity. */
935 array<su2double, N_POLY_COEFFS> KtPolyCoefficientsND{{0.0}}; /*!< \brief Definition of the non-dimensional temperature polynomial coefficients for thermal conductivity. */
936 su2double TurbIntensityAndViscRatioFreeStream[2]; /*!< \brief Freestream turbulent intensity and viscosity ratio for turbulence and transition models. */
937 su2double Energy_FreeStream, /*!< \brief Free-stream total energy of the fluid. */
938 ModVel_FreeStream, /*!< \brief Magnitude of the free-stream velocity of the fluid. */
939 ModVel_FreeStreamND, /*!< \brief Non-dimensional magnitude of the free-stream velocity of the fluid. */
940 Density_FreeStream, /*!< \brief Free-stream density of the fluid. */
941 Viscosity_FreeStream, /*!< \brief Free-stream viscosity of the fluid. */
942 ThermalConductivity_FreeStream, /*!< \brief Free-stream thermal conductivity of the fluid. */
943 SpecificHeatCp_FreeStream, /*!< \brief Free-stream specific heat capacity at constant pressure of the fluid. */
944 Tke_FreeStream, /*!< \brief Total turbulent kinetic energy of the fluid. */
945 Intermittency_FreeStream, /*!< \brief Freestream intermittency (for sagt transition model) of the fluid. */
946 ReThetaT_FreeStream, /*!< \brief Freestream Transition Momentum Thickness Reynolds Number (for LM transition model) of the fluid. */
947 NuFactor_FreeStream, /*!< \brief Ratio of turbulent to laminar viscosity. */
948 NuFactor_Engine, /*!< \brief Ratio of turbulent to laminar viscosity at the engine. */
949 KFactor_LowerLimit, /*!< \Non dimensional coefficient for lower limit of K in SST model. */
950 OmegaFactor_LowerLimit, /*!< \Non dimensional coefficient for lower limit of omega in SST model. */
951 SecondaryFlow_ActDisk, /*!< \brief Ratio of turbulent to laminar viscosity at the actuator disk. */
952 Initial_BCThrust, /*!< \brief Ratio of turbulent to laminar viscosity at the actuator disk. */
953 Pressure_FreeStream, /*!< \brief Total pressure of the fluid. */
954 Pressure_Thermodynamic, /*!< \brief Thermodynamic pressure of the fluid. */
955 Temperature_FreeStream, /*!< \brief Total temperature of the fluid. */
956 Temperature_ve_FreeStream; /*!< \brief Total vibrational-electronic temperature of the fluid. */
957 bool out2in_mdot_engine; /*!< \brief Flag to use engine outlet mass flow as engine inlet mass flow. */
958 unsigned short wallModel_MaxIter; /*!< \brief maximum number of iterations for the Newton method for the wall model */
959 su2double wallModel_Kappa, /*!< \brief von Karman constant kappa for turbulence wall modeling */
960 wallModel_B, /*!< \brief constant B for turbulence wall modeling */
961 wallModel_RelFac, /*!< \brief relaxation factor for the Newton method used in the wall model */
962 wallModel_MinYplus; /*!< \brief minimum Y+ value, below which the wall model is not used anymore */
963 su2double *Prandtl_Lam, /*!< \brief Laminar Prandtl number for the gas. */
964 *Prandtl_Turb, /*!< \brief Turbulent Prandtl number for the gas. */
965 Length_Ref, /*!< \brief Reference length for non-dimensionalization. */
966 Pressure_Ref, /*!< \brief Reference pressure for non-dimensionalization. */
967 Temperature_Ref, /*!< \brief Reference temperature for non-dimensionalization.*/
968 Temperature_ve_Ref, /*!< \brief Reference vibrational-electronic temperature for non-dimensionalization.*/
969 Density_Ref, /*!< \brief Reference density for non-dimensionalization.*/
970 Velocity_Ref, /*!< \brief Reference velocity for non-dimensionalization.*/
971 Time_Ref, /*!< \brief Reference time for non-dimensionalization. */
972 Viscosity_Ref, /*!< \brief Reference viscosity for non-dimensionalization. */
973 Thermal_Conductivity_Ref, /*!< \brief Reference conductivity for non-dimensionalization. */
974 Energy_Ref, /*!< \brief Reference viscosity for non-dimensionalization. */
975 Wall_Temperature, /*!< \brief Temperature at an isotropic wall in Kelvin. */
976 Omega_Ref, /*!< \brief Reference angular velocity for non-dimensionalization. */
977 Force_Ref, /*!< \brief Reference body force for non-dimensionalization. */
978 Pressure_FreeStreamND, /*!< \brief Farfield pressure value (external flow). */
979 Pressure_ThermodynamicND, /*!< \brief Farfield thermodynamic pressure value. */
980 Temperature_FreeStreamND, /*!< \brief Farfield temperature value (external flow). */
981 Temperature_ve_FreeStreamND,/*!< \brief Farfield vibrational-electronic temperature value (external flow). */
982 Density_FreeStreamND, /*!< \brief Farfield density value (external flow). */
983 Velocity_FreeStreamND[3], /*!< \brief Farfield velocity values (external flow). */
984 Energy_FreeStreamND, /*!< \brief Farfield energy value (external flow). */
985 Viscosity_FreeStreamND, /*!< \brief Farfield viscosity value (external flow). */
986 ThermalConductivity_FreeStreamND, /*!< \brief Farfield thermal conductivity value (external flow). */
987 SpecificHeatCp_FreeStreamND, /*!< \brief Farfield specific heat capacity at constant pressure value (external flow). */
988 Tke_FreeStreamND, /*!< \brief Farfield kinetic energy (external flow). */
989 Omega_FreeStreamND, /*!< \brief Specific dissipation (external flow). */
990 Omega_FreeStream; /*!< \brief Specific dissipation (external flow). */
991 bool Variable_Density; /*!< \brief Variable density for incompressible flow. */
992 unsigned short nElectric_Constant; /*!< \brief Number of different electric constants. */
993 su2double *Electric_Constant; /*!< \brief Dielectric constant modulus. */
994 su2double Knowles_B, /*!< \brief Knowles material model constant B. */
995 Knowles_N; /*!< \brief Knowles material model constant N. */
996 bool DE_Effects; /*!< Application of DE effects to FE analysis */
997 bool RefGeom, RefGeomSurf; /*!< Read a reference geometry for optimization purposes. */
998 unsigned long refNodeID; /*!< \brief Global ID for the reference node (optimization). */
999 string RefGeom_FEMFileName; /*!< \brief File name for reference geometry. */
1000 unsigned short RefGeom_FileFormat; /*!< \brief Mesh input format. */
1001 STRUCT_2DFORM Kind_2DElasForm; /*!< \brief Kind of bidimensional elasticity solver. */
1002 unsigned short nIterFSI_Ramp; /*!< \brief Number of FSI subiterations during which a ramp is applied. */
1003 unsigned short iInst; /*!< \brief Current instance value */
1004 su2double AitkenStatRelax; /*!< \brief Aitken's relaxation factor (if set as static) */
1005 su2double AitkenDynMaxInit; /*!< \brief Aitken's maximum dynamic relaxation factor for the first iteration */
1006 su2double AitkenDynMinInit; /*!< \brief Aitken's minimum dynamic relaxation factor for the first iteration */
1007 bool RampAndRelease; /*!< \brief option for ramp load and release */
1008 bool Sine_Load; /*!< \brief option for sine load */
1009 su2double Thermal_Diffusivity; /*!< \brief Thermal diffusivity used in the heat solver. */
1010 su2double Mach_Motion; /*!< \brief Mach number based on mesh velocity and freestream quantities. */
1011
1012 su2double Motion_Origin[3] = {0.0}, /*!< \brief Mesh motion origin. */
1013 Translation_Rate[3] = {0.0}, /*!< \brief Translational velocity of the mesh. */
1014 Rotation_Rate[3] = {0.0}, /*!< \brief Angular velocity of the mesh . */
1015 Pitching_Omega[3] = {0.0}, /*!< \brief Angular frequency of the mesh pitching. */
1016 Pitching_Ampl[3] = {0.0}, /*!< \brief Pitching amplitude. */
1017 Pitching_Phase[3] = {0.0}, /*!< \brief Pitching phase offset. */
1018 Plunging_Omega[3] = {0.0}, /*!< \brief Angular frequency of the mesh plunging. */
1019 Plunging_Ampl[3] = {0.0}; /*!< \brief Plunging amplitude. */
1020 su2double *MarkerMotion_Origin, /*!< \brief Mesh motion origin of marker. */
1021 *MarkerTranslation_Rate, /*!< \brief Translational velocity of marker. */
1022 *MarkerRotation_Rate, /*!< \brief Angular velocity of marker. */
1023 *MarkerPitching_Omega, /*!< \brief Angular frequency of marker. */
1024 *MarkerPitching_Ampl, /*!< \brief Pitching amplitude of marker. */
1025 *MarkerPitching_Phase, /*!< \brief Pitching phase offset of marker. */
1026 *MarkerPlunging_Omega, /*!< \brief Angular frequency of marker.. */
1027 *MarkerPlunging_Ampl; /*!< \brief Plunging amplitude of marker. */
1028
1029 unsigned short
1030 nMarkerMotion_Origin, /*!< \brief Number of values provided for mesh motion origin of marker. */
1031 nMarkerTranslation, /*!< \brief Number of values provided for translational velocity of marker. */
1032 nMarkerRotation_Rate, /*!< \brief Number of values provided for angular velocity of marker. */
1033 nMarkerPitching_Omega, /*!< \brief Number of values provided for angular frequency of marker. */
1034 nMarkerPitching_Ampl, /*!< \brief Number of values provided for pitching amplitude of marker. */
1035 nMarkerPitching_Phase, /*!< \brief Number of values provided for pitching phase offset of marker. */
1036 nMarkerPlunging_Omega, /*!< \brief Number of values provided for angular frequency of marker. */
1037 nMarkerPlunging_Ampl, /*!< \brief Number of values provided for plunging amplitude of marker. */
1038 nRough_Wall; /*!< \brief Number of rough walls. */
1039 su2double *Omega_HB; /*!< \brief Frequency for Harmonic Balance Operator (in rad/s). */
1040 unsigned short
1041 nOmega_HB, /*!< \brief Number of frequencies in Harmonic Balance Operator. */
1042 nMoveMotion_Origin, /*!< \brief Number of motion origins. */
1043 *MoveMotion_Origin; /*!< \brief Keeps track if we should move moment origin. */
1044 vector<vector<vector<su2double> > > Aeroelastic_np1, /*!< \brief Aeroelastic solution at time level n+1. */
1045 Aeroelastic_n, /*!< \brief Aeroelastic solution at time level n. */
1046 Aeroelastic_n1; /*!< \brief Aeroelastic solution at time level n-1. */
1047 su2double FlutterSpeedIndex, /*!< \brief The flutter speed index. */
1048 PlungeNaturalFrequency, /*!< \brief Plunging natural frequency for Aeroelastic. */
1049 PitchNaturalFrequency, /*!< \brief Pitch natural frequency for Aeroelastic. */
1050 AirfoilMassRatio, /*!< \brief The airfoil mass ratio for Aeroelastic. */
1051 CG_Location, /*!< \brief Center of gravity location for Aeroelastic. */
1052 RadiusGyrationSquared; /*!< \brief The radius of gyration squared for Aeroelastic. */
1053 su2double *Aeroelastic_plunge, /*!< \brief Value of plunging coordinate at the end of an external iteration. */
1054 *Aeroelastic_pitch; /*!< \brief Value of pitching coordinate at the end of an external iteration. */
1055 unsigned short AeroelasticIter; /*!< \brief Solve the aeroelastic equations every given number of internal iterations. */
1056 unsigned short Gust_Type, /*!< \brief Type of Gust. */
1057 Gust_Dir; /*!< \brief Direction of the gust */
1058 su2double Gust_WaveLength, /*!< \brief The gust wavelength. */
1059 Gust_Periods, /*!< \brief Number of gust periods. */
1060 Gust_Ampl, /*!< \brief Gust amplitude. */
1061 Gust_Begin_Time, /*!< \brief Time at which to begin the gust. */
1062 Gust_Begin_Loc; /*!< \brief Location at which the gust begins. */
1063 /*! \brief Maximal scalar product of the normed far-field velocity vector and a space coordinate where fixed turbulence quantities are set. */
1064 su2double Turb_Fixed_Values_MaxScalarProd;
1065 long Visualize_CV; /*!< \brief Node number for the CV to be visualized */
1066 bool ExtraOutput; /*!< \brief Check if extra output need. */
1067 bool Wall_Functions; /*!< \brief Use wall functions with the turbulence model */
1068 long ExtraHeatOutputZone; /*!< \brief Heat solver zone with extra screen output */
1069 bool CentrifugalForce; /*!< \brief Application of centrifugal forces to the FE analysis */
1070 bool PseudoStatic; /*!< \brief Application of dead loads to the FE analysis */
1071 bool SteadyRestart; /*!< \brief Restart from a steady state for FSI problems. */
1072 su2double Newmark_beta, /*!< \brief Parameter alpha for Newmark method. */
1073 Newmark_gamma; /*!< \brief Parameter delta for Newmark method. */
1074 unsigned short nIntCoeffs; /*!< \brief Number of integration coeffs for structural calculations. */
1075 su2double *Int_Coeffs; /*!< \brief Time integration coefficients for structural method. */
1076 unsigned short nElasticityMod, /*!< \brief Number of different values for the elasticity modulus. */
1077 nPoissonRatio, /*!< \brief Number of different values for the Poisson ratio modulus. */
1078 nMaterialDensity, /*!< \brief Number of different values for the Material density. */
1079 nMaterialThermalExpansion; /*!< \brief Number of different values for thermal expansion coefficient. */
1080 su2double *ElasticityMod, /*!< \brief Value of the elasticity moduli. */
1081 *PoissonRatio, /*!< \brief Value of the Poisson ratios. */
1082 *MaterialDensity, /*!< \brief Value of the Material densities. */
1083 *MaterialThermalExpansion, /*!< \brief Value of the thermal expansion coefficients. */
1084 MaterialReferenceTemperature; /*!< \brief Value of the reference temperature for thermal expansion. */
1085 unsigned short nElectric_Field, /*!< \brief Number of different values for the electric field in the membrane. */
1086 nDim_Electric_Field; /*!< \brief Dimensionality of the problem. */
1087 unsigned short nDim_RefNode; /*!< \brief Dimensionality of the vector . */
1088 su2double *Electric_Field_Mod, /*!< \brief Values of the modulus of the electric field. */
1089 *Electric_Field_Dir; /*!< \brief Direction of the electric field. */
1090 su2double *RefNode_Displacement; /*!< \brief Displacement of the reference node. */
1091 bool Ramp_Load; /*!< \brief Apply the load with linear increases. */
1092 unsigned short Dynamic_LoadTransfer; /*!< \brief Method for dynamic load transferring. */
1093 bool IncrementalLoad; /*!< \brief Apply the load in increments (for nonlinear structural analysis). */
1094 unsigned long IncLoad_Nincrements; /*!< \brief Number of increments. */
1095 su2double Ramp_Time; /*!< \brief Time until the maximum load is applied. */
1096 bool Predictor, /*!< \brief Determines whether a predictor step is used. */
1097 Relaxation; /*!< \brief Determines whether a relaxation step is used. */
1098 unsigned short Pred_Order; /*!< \brief Order of the predictor for FSI applications. */
1099 INTERFACE_INTERPOLATOR Kind_Interpolation; /*!< \brief type of interpolation to use for FSI applications. */
1100 bool ConservativeInterpolation; /*!< \brief Conservative approach for non matching mesh interpolation. */
1101 unsigned short NumNearestNeighbors; /*!< \brief Number of neighbors used for Nearest Neighbor interpolation. */
1102 RADIAL_BASIS Kind_RadialBasisFunction; /*!< \brief type of radial basis function to use for radial basis FSI. */
1103 bool RadialBasisFunction_PolynomialOption; /*!< \brief Option of whether to include polynomial terms in Radial Basis Function Interpolation or not. */
1104 su2double RadialBasisFunction_Parameter; /*!< \brief Radial basis function parameter (radius). */
1105 su2double RadialBasisFunction_PruneTol; /*!< \brief Tolerance to prune the RBF interpolation matrix. */
1106 bool Prestretch; /*!< \brief Read a reference geometry for optimization purposes. */
1107 string Prestretch_FEMFileName; /*!< \brief File name for reference geometry. */
1108 string FEA_FileName; /*!< \brief File name for element-based properties. */
1109 bool FEAAdvancedMode; /*!< \brief Determine if advanced features are used from the element-based FEA analysis (experimental). */
1110 su2double RefGeom_Penalty, /*!< \brief Penalty weight value for the reference geometry objective function. */
1111 RefNode_Penalty, /*!< \brief Penalty weight value for the reference node objective function. */
1112 DV_Penalty; /*!< \brief Penalty weight to add a constraint to the total amount of stiffness. */
1113 array<su2double,2> StressPenaltyParam = {{1.0, 20.0}}; /*!< \brief Allowed stress and KS aggregation exponent. */
1114 unsigned long Nonphys_Points, /*!< \brief Current number of non-physical points in the solution. */
1115 Nonphys_Reconstr; /*!< \brief Current number of non-physical reconstructions for 2nd-order upwinding. */
1116 su2double ParMETIS_tolerance; /*!< \brief Load balancing tolerance for ParMETIS. */
1117 long ParMETIS_pointWgt; /*!< \brief Load balancing weight given to points. */
1118 long ParMETIS_edgeWgt; /*!< \brief Load balancing weight given to edges. */
1119 unsigned short DirectDiff; /*!< \brief Direct Differentation mode. */
1120 bool DiscreteAdjoint, /*!< \brief AD-based discrete adjoint mode. */
1121 DiscreteAdjointDebug; /*!< \brief Discrete adjoint debug mode using tags. */
1122 su2double Const_DES; /*!< \brief Detached Eddy Simulation Constant. */
1123 WINDOW_FUNCTION Kind_WindowFct; /*!< \brief Type of window (weight) function for objective functional. */
1124 unsigned short Kind_HybridRANSLES; /*!< \brief Kind of Hybrid RANS/LES. */
1125 unsigned short Kind_RoeLowDiss; /*!< \brief Kind of Roe scheme with low dissipation for unsteady flows. */
1126 struct CStochBackScatParam {
1127 bool StochasticBackscatter; /*!< \brief Option to include Stochastic Backscatter Model. */
1128 su2double SBS_Cdelta; /*!< \brief Stochastic Backscatter Model lengthscale coefficient. */
1129 unsigned short SBS_maxIterSmooth; /*!< \brief Maximum number of smoothing iterations for the SBS model. */
1130 su2double SBS_Ctau; /*!< \brief Stochastic Backscatter Model timescale coefficient. */
1131 su2double SBS_Cmag; /*!< \brief Stochastic Backscatter Model intensity coefficient. */
1132 bool stochSourceNu; /*!< \brief Option for including stochastic source term in turbulence model equation (Stochastic Backscatter Model). */
1133 bool stochSourceDiagnostics; /*!< \brief Option for writing diagnostics related to stochastic source terms in Langevin equations (Stochastic Backscatter Model). */
1134 bool StochBackscatterInBox; /*!< \brief Option for activating the Stochastic Backscatter Model only in a bounded box. */
1135 su2double StochBackscatterBoxBounds[6]; /*!< \brief Bounds of the box where the Stochastic Backscatter Model is active. */
1136 su2double stochFdThreshold; /*!< \brief Shielding function lower threshold for application of Stochastic Backscatter Model. */
1137 su2double stochSourceRelax; /*!< \brief Relaxation factor for stochastic source term generation (Stochastic Backscatter Model). */
1138 } SBSParam;
1139 bool enforceLES; /*!< \brief Option to enforce LES mode in hybrid RANS-LES simulations. */
1140 su2double LES_FilterWidth; /*!< \brief LES filter width for hybrid RANS-LES simulations. */
1141
1142 unsigned short nSpanWiseSections; /*!< \brief number of span-wise sections */
1143 unsigned short nSpanMaxAllZones; /*!< \brief number of maximum span-wise sections for all zones */
1144 unsigned short *nSpan_iZones; /*!< \brief number of span-wise sections for each zones */
1145 bool turbMixingPlane; /*!< \brief option for turbulent mixingplane */
1146 bool SpatialFourier; /*!< \brief option for computing the fourier transforms for subsonic non-reflecting BC. */
1147 bool RelFrame_SlidingPlane; /*!< \brief option for relative frame slidingplane */
1148 bool RampMotionFrame; /*!< \brief option for ramping up or down the motion Frame values */
1149 bool RampOutlet; /*!< \brief option for ramping up or down the outlet values */
1150 bool RampMUSCL;
1151 bool RampRotatingFrame; /*!< \brief option for ramping up or down the motion Frame values */
1152 bool RampTranslationFrame; /*!< \brief option for ramping up or down the outlet values */
1153 bool RampOutletMassFlow; /*!< \brief option for ramping up or down the motion Frame values */
1154 bool RampOutletPressure; /*!< \brief option for ramping up or down the outlet values */
1155 su2double AverageMachLimit; /*!< \brief option for turbulent mixingplane */
1156 su2double FinalRotation_Rate_Z; /*!< \brief Final rotation rate Z if Ramp rotating frame is activated. */
1157 su2double FinalTranslation_Rate_Y; /*!< \brief Final translation rate Y if Ramp translation frame is activated. */
1158 su2double FinalOutletPressure; /*!< \brief Final outlet pressure if Ramp outlet pressure is activated. */
1159 su2double FinalOutletMassFlow; /*!< \brief Final outlet mass flow rate if Ramp outlet mass flow rate is activated */
1160 su2double MonitorOutletPressure; /*!< \brief Monitor outlet pressure if Ramp outlet pressure is activated. */
1161 su2double MonitorOutletMassFlow; /*!< \brief Monitor outlet mass flow rate if ramp outlet mass flow rate is activated. */
1162 array<su2double, N_POLY_COEFFS> cp_polycoeffs{{0.0}}; /*!< \brief Array for specific heat polynomial coefficients. */
1163 array<su2double, N_POLY_COEFFS> mu_polycoeffs{{0.0}}; /*!< \brief Array for viscosity polynomial coefficients. */
1164 array<su2double, N_POLY_COEFFS> kt_polycoeffs{{0.0}}; /*!< \brief Array for thermal conductivity polynomial coefficients. */
1165 bool Body_Force; /*!< \brief Flag to know if a body force is included in the formulation. */
1166
1167 struct CMUSCLRampParam {
1168 su2double RampMUSCLPower; /*!< \brief Exponent by which to raise the MUSCL ramp to the power of */
1169 MUSCL_RAMP_TYPE Kind_MUSCLRamp; /*!< \brief The kind of MUSCL ramp */
1170 unsigned long rampMUSCLCoeff[3]; /*!< \brief ramp MUSCL value coefficients for the COption class. */
1171 } RampMUSCLParam;
1172 su2double rampMUSCLValue; /*!< \brief Current value of the MUSCL ramp */
1173 CMGOptions MGOptions;
1174 /*--- Multigrid options ---*/
1175 unsigned short nMG_PreSmooth_p{0}, nMG_PostSmooth_p{0}, nMG_CorrecSmooth_p{0};
1176 unsigned short *MG_PreSmooth_p{nullptr}, *MG_PostSmooth_p{nullptr}, *MG_CorrecSmooth_p{nullptr};
1177 unsigned short nMG_CflScaling_p{0};
1178 su2double *MG_CflScaling_p{nullptr};
1179
1180 ENUM_STREAMWISE_PERIODIC Kind_Streamwise_Periodic; /*!< \brief Kind of Streamwise periodic flow (pressure drop or massflow) */
1181 bool Streamwise_Periodic_Temperature; /*!< \brief Use real periodicity for Energy equation or otherwise outlet source term. */
1182 su2double Streamwise_Periodic_PressureDrop; /*!< \brief Value of prescribed pressure drop [Pa] which results in an artificial body force vector. */
1183 su2double Streamwise_Periodic_TargetMassFlow; /*!< \brief Value of prescribed massflow [kg/s] which results in an delta p and therefore an artificial body force vector. */
1184 su2double Streamwise_Periodic_OutletHeat; /*!< /brief Heatflux boundary [W/m^2] imposed at streamwise periodic outlet. */
1185
1186 su2double *FreeStreamTurboNormal; /*!< \brief Direction to initialize the flow in turbomachinery computation */
1187 su2double Restart_Bandwidth_Agg; /*!< \brief The aggregate of the bandwidth for writing binary restarts (to be averaged later). */
1188 su2double Max_Vel2; /*!< \brief The maximum velocity^2 in the domain for the incompressible preconditioner. */
1189 su2double RangePressure[2]; /*!< \brief The pressure difference pmax-pmin in the domain for the target mass flow rate scaling. */
1190 bool topology_optimization; /*!< \brief If the structural solver should consider a variable density field to penalize element stiffness. */
1191 string top_optim_output_file; /*!< \brief File to where the derivatives w.r.t. element densities will be written to. */
1192 su2double simp_exponent; /*!< \brief Exponent for the density-based stiffness penalization of the SIMP method. */
1193 su2double simp_minimum_stiffness; /*!< \brief Lower bound for the stiffness penalization of the SIMP method. */
1194 ENUM_FILTER_KERNEL* top_optim_kernels; /*!< \brief The kernels to use. */
1195 unsigned short top_optim_nKernel; /*!< \brief Number of kernels specified. */
1196 unsigned short top_optim_nKernelParams; /*!< \brief Number of kernel parameters specified. */
1197 unsigned short top_optim_nRadius; /*!< \brief Number of radius values specified. */
1198 unsigned short top_optim_search_lim; /*!< \brief Limit the maximum "logical radius" considered during filtering. */
1199 su2double *top_optim_kernel_params; /*!< \brief The kernel parameters. */
1200 su2double *top_optim_filter_radius; /*!< \brief Radius of the filter(s) used on the design density for topology optimization. */
1201 ENUM_PROJECTION_FUNCTION top_optim_proj_type; /*!< \brief The projection function used in topology optimization. */
1202 su2double top_optim_proj_param; /*!< \brief The value of the parameter for the projection function. */
1203 bool HeatSource; /*!< \brief Flag to know if there is a volumetric heat source on the flow. */
1204 su2double ValHeatSource; /*!< \brief Value of the volumetric heat source on the flow (W/m3). */
1205 su2double Heat_Source_Rot_Z; /*!< \brief Rotation of the volumetric heat source on the Z axis. */
1206 RADIATION_MODEL Kind_Radiation; /*!< \brief Kind of radiation model used. */
1207 P1_INIT Kind_P1_Init; /*!< \brief Kind of initialization used in the P1 model. */
1208 su2double Absorption_Coeff, /*!< \brief Absorption coefficient of the medium (radiation). */
1209 Scattering_Coeff; /*!< \brief Scattering coefficient of the medium (radiation). */
1210 unsigned short nMarker_Emissivity; /*!< \brief Number of markers for which the emissivity is defined. */
1211 string *Marker_Emissivity; /*!< \brief Wall markers with defined emissivity. */
1212 su2double *Wall_Emissivity; /*!< \brief Emissivity of the wall. */
1213 bool Radiation; /*!< \brief Determines if a radiation model is incorporated. */
1214 su2double CFL_Rad; /*!< \brief CFL Number for the radiation solver. */
1215
1216 array<su2double,6> default_cfl_adapt; /*!< \brief Default CFL adapt param array for the COption class. */
1217 su2double vel_init[3], /*!< \brief initial velocity array for the COption class. */
1218 vel_inf[3], /*!< \brief freestream velocity array for the COption class. */
1219 eng_cyl[7], /*!< \brief engine box array for the COption class. */
1220 eng_val[5], /*!< \brief engine box array values for the COption class. */
1221 jst_coeff[2], /*!< \brief artificial dissipation (flow) array for the COption class. */
1222 ffd_coeff[3], /*!< \brief artificial dissipation (flow) array for the COption class. */
1223 mixedout_coeff[3], /*!< \brief default mixedout algorithm coefficients for the COption class. */
1224 rampMotionFrameCoeff[3], /*!< \brief ramp motion frame coefficients for the COption class. */
1225 rampOutletCoeff[3], /*!< \brief ramp outlet value coefficients for the COption class. */
1226 jst_adj_coeff[2], /*!< \brief artificial dissipation (adjoint) array for the COption class. */
1227 mesh_box_length[3], /*!< \brief mesh box length for the COption class. */
1228 mesh_box_offset[3], /*!< \brief mesh box offset for the COption class. */
1229 geo_loc[2], /*!< \brief SU2_GEO section locations array for the COption class. */
1230 distortion[2], /*!< \brief SU2_GEO section locations array for the COption class. */
1231 ea_lim[3], /*!< \brief equivalent area limit array for the COption class. */
1232 grid_fix[6], /*!< \brief fixed grid (non-deforming region) array for the COption class. */
1233 ffd_axis[3], /*!< \brief FFD axis for the COption class. */
1234 inc_crit[3], /*!< \brief incremental criteria array for the COption class. */
1235 extrarelfac[2], /*!< \brief extra relaxation factor for Giles BC in the COption class. */
1236 sineload_coeff[3], /*!< \brief values for a sine load. */
1237 body_force[3], /*!< \brief body force vector for the COption class. */
1238 nacelle_location[5], /*!< \brief Location of the nacelle. */
1239 hs_axes[3], /*!< \brief principal axes (x, y, z) of the ellipsoid containing the heat source. */
1240 hs_center[3]; /*!< \brief position of the center of the heat source. */
1241
1242 UPWIND Riemann_Solver_FEM; /*!< \brief Riemann solver chosen for the DG method. */
1243 su2double Quadrature_Factor_Straight; /*!< \brief Factor applied during quadrature of elements with a constant Jacobian. */
1244 su2double Quadrature_Factor_Curved; /*!< \brief Factor applied during quadrature of elements with a non-constant Jacobian. */
1245 su2double Quadrature_Factor_Time_ADER_DG; /*!< \brief Factor applied during quadrature in time for ADER-DG. */
1246 su2double Theta_Interior_Penalty_DGFEM; /*!< \brief Factor for the symmetrizing terms in the DG discretization of the viscous fluxes. */
1247 unsigned short byteAlignmentMatMul; /*!< \brief Number of bytes in the vectorization direction for the matrix multiplication. Multipe of 64. */
1248 unsigned short sizeMatMulPadding; /*!< \brief The matrix size in the vectorization direction padded to a multiple of 8. Computed from byteAlignmentMatMul. */
1249 bool Compute_Entropy; /*!< \brief Whether or not to compute the entropy in the fluid model. */
1250 bool Use_Lumped_MassMatrix_DGFEM; /*!< \brief Whether or not to use the lumped mass matrix for DGFEM. */
1251 bool Jacobian_Spatial_Discretization_Only; /*!< \brief Flag to know if only the exact Jacobian of the spatial discretization must be computed. */
1252 bool Compute_Average; /*!< \brief Whether or not to compute averages for unsteady simulations in FV or DG solver. */
1253 unsigned short Comm_Level; /*!< \brief Level of MPI communications to be performed. */
1254 VERIFICATION_SOLUTION Kind_Verification_Solution; /*!< \brief Verification solution for accuracy assessment. */
1255
1256 bool Time_Domain; /*!< \brief Determines if the multizone problem is solved in time-domain */
1257 unsigned long nOuterIter, /*!< \brief Determines the number of outer iterations in the multizone problem */
1258 nInnerIter, /*!< \brief Determines the number of inner iterations in each multizone block */
1259 nTimeIter, /*!< \brief Determines the number of time iterations in the multizone problem */
1260 nIter, /*!< \brief Determines the number of pseudo-time iterations in a single-zone problem */
1261 Restart_Iter; /*!< \brief Determines the restart iteration in the multizone problem */
1262 su2double Time_Step; /*!< \brief Determines the time step for the multizone problem */
1263 su2double Max_Time; /*!< \brief Determines the maximum time for the time-domain problems */
1264
1265 unsigned long HistoryWrtFreq[3], /*!< \brief Array containing history writing frequencies for timer iter, outer iter, inner iter */
1266 ScreenWrtFreq[3]; /*!< \brief Array containing screen writing frequencies for timer iter, outer iter, inner iter */
1267 OUTPUT_TYPE* VolumeOutputFiles; /*!< \brief File formats to output */
1268 unsigned short nVolumeOutputFiles=0;/*!< \brief Number of File formats to output */
1269 unsigned short nVolumeOutputFrequencies; /*!< \brief Number of frequencies for the volume outputs */
1270 unsigned long *VolumeOutputFrequencies; /*!< \brief list containing the writing frequencies */
1271
1272 bool Multizone_Mesh; /*!< \brief Determines if the mesh contains multiple zones. */
1273 bool Wrt_ZoneConv; /*!< \brief Write the convergence history of each individual zone to screen. */
1274 bool Wrt_ZoneHist; /*!< \brief Write the convergence history of each individual zone to file. */
1275 bool SpecialOutput, /*!< \brief Determines if the special output is written. */
1276 Wrt_ForcesBreakdown; /*!< \brief Determines if the forces breakdown file is written. */
1277 string *ScreenOutput, /*!< \brief Kind of the screen output. */
1278 *HistoryOutput, *VolumeOutput; /*!< \brief Kind of the output printed to the history file. */
1279 unsigned short nScreenOutput, /*!< \brief Number of screen output variables (max: 6). */
1280 nHistoryOutput, nVolumeOutput; /*!< \brief Number of variables printed to the history file. */
1281 bool Multizone_Residual; /*!< \brief Determines if memory should be allocated for the multizone residual. */
1282 SST_ParsedOptions sstParsedOptions; /*!< \brief Additional parameters for the SST turbulence model. */
1283 SA_ParsedOptions saParsedOptions; /*!< \brief Additional parameters for the SA turbulence model. */
1284 LM_ParsedOptions lmParsedOptions; /*!< \brief Additional parameters for the LM transition model. */
1285 su2double uq_delta_b; /*!< \brief Parameter used to perturb eigenvalues of Reynolds Stress Matrix */
1286 unsigned short eig_val_comp; /*!< \brief Parameter used to determine type of eigenvalue perturbation */
1287 su2double uq_urlx; /*!< \brief Under-relaxation factor */
1288 bool uq_permute; /*!< \brief Permutation of eigenvectors */
1289
1290 unsigned long pastix_fact_freq; /*!< \brief (Re-)Factorization frequency for PaStiX */
1291 unsigned short pastix_verb_lvl; /*!< \brief Verbosity level for PaStiX */
1292 unsigned short pastix_fill_lvl; /*!< \brief Fill level for PaStiX ILU */
1293
1294 string caseName; /*!< \brief Name of the current case */
1295
1296 unsigned long edgeColorGroupSize; /*!< \brief Size of the edge groups colored for OpenMP parallelization of edge loops. */
1297 bool edgeColoringRelaxDiscAdj; /*!< \brief Allow fallback to smaller edge color group sizes and use more colors for the discrete adjoint. */
1298
1299 unsigned short rcmNumSeeds; /*!< \brief Number of concurrent BFS fronts used to build the RCM reordering. */
1300
1301 INLET_SPANWISE_INTERP Kind_InletInterpolationFunction; /*!brief type of spanwise interpolation function to use for the inlet face. */
1302 INLET_INTERP_TYPE Kind_Inlet_InterpolationType; /*!brief type of spanwise interpolation data to use for the inlet face. */
1303 bool PrintInlet_InterpolatedData; /*!brief option for printing the interpolated data file. */
1304
1305 /*--- libROM configure options ---*/
1306 bool libROM; /*!< \brief Toggle saving to libROM. */
1307 string libROMbase_FileName; /*!< \brief Base filename for libROM file saving. */
1308 POD_KIND POD_Basis_Gen; /*!< \brief Type of POD basis generation (static or incremental). */
1309 unsigned short maxBasisDim, /*!< \brief Maximum number of POD basis dimensions. */
1310 rom_save_freq; /*!< \brief Frequency of unsteady time steps to save. */
1311
1312 unsigned short nSpecies = 0; /*!< \brief Number of transported species equations (for NEMO and species transport)*/
1313
1314 /* other NEMO configure options*/
1315 unsigned short nSpecies_Cat_Wall, /*!< \brief No. of species for a catalytic wall. */
1316 nSpecies_inlet, /*!< \brief No. of species for NEMO inlet. */
1317 iWall_Catalytic, /*!< \brief Iterator over catalytic walls. */
1318 nWall_Catalytic; /*!< \brief No. of catalytic walls. */
1319 su2double *Gas_Composition, /*!< \brief Initial mass fractions of flow [dimensionless]. */
1320 *Supercatalytic_Wall_Composition, /*!< \brief Supercatalytic wall mass fractions [dimensionless]. */
1321 pnorm_heat; /*!< \brief pnorm for heat-flux. */
1322 bool frozen, /*!< \brief Flag for determining if mixture is frozen. */
1323 ionization, /*!< \brief Flag for determining if free electron gas is in the mixture. */
1324 vt_transfer_res_limit, /*!< \brief Flag for determining if residual limiting for source term VT-transfer is used. */
1325 monoatomic, /*!< \brief Flag for monoatomic mixture. */
1326 Supercatalytic_Wall; /*!< \brief Flag for supercatalytic wall. */
1327 string GasModel, /*!< \brief Gas Model. */
1328 *Wall_Catalytic; /*!< \brief Pointer to catalytic walls. */
1329 TRANSCOEFFMODEL Kind_TransCoeffModel; /*!< \brief Transport coefficient Model for NEMO solver. */
1330 su2double CatalyticEfficiency; /*!< \brief Wall catalytic efficiency. */
1331 su2double *Inlet_MassFrac; /*!< \brief Specified Mass fraction vectors for NEMO inlet boundaries. */
1332 su2double Inlet_Temperature_ve; /*!< \brief Specified Tve for supersonic inlet boundaries (NEMO solver). */
1333
1334 /*--- Additional species solver options ---*/
1335 bool Species_Clipping; /*!< \brief Boolean that activates solution clipping for scalar transport. */
1336 su2double* Species_Clipping_Max; /*!< \brief Maximum value of clipping for scalar transport. */
1337 su2double* Species_Clipping_Min; /*!< \brief Minimum value of clipping for scalar transport. */
1338 unsigned short nSpecies_Clipping_Max, nSpecies_Clipping_Min; /*!< \brief Number of entries of SPECIES_CLIPPING_MIN/MAX */
1339 bool Species_StrongBC; /*!< \brief Boolean whether strong BC's are used for in- outlet of the species solver. */
1340 su2double* Species_Init; /*!< \brief Initial uniform value for scalar transport. */
1341 unsigned short nSpecies_Init; /*!< \brief Number of entries of SPECIES_INIT */
1342
1343 /*--- Additional flamelet solver options ---*/
1344 FluidFlamelet_ParsedOptions flamelet_ParsedOptions; /*!< \brief Additional flamelet solver options */
1345
1346 /*!
1347 * \brief Set the default values of config options not set in the config file using another config object.
1348 * \param config - Config object to use the default values from.
1349 */
1350 void SetDefaultFromConfig(CConfig *config);
1351
1352 /*!
1353 * \brief Set default values for all options not yet set.
1354 */
1355 void SetDefault();
1356
1357 /*--- all_options is a map containing all of the options. This is used during config file parsing
1358 to track the options which have not been set (so the default values can be used). Without this map
1359 there would be no list of all the config file options. ---*/
1360
1361 map<string, bool> all_options;
1362
1363 /*--- brief param is a map from the option name (config file string) to its decoder (the specific child
1364 class of COptionBase that turns the string into a value) ---*/
1365
1366 map<string, COptionBase*> option_map;
1367
1368
1369 // All of the addXxxOptions take in the name of the option, and a reference to the field of that option
1370 // in the option structure. Depending on the specific type, it may take in a default value, and may
1371 // take in extra options. The addXxxOptions mostly follow the same pattern, so please see addDoubleOption
1372 // for detailed comments.
1373 //
1374 // List options are those that can be an unknown number of elements, and also take in a reference to
1375 // an integer. This integer will be populated with the number of elements of that type unmarshaled.
1376 //
1377 // Array options are those with a fixed number of elements.
1378 //
1379 // List and Array options should also be able to be specified with the string "NONE" indicating that there
1380 // are no elements. This allows the option to be present in a config file but left blank.
1381
1382 /*!< \brief addDoubleOption creates a config file parser for an option with the given name whose
1383 value can be represented by a su2double.*/
1384
1385 void addDoubleOption(const string& name, su2double & option_field, su2double default_value);
1386
1387 void addStringOption(const string& name, string & option_field, string default_value);
1388
1389 void addIntegerOption(const string& name, int & option_field, int default_value);
1390
1391 void addUnsignedLongOption(const string& name, unsigned long & option_field, unsigned long default_value);
1392
1393 void addUnsignedShortOption(const string& name, unsigned short & option_field, unsigned short default_value);
1394
1395 void addLongOption(const string& name, long & option_field, long default_value);
1396
1397 void addBoolOption(const string& name, bool & option_field, bool default_value);
1398
1399 // enum types work differently than all of the others because there are a small number of valid
1400 // string entries for the type. One must also provide a list of all the valid strings of that type.
1401 template <class Tenum, class Tfield>
1402 void addEnumOption(const string name, Tfield& option_field, const map<string,Tenum>& enum_map, Tenum default_value);
1403
1404 // input_size is the number of options read in from the config file
1405 template <class Tenum, class Tfield>
1406 void addEnumListOption(const string name, unsigned short& input_size, Tfield*& option_field, const map<string,Tenum>& enum_map);
1407
1408 void addDoubleArrayOption(const string& name, int size, bool allow_fewer, su2double* option_field);
1409
1410 void addUShortArrayOption(const string& name, int size, bool allow_fewer, unsigned short* option_field);
1411
1412 void addULongArrayOption(const string& name, int size, bool allow_fewer, unsigned long* option_field);
1413
1414 void addDoubleListOption(const string& name, unsigned short & size, su2double * & option_field);
1415
1416 void addShortListOption(const string& name, unsigned short & size, short * & option_field);
1417
1418 void addUShortListOption(const string& name, unsigned short & size, unsigned short * & option_field);
1419
1420 void addULongListOption(const string& name, unsigned short & size, unsigned long * & option_field);
1421
1422 void addStringListOption(const string& name, unsigned short & num_marker, string* & option_field);
1423
1424 void addConvectOption(const string& name, unsigned short & space_field, CENTERED & centered_field, UPWIND & upwind_field);
1425
1426 void addConvectFEMOption(const string& name, unsigned short & space_field, unsigned short & fem_field);
1427
1428 void addMathProblemOption(const string& name, bool & ContinuousAdjoint, const bool & ContinuousAdjoint_default,
1429 bool & DiscreteAdjoint, const bool & DiscreteAdjoint_default,
1430 bool & Restart_Flow, const bool & Restart_Flow_default);
1431
1432 void addDVParamOption(const string& name, unsigned short & nDV_field, su2double** & paramDV, string* & FFDTag,
1433 unsigned short* & design_variable);
1434
1435 void addDVValueOption(const string& name, unsigned short* & nDVValue_field, su2double** & valueDV, unsigned short & nDV_field, su2double** & paramDV,
1436 unsigned short* & design_variable);
1437
1438 void addFFDDefOption(const string& name, unsigned short & nFFD_field, su2double** & coordFFD, string* & FFDTag);
1439
1440 void addFFDDegreeOption(const string& name, unsigned short & nFFD_field, unsigned short** & degreeFFD);
1441
1442 void addStringDoubleListOption(const string& name, unsigned short & list_size, string * & string_field,
1443 su2double* & double_field);
1444
1445 void addInletOption(const string& name, unsigned short & nMarker_Inlet, string * & Marker_Inlet,
1446 su2double* & Ttotal, su2double* & Ptotal, su2double** & FlowDir);
1447
1448 void addInletSpeciesOption(const string& name, unsigned short & nMarker_Inlet_Species, string * & Marker_Inlet_Species,
1449 su2double** & inlet_species_val, unsigned short & nSpecies_per_Inlet);
1450
1451 void addInletTurbOption(const string& name, unsigned short& nMarker_Inlet_Turb, string*& Marker_Inlet_Turb,
1452 su2double** & Turb_Properties, unsigned short & nTurb_Properties);
1453
1454 template <class Tenum>
1455 void addRiemannOption(const string name, unsigned short & nMarker_Riemann, string * & Marker_Riemann, unsigned short* & option_field, const map<string, Tenum> & enum_map,
1456 su2double* & var1, su2double* & var2, su2double** & FlowDir);
1457
1458 template <class Tenum>
1459 void addGilesOption(const string name, unsigned short & nMarker_Giles, string * & Marker_Giles, unsigned short* & option_field, const map<string, Tenum> & enum_map,
1460 su2double* & var1, su2double* & var2, su2double** & FlowDir, su2double* & relaxfactor1, su2double* & relaxfactor2);
1461
1462 template <class Tenum>
1463 void addWallSpeciesOption(const string name, unsigned short & nMarker_Wall_Species, string * & Marker_Wall_Species,
1464 WALL_SPECIES_TYPE** & option_field, const map<string, Tenum> & enum_map,
1465 su2double** & value, unsigned short & nSpecies_per_Wall);
1466
1467 void addExhaustOption(const string& name, unsigned short & nMarker_Exhaust, string * & Marker_Exhaust,
1468 su2double* & Ttotal, su2double* & Ptotal);
1469
1470 void addPeriodicOption(const string & name, unsigned short & nMarker_PerBound,
1471 string* & Marker_PerBound, string* & Marker_PerDonor,
1472 su2double** & RotCenter, su2double** & RotAngles, su2double** & Translation);
1473
1474 void addTurboPerfOption(const string & name, unsigned short & nMarker_TurboPerf,
1475 string* & Marker_TurboBoundIn, string* & Marker_TurboBoundOut, string* & Marker_Turbomachinery);
1476
1477 void addActDiskOption(const string & name,
1478 unsigned short & nMarker_ActDiskInlet, unsigned short & nMarker_ActDiskOutlet, string* & Marker_ActDiskInlet, string* & Marker_ActDiskOutlet,
1479 su2double** & ActDisk_PressJump, su2double** & ActDisk_TempJump, su2double** & ActDisk_Omega);
1480
1481 void addActDiskBemOption(const string& name,
1482 unsigned short& nMarker_ActDiskBemInlet, unsigned short& nMarker_ActDiskBemOutlet, string*& Marker_ActDiskBemInlet, string*& Marker_ActDiskBemOutlet,
1483 su2double**& ActDiskBem_X, su2double**& ActDiskBem_Y, su2double**& ActDiskBem_Z);
1484
1485 void addWallFunctionOption(const string &name, unsigned short &list_size,
1486 string* &string_field, WALL_FUNCTIONS* &val_Kind_WF,
1487 unsigned short** &val_IntInfo_WF, su2double** &val_DoubleInfo_WF);
1488
1489 void addPythonOption(const string& name);
1490
1491public:
1492
1493 /*!
1494 * \brief Tags for the different fields in a restart file.
1495 */
1496 vector<string> fields;
1497
1498 /*!
1499 * \brief Constructor of the class which reads the input file.
1500 */
1501 CConfig(char case_filename[MAX_STRING_SIZE], SU2_COMPONENT val_software, bool verb_high);
1502
1503 /*!
1504 * \brief Constructor of the class which takes an istream buffer containing the config options.
1505 */
1506 CConfig(istream &case_buffer, SU2_COMPONENT val_software, bool verb_high);
1507
1508 /*!
1509 * \brief Constructor of the class which reads the input file and uses default options from another config.
1510 */
1511 CConfig(CConfig * config, char case_filename[MAX_STRING_SIZE], SU2_COMPONENT val_software, unsigned short val_iZone, unsigned short val_nZone, bool verb_high);
1512
1513 /*!
1514 * \brief Constructor of the class which reads the input file.
1515 */
1516 CConfig(char case_filename[MAX_STRING_SIZE], SU2_COMPONENT val_software);
1517
1518 /*!
1519 * \brief Constructor of the class which reads the input file.
1520 */
1521 CConfig(char case_filename[MAX_STRING_SIZE], CConfig *config);
1522
1523 /*!
1524 * \brief Destructor of the class.
1525 */
1526 ~CConfig(void);
1527
1528 /*!
1529 * \brief Initialize common fields of the config structure.
1530 */
1531 void Init();
1532
1533 /*!
1534 * \brief Set the number of zones
1535 */
1536 void SetnZone();
1537
1538 /*!
1539 * \brief Set the physical dimension of the problem
1540 */
1541 void SetnDim();
1542
1543 /*!
1544 * \brief Print the header to screen
1545 * \param val_software - Kind of software component
1546 */
1547 void SetHeader(SU2_COMPONENT val_software) const;
1548
1549 /*!
1550 * \brief Get the MPI communicator of SU2.
1551 * \return MPI communicator of SU2.
1552 */
1554
1555 /*!
1556 * \brief Set the MPI communicator for SU2.
1557 * \param[in] Communicator - MPI communicator for SU2.
1558 */
1559 void SetMPICommunicator(SU2_MPI::Comm Communicator);
1560
1561 /*!
1562 * \brief Helper function, which checks and opens a binary SU2 file.
1563 * \param[in] val_mesh_filename - Name of the file with the grid information.
1564 * \param[in] readnDim = Whether or not nDim must be read. If false nZone is read.
1565 * \return Number of dimensions or number of zones in the grid.
1566 */
1567 static unsigned short CheckOpenSU2BinFile(const string& val_mesh_filename, bool readnDim);
1568
1569 /*!
1570 * \brief Gets the number of zones in the mesh file.
1571 * \param[in] val_mesh_filename - Name of the file with the grid information.
1572 * \param[in] val_format - Format of the file with the grid information.
1573 * \return Total number of zones in the grid file.
1574 */
1575 static unsigned short GetnZone(const string& val_mesh_filename, unsigned short val_format);
1576
1577 /*!
1578 * \brief Gets the number of dimensions in the mesh file
1579 * \param[in] val_mesh_filename - Name of the file with the grid information.
1580 * \param[in] val_format - Format of the file with the grid information.
1581 * \return Total number of domains in the grid file.
1582 */
1583 static unsigned short GetnDim(const string& val_mesh_filename, unsigned short val_format);
1584
1585 /*!
1586 * \brief Initializes pointers to null
1587 */
1588 void SetPointersNull(void);
1589
1590 /*!
1591 * \brief breaks an input line from the config file into a set of tokens
1592 * \param[in] str - the input line string
1593 * \param[out] option_name - the name of the option found at the beginning of the line
1594 * \param[out] option_value - the tokens found after the "=" sign on the line
1595 * \return false if the line is empty or a commment, true otherwise
1596 */
1597 bool TokenizeString(string & str, string & option_name, vector<string> & option_value);
1598
1599 /*!
1600 * \brief Get reference origin for moment computation.
1601 * \param[in] val_marker - the marker we are monitoring.
1602 * \return Reference origin (in cartesians coordinates) for moment computation.
1603 */
1604 std::array<su2double,3> GetRefOriginMoment(unsigned short val_marker) const {
1605 std::array<su2double,3> RefOriginMoment{{0.0}};
1606 if(val_marker < nMarker_Monitoring) {
1607 RefOriginMoment[0] = RefOriginMoment_X[val_marker];
1608 RefOriginMoment[1] = RefOriginMoment_Y[val_marker];
1609 RefOriginMoment[2] = RefOriginMoment_Z[val_marker];
1610 }
1611 return RefOriginMoment;
1612 }
1613
1614 /*!
1615 * \brief Get reference origin x-coordinate for moment computation.
1616 * \param[in] val_marker - the marker we are monitoring.
1617 * \return Reference origin x-coordinate (in cartesians coordinates) for moment computation.
1618 */
1619 su2double GetRefOriginMoment_X(unsigned short val_marker) const { return RefOriginMoment_X[val_marker]; }
1620
1621 /*!
1622 * \brief Get reference origin y-coordinate for moment computation.
1623 * \param[in] val_marker - the marker we are monitoring.
1624 * \return Reference origin y-coordinate (in cartesians coordinates) for moment computation.
1625 */
1626 su2double GetRefOriginMoment_Y(unsigned short val_marker) const { return RefOriginMoment_Y[val_marker]; }
1627
1628 /*!
1629 * \brief Get reference origin z-coordinate for moment computation.
1630 * \param[in] val_marker - the marker we are monitoring.
1631 * \return Reference origin z-coordinate (in cartesians coordinates) for moment computation.
1632 */
1633 su2double GetRefOriginMoment_Z(unsigned short val_marker) const { return RefOriginMoment_Z[val_marker]; }
1634
1635 /*!
1636 * \brief Set reference origin x-coordinate for moment computation.
1637 * \param[in] val_marker - the marker we are monitoring.
1638 * \param[in] val_origin - New x-coordinate of the mesh motion origin.
1639 */
1640 void SetRefOriginMoment_X(unsigned short val_marker, su2double val_origin) { RefOriginMoment_X[val_marker] = val_origin; }
1641
1642 /*!
1643 * \brief Set reference origin y-coordinate for moment computation.
1644 * \param[in] val_marker - the marker we are monitoring.
1645 * \param[in] val_origin - New y-coordinate of the mesh motion origin.
1646 */
1647 void SetRefOriginMoment_Y(unsigned short val_marker, su2double val_origin) { RefOriginMoment_Y[val_marker] = val_origin; }
1648
1649 /*!
1650 * \brief Set reference origin z-coordinate for moment computation.
1651 * \param[in] val_marker - the marker we are monitoring.
1652 * \param[in] val_origin - New z-coordinate of the mesh motion origin.
1653 */
1654 void SetRefOriginMoment_Z(unsigned short val_marker, su2double val_origin) { RefOriginMoment_Z[val_marker] = val_origin; }
1655
1656 /*!
1657 * \brief Get index of the upper and lower horizontal plane.
1658 * \param[in] index - 0 means upper surface, and 1 means lower surface.
1659 * \return Index of the upper and lower surface.
1660 */
1661 string GetPlaneTag(unsigned short index) const { return PlaneTag[index]; }
1662
1663 /*!
1664 * \brief Get the integration limits for the equivalent area computation.
1665 * \param[in] index - 0 means x_min, and 1 means x_max.
1666 * \return Integration limits for the equivalent area computation.
1667 */
1668 su2double GetEA_IntLimit(unsigned short index) const { return ea_lim[index]; }
1669
1670 /*!
1671 * \brief Get the integration limits for the equivalent area computation.
1672 * \param[in] index - 0 means x_min, and 1 means x_max.
1673 * \return Integration limits for the equivalent area computation.
1674 */
1675 su2double GetEA_ScaleFactor(void) const { return EA_ScaleFactor; }
1676
1677 /*!
1678 * \brief Get the limit value for the adjoint variables.
1679 * \return Limit value for the adjoint variables.
1680 */
1681 su2double GetAdjointLimit(void) const { return AdjointLimit; }
1682
1683 /*!
1684 * \brief Get the coordinates where of the box where the grid is going to be deformed.
1685 * \return Coordinates where of the box where the grid is going to be deformed.
1686 */
1687 const su2double *GetHold_GridFixed_Coord(void) const { return grid_fix; }
1688
1689 /*!
1690 * \brief Get the values of subsonic engine.
1691 * \return Values of subsonic engine.
1692 */
1693 const su2double *GetSubsonicEngine_Values(void) const { return eng_val; }
1694
1695 /*!
1696 * \brief Get the cycle of a subsonic engine.
1697 * \return Cyl of a subsonic engine.
1698 */
1699 const su2double *GetSubsonicEngine_Cyl(void) const { return eng_cyl; }
1700
1701 /*!
1702 * \brief Get the distortion rack.
1703 * \return Distortion rack.
1704 */
1705 const su2double *GetDistortionRack(void) const { return distortion; }
1706
1707 /*!
1708 * \brief Get Description of the geometry to be analyzed
1709 */
1710 unsigned short GetGeo_Description(void) const { return Geo_Description; }
1711
1712 /*!
1713 * \brief Creates a tecplot file to visualize the partition made by the DDC software.
1714 * \return <code>TRUE</code> if the partition is going to be plotted; otherwise <code>FALSE</code>.
1715 */
1716 bool GetExtraOutput(void) const { return ExtraOutput; }
1717
1718 /*!
1719 * \brief Heat solver zone with extra screen output.
1720 * \return Heat solver zone with extra screen output.
1721 */
1722 long GetExtraHeatOutputZone(void) const { return ExtraHeatOutputZone; }
1723
1724 /*!
1725 * \brief Get the value of the Mach number (velocity divided by speed of sound).
1726 * \return Value of the Mach number.
1727 */
1728 su2double GetMach(void) const { return Mach; }
1729
1730 /*!
1731 * \brief Get the value of the Gamma of fluid (ratio of specific heats).
1732 * \return Value of the constant: Gamma
1733 */
1734 su2double GetGamma(void) const { return Gamma; }
1735
1736 /*!
1737 * \brief Get the value of the Confinement Parameter.
1738 * \return Value of the constant: Confinement Parameter
1739 */
1740 su2double GetConfinement_Param(void) const { return Confinement_Param; }
1741
1742 /*!
1743 * \brief Get the values of the CFL adaption parameters.
1744 * \return Value of CFL adaption parameter
1745 */
1746 su2double GetCFL_AdaptParam(unsigned short val_index) const { return CFL_AdaptParam[val_index]; }
1747
1748 /*!
1749 * \brief Get the value of the CFL adaption flag.
1750 * \return <code>TRUE</code> if CFL adaption is active; otherwise <code>FALSE</code>.
1751 */
1752 bool GetCFL_Adapt(void) const { return CFL_Adapt; }
1753
1754 /*!
1755 * \brief Get the outlier mitigation parameters.
1756 */
1757 const unsigned long* GetOutlierMitigationParam() const { return outlierMitigationParam; }
1758
1759 /*!
1760 * \brief Get the value of the limits for the sections.
1761 * \return Value of the limits for the sections.
1762 */
1763 su2double GetStations_Bounds(unsigned short val_var) const { return geo_loc[val_var]; }
1764
1765 /*!
1766 * \brief Get the value of the vector that connects the cartesian axis with a sherical or cylindrical one.
1767 * \return Coordinate of the Axis.
1768 */
1769 su2double GetFFD_Axis(unsigned short val_var) const { return ffd_axis[val_var]; }
1770
1771 /*!
1772 * \brief Get the value of the bulk modulus.
1773 * \return Value of the bulk modulus.
1774 */
1775 su2double GetBulk_Modulus(void) const { return Bulk_Modulus; }
1776
1777 /*!
1778 * \brief Get the epsilon^2 multiplier for Beta in the incompressible preconditioner.
1779 * \return Value of the epsilon^2 multiplier for Beta in the incompressible preconditioner.
1780 */
1781 su2double GetBeta_Factor(void) const { return Beta_Factor; }
1782
1783 /*!
1784 * \brief Get the value of specific gas constant.
1785 * \return Value of the constant: Gamma
1786 */
1787 su2double GetGas_Constant(void) const { return Gas_Constant; }
1788
1789 /*!
1790 * \brief Get the value of specific gas constant.
1791 * \return Value of the constant: Gamma
1792 */
1793 su2double GetGas_ConstantND(void) const { return Gas_ConstantND; }
1794
1795 /*!
1796 * \brief Get the value of the molecular weight for an incompressible ideal gas (g/mol).
1797 * \return Value of the molecular weight for an incompressible ideal gas (g/mol).
1798 */
1799 su2double GetMolecular_Weight(unsigned short val_index = 0) const { return Molecular_Weight[val_index]; }
1800
1801 /*!
1802 * \brief Get the value of specific heat at constant pressure.
1803 * \return Value of the constant: Cp
1804 */
1805 su2double GetSpecific_Heat_Cp(unsigned short val_index = 0) const { return Specific_Heat_Cp[val_index]; }
1806
1807 /*!
1808 * \brief Get the non-dimensional value of specific heat at constant pressure.
1809 * \return Value of the non-dim. constant: Cp
1810 */
1811 su2double GetSpecific_Heat_CpND(unsigned short val_index = 0) const { return Specific_Heat_Cp[val_index] / Gas_Constant_Ref; }
1812
1813 /*!
1814 * \brief Get the value of wall temperature.
1815 * \return Value of the constant: Temperature
1816 */
1817 su2double GetWallTemperature(void) const { return Wall_Temperature; }
1818
1819 /*!
1820 * \brief Get the p-norm for heat-flux objective functions (adjoint problem).
1821 * \return Value of the heat flux p-norm
1822 */
1823 su2double GetPnormHeat(void) const { return pnorm_heat; }
1824
1825 /*!
1826 * \brief Get the reference value for the specific gas constant.
1827 * \return Reference value for the specific gas constant.
1828 */
1829 su2double GetGas_Constant_Ref(void) const { return Gas_Constant_Ref; }
1830
1831 /*!
1832 * \brief Get the reference value for the heat flux.
1833 * \return Reference value for the heat flux.
1834 */
1835 su2double GetHeat_Flux_Ref(void) const { return Heat_Flux_Ref; }
1836
1837 /*!
1838 * \brief Get the value of the freestream temperature.
1839 * \return Freestream temperature.
1840 */
1841 su2double GetTemperature_FreeStream(void) const { return Temperature_FreeStream; }
1842 /*!
1843 * \brief Get the value of the freestream vibrational-electronic temperature.
1844 * \return Freestream vibe-el temperature.
1845 */
1846 su2double GetTemperature_ve_FreeStream(void) const { return Temperature_ve_FreeStream; }
1847
1848 /*!
1849 * \brief Get the value of the freestream energy.
1850 * \return Freestream energy.
1851 */
1852 su2double GetEnergy_FreeStream(void) const { return Energy_FreeStream; }
1853
1854 /*!
1855 * \brief Get the value of the freestream viscosity.
1856 * \return Freestream viscosity.
1857 */
1858 su2double GetViscosity_FreeStream(void) const { return Viscosity_FreeStream; }
1859
1860 /*!
1861 * \brief Get the value of the freestream thermal conductivity.
1862 * \return Freestream thermal conductivity.
1863 */
1864 su2double GetThermalConductivity_FreeStream(void) const { return ThermalConductivity_FreeStream; }
1865
1866 /*!
1867 * \brief Get the value of the freestream heat capacity at constant pressure.
1868 * \return Freestream heat capacity at constant pressure.
1869 */
1870 su2double GetSpecificHeatCp_FreeStream(void) const { return SpecificHeatCp_FreeStream; }
1871
1872 /*!
1873 * \brief Get the value of the freestream density.
1874 * \return Freestream density.
1875 */
1876 su2double GetDensity_FreeStream(void) const { return Density_FreeStream; }
1877
1878 /*!
1879 * \brief Get the magnitude of the free-stream velocity of the fluid.
1880 * \return Magnitude of the free-stream velocity.
1881 */
1882 su2double GetModVel_FreeStream(void) const { return ModVel_FreeStream; }
1883
1884 /*!
1885 * \brief Get the non-dimensional magnitude of the free-stream velocity of the fluid.
1886 * \return Non-dimensional magnitude of the free-stream velocity.
1887 */
1888 su2double GetModVel_FreeStreamND(void) const { return ModVel_FreeStreamND; }
1889
1890 /*!
1891 * \brief Get the value of the laminar Prandtl number.
1892 * \return Laminar Prandtl number.
1893 */
1894 su2double GetPrandtl_Lam(unsigned short val_index = 0) const { return Prandtl_Lam[val_index]; }
1895
1896 /*!
1897 * \brief Get the value of the turbulent Prandtl number.
1898 * \return Turbulent Prandtl number.
1899 */
1900 su2double GetPrandtl_Turb(unsigned short val_index = 0) const { return Prandtl_Turb[val_index]; }
1901
1902 /*!
1903 * \brief Get the value of the von Karman constant kappa for turbulence wall modeling.
1904 * \return von Karman constant.
1905 */
1906 su2double GetwallModel_Kappa() const { return wallModel_Kappa; }
1907
1908 /*!
1909 * \brief Get the value of the max. number of Newton iterations for turbulence wall modeling.
1910 * \return Max number of iterations.
1911 */
1912 unsigned short GetwallModel_MaxIter() const { return wallModel_MaxIter; }
1913
1914 /*!
1915 * \brief Get the value of the relaxation factor for turbulence wall modeling.
1916 * \return Relaxation factor.
1917 */
1918 su2double GetwallModel_RelFac() const { return wallModel_RelFac; }
1919
1920 /*!
1921 * \brief Get the value of the minimum Y+ value below which the wall function is deactivated.
1922 * \return Minimum Y+ value.
1923 */
1924 su2double GetwallModel_MinYPlus() const { return wallModel_MinYplus; }
1925
1926 /*!
1927 * \brief Get the value of the wall model constant B for turbulence wall modeling.
1928 * \return Wall model constant B.
1929 */
1930 su2double GetwallModel_B() const { return wallModel_B; }
1931
1932 /*!
1933 * \brief Get the value of the thermal diffusivity for solids.
1934 * \return Thermal conductivity (solid).
1935 */
1936 su2double GetThermalDiffusivity(void) const { return Thermal_Diffusivity; }
1937
1938 /*!
1939 * \brief Get the value of the reference length for non-dimensionalization.
1940 * This value should always be 1 internally, and is not user-specified.
1941 * \return Reference length for non-dimensionalization.
1942 */
1943 su2double GetLength_Ref(void) const { return Length_Ref; }
1944
1945 /*!
1946 * \brief Get the value of the reference pressure for non-dimensionalization.
1947 * \return Reference pressure for non-dimensionalization.
1948 */
1949 su2double GetPressure_Ref(void) const { return Pressure_Ref; }
1950
1951 /*!
1952 * \brief Get the value of the reference energy for non-dimensionalization.
1953 * \return Reference energy for non-dimensionalization.
1954 */
1955 su2double GetEnergy_Ref(void) const { return Energy_Ref; }
1956
1957 /*!
1958 * \brief Get the value of the reference temperature for non-dimensionalization.
1959 * \return Reference temperature for non-dimensionalization.
1960 */
1961 su2double GetTemperature_Ref(void) const { return Temperature_Ref; }
1962
1963 /*!
1964 * \brief Get the value of the reference temperature for non-dimensionalization.
1965 * \return Reference temperature for non-dimensionalization.
1966 */
1967 su2double GetTemperature_ve_Ref(void) const { return Temperature_ve_Ref; }
1968
1969 /*!
1970 * \brief Get the value of the reference density for non-dimensionalization.
1971 * \return Reference density for non-dimensionalization.
1972 */
1973 su2double GetDensity_Ref(void) const { return Density_Ref; }
1974
1975 /*!
1976 * \brief Get the value of the reference velocity for non-dimensionalization.
1977 * \return Reference velocity for non-dimensionalization.
1978 */
1979 su2double GetVelocity_Ref(void) const { return Velocity_Ref; }
1980
1981 /*!
1982 * \brief Get the value of the reference time for non-dimensionalization.
1983 * \return Reference time for non-dimensionalization.
1984 */
1985 su2double GetTime_Ref(void) const { return Time_Ref; }
1986
1987 /*!
1988 * \brief Get the value of the reference viscosity for non-dimensionalization.
1989 * \return Reference viscosity for non-dimensionalization.
1990 */
1991 su2double GetViscosity_Ref(void) const { return Viscosity_Ref; }
1992
1993 /*!
1994 * \brief Get the value of the reference viscosity for non-dimensionalization.
1995 * \return Reference viscosity for non-dimensionalization.
1996 */
1997 su2double GetHighlite_Area(void) const { return Highlite_Area; }
1998
1999 /*!
2000 * \brief Get the value of the reference viscosity for non-dimensionalization.
2001 * \return Reference viscosity for non-dimensionalization.
2002 */
2003 su2double GetFan_Poly_Eff(void) const { return Fan_Poly_Eff; }
2004
2005 /*!
2006 * \brief Get the value of the reference thermal conductivity for non-dimensionalization.
2007 * \return Reference thermal conductivity for non-dimensionalization.
2008 */
2009 su2double GetThermal_Conductivity_Ref(void) const { return Thermal_Conductivity_Ref; }
2010
2011 /*!
2012 * \brief Get the value of the reference angular velocity for non-dimensionalization.
2013 * \return Reference angular velocity for non-dimensionalization.
2014 */
2015 su2double GetOmega_Ref(void) const { return Omega_Ref; }
2016
2017 /*!
2018 * \brief Get the value of the reference force for non-dimensionalization.
2019 * \return Reference force for non-dimensionalization.
2020 */
2021 su2double GetForce_Ref(void) const { return Force_Ref; }
2022
2023 /*!
2024 * \brief Get the value of the non-dimensionalized freestream pressure.
2025 * \return Non-dimensionalized freestream pressure.
2026 */
2027 su2double GetPressure_FreeStream(void) const { return Pressure_FreeStream; }
2028
2029 /*!
2030 * \brief Get the value of the non-dimensionalized freestream pressure.
2031 * \return Non-dimensionalized freestream pressure.
2032 */
2033 su2double GetPressure_FreeStreamND(void) const { return Pressure_FreeStreamND; }
2034
2035 /*!
2036 * \brief Get the value of the thermodynamic pressure.
2037 * \return Thermodynamic pressure.
2038 */
2039 su2double GetPressure_Thermodynamic(void) const { return Pressure_Thermodynamic; }
2040
2041 /*!
2042 * \brief Get the value of the non-dimensionalized thermodynamic pressure.
2043 * \return Non-dimensionalized thermodynamic pressure.
2044 */
2045 su2double GetPressure_ThermodynamicND(void) const { return Pressure_ThermodynamicND; }
2046
2047 /*!
2048 * \brief Get the vector of the dimensionalized freestream velocity.
2049 * \return Dimensionalized freestream velocity vector.
2050 */
2051 su2double* GetVelocity_FreeStream(void) { return vel_inf; }
2052 const su2double* GetVelocity_FreeStream(void) const { return vel_inf; }
2053
2054 /*!
2055 * \brief Get the value of the non-dimensionalized freestream temperature.
2056 * \return Non-dimensionalized freestream temperature.
2057 */
2058 su2double GetTemperature_FreeStreamND(void) const { return Temperature_FreeStreamND; }
2059
2060 /*!
2061 * \brief Get the value of the non-dimensionalized vibrational-electronic freestream temperature.
2062 * \return Non-dimensionalized vibrational-electronic freestream temperature.
2063 */
2064 su2double GetTemperature_ve_FreeStreamND(void) const { return Temperature_ve_FreeStreamND; }
2065
2066 /*!
2067 * \brief Get the value of the non-dimensionalized freestream density.
2068 * \return Non-dimensionalized freestream density.
2069 */
2070 su2double GetDensity_FreeStreamND(void) const { return Density_FreeStreamND; }
2071
2072 /*!
2073 * \brief Get the vector of the non-dimensionalized freestream velocity.
2074 * \return Non-dimensionalized freestream velocity vector.
2075 */
2076 su2double* GetVelocity_FreeStreamND(void) { return Velocity_FreeStreamND; }
2077 const su2double* GetVelocity_FreeStreamND(void) const { return Velocity_FreeStreamND; }
2078
2079 /*!
2080 * \brief Get the value of the non-dimensionalized freestream energy.
2081 * \return Non-dimensionalized freestream energy.
2082 */
2083 su2double GetEnergy_FreeStreamND(void) const { return Energy_FreeStreamND; }
2084
2085 /*!
2086 * \brief Get the value of the non-dimensionalized freestream viscosity.
2087 * \return Non-dimensionalized freestream viscosity.
2088 */
2089 su2double GetViscosity_FreeStreamND(void) const { return Viscosity_FreeStreamND; }
2090
2091 /*!
2092 * \brief Get the value of the non-dimensionalized freestream thermal conductivity.
2093 * \return Non-dimensionalized freestream thermal conductivity.
2094 */
2095 su2double GetThermalConductivity_FreeStreamND(void) const { return ThermalConductivity_FreeStreamND; }
2096
2097 /*!
2098 * \brief Get the value of the non-dimensionalized freestream heat capacity at constant pressure.
2099 * \return Non-dimensionalized freestream heat capacity at constant pressure.
2100 */
2101 su2double GetSpecificHeatCp_FreeStreamND(void) const { return SpecificHeatCp_FreeStreamND; }
2102
2103 /*!
2104 * \brief Get the value of the non-dimensionalized freestream viscosity.
2105 * \return Non-dimensionalized freestream viscosity.
2106 */
2107 su2double GetTke_FreeStreamND(void) const { return Tke_FreeStreamND; }
2108
2109 /*!
2110 * \brief Get the value of the non-dimensionalized freestream viscosity.
2111 * \return Non-dimensionalized freestream viscosity.
2112 */
2113 su2double GetOmega_FreeStreamND(void) const { return Omega_FreeStreamND; }
2114
2115 /*!
2116 * \brief Get the value of the non-dimensionalized freestream viscosity.
2117 * \return Non-dimensionalized freestream viscosity.
2118 */
2119 su2double GetTke_FreeStream(void) const { return Tke_FreeStream; }
2120
2121 /*!
2122 * \brief Get the value of the non-dimensionalized freestream viscosity.
2123 * \return Non-dimensionalized freestream viscosity.
2124 */
2125 su2double GetOmega_FreeStream(void) const { return Omega_FreeStream; }
2126
2127 /*!
2128 * \brief Get the value of the non-dimensionalized freestream intermittency.
2129 * \return Non-dimensionalized freestream intermittency.
2130 */
2131 su2double GetIntermittency_FreeStream(void) const { return Intermittency_FreeStream; }
2132
2133 /*!
2134 * \brief Get the value of the freestream momentum thickness Reynolds number.
2135 * \return Freestream momentum thickness Reynolds number.
2136 */
2137 su2double GetReThetaT_FreeStream() const { return ReThetaT_FreeStream; }
2138
2139 /*!
2140 * \brief Get the value of the non-dimensionalized freestream turbulence intensity.
2141 * \return Non-dimensionalized freestream intensity.
2142 */
2143 su2double GetTurbulenceIntensity_FreeStream(void) const { return TurbIntensityAndViscRatioFreeStream[0]; }
2144
2145 /*!
2146 * \brief Get the value of the non-dimensionalized freestream turbulence intensity.
2147 * \return Non-dimensionalized freestream intensity.
2148 */
2149 su2double GetNuFactor_FreeStream(void) const { return NuFactor_FreeStream; }
2150
2151 /*!
2152 * \brief Get the k constant factor define a lower limit by multiplication with values in SST turbulence model.
2153 * \return Non-dimensionalized freestream intensity.
2154 */
2155 su2double GetKFactor_LowerLimit(void) const { return KFactor_LowerLimit; }
2156
2157 /*!
2158 * \brief Get the w constant factor define a lower limit by multiplication with values in SST turbulencemodel.
2159 * \return Non-dimensionalized freestream intensity.
2160 */
2161 su2double GetOmegaFactor_LowerLimit(void) const { return OmegaFactor_LowerLimit; }
2162
2163 /*!
2164 * \brief Get the value of the non-dimensionalized engine turbulence intensity.
2165 * \return Non-dimensionalized engine intensity.
2166 */
2167 su2double GetNuFactor_Engine(void) const { return NuFactor_Engine; }
2168
2169 /*!
2170 * \brief Get the flag to use exhaust mass flow as inlet mass flow.
2171 * \return TRUE if exhaust mass flow is used as inlet mass flow.
2172 */
2173 bool GetExhaustToInlet_Engine(void) const { return out2in_mdot_engine; }
2174
2175 /*!
2176 * \brief Get the value of the non-dimensionalized actuator disk turbulence intensity.
2177 * \return Non-dimensionalized actuator disk intensity.
2178 */
2179 su2double GetSecondaryFlow_ActDisk(void) const { return SecondaryFlow_ActDisk; }
2180
2181 /*!
2182 * \brief Get the value of the non-dimensionalized actuator disk turbulence intensity.
2183 * \return Non-dimensionalized actuator disk intensity.
2184 */
2185 su2double GetInitial_BCThrust(void) const { return Initial_BCThrust; }
2186
2187 /*!
2188 * \brief Get the value of the non-dimensionalized actuator disk turbulence intensity.
2189 * \return Non-dimensionalized actuator disk intensity.
2190 */
2191 void SetInitial_BCThrust(su2double val_bcthrust) { Initial_BCThrust = val_bcthrust; }
2192
2193 /*!
2194 * \brief Get the value of the turbulent to laminar viscosity ratio.
2195 * \return Ratio of turbulent to laminar viscosity ratio.
2196 */
2197 su2double GetTurb2LamViscRatio_FreeStream(void) const { return TurbIntensityAndViscRatioFreeStream[1]; }
2198
2199 /*!
2200 * \brief Get the value of the Reynolds length.
2201 * \return Reynolds length.
2202 */
2203 su2double GetLength_Reynolds(void) const { return Length_Reynolds; }
2204
2205 /*!
2206 * \brief Get the reference area for non dimensional coefficient computation. If the value from the
2207 * is 0 then, the code will compute the reference area using the projection of the shape into
2208 * the z plane (3D) or the x plane (2D).
2209 * \return Value of the reference area for coefficient computation.
2210 */
2211 su2double GetRefArea(void) const { return RefArea; }
2212
2213 /*!
2214 * \brief Get the thermal expansion coefficient.
2215 * \return Value of the thermal expansion coefficient.
2216 */
2217 su2double GetThermal_Expansion_Coeff(void) const { return Thermal_Expansion_Coeff; }
2218
2219 /*!
2220 * \brief Get the non-dim. thermal expansion coefficient.
2221 * \return Value of the non-dim. thermal expansion coefficient.
2222 */
2223 su2double GetThermal_Expansion_CoeffND(void) const { return Thermal_Expansion_CoeffND; }
2224
2225 /*!
2226 * \brief Set the thermal expansion coefficient.
2227 * \param[in] val_thermal_expansion - thermal expansion coefficient
2228 */
2229 void SetThermal_Expansion_Coeff(su2double val_thermal_expansion) { Thermal_Expansion_Coeff = val_thermal_expansion; }
2230
2231 /*!
2232 * \brief Set the non-dim. thermal expansion coefficient.
2233 * \param[in] val_thermal_expansion - non-dim. thermal expansion coefficient
2234 */
2235 void SetThermal_Expansion_CoeffND(su2double val_thermal_expansionnd) { Thermal_Expansion_CoeffND = val_thermal_expansionnd; }
2236
2237 /*!
2238 * \brief Get the value of the reference density for custom incompressible non-dimensionalization.
2239 * \return Reference density for custom incompressible non-dimensionalization.
2240 */
2241 su2double GetInc_Density_Ref(void) const { return Inc_Density_Ref; }
2242
2243 /*!
2244 * \brief Get the value of the reference velocity for custom incompressible non-dimensionalization.
2245 * \return Reference velocity for custom incompressible non-dimensionalization.
2246 */
2247 su2double GetInc_Velocity_Ref(void) const { return Inc_Velocity_Ref; }
2248
2249 /*!
2250 * \brief Get the value of the reference temperature for custom incompressible non-dimensionalization.
2251 * \return Reference temperature for custom incompressible non-dimensionalization.
2252 */
2253 su2double GetInc_Temperature_Ref(void) const { return Inc_Temperature_Ref; }
2254
2255 /*!
2256 * \brief Get the value of the initial density for incompressible flows.
2257 * \return Initial density for incompressible flows.
2258 */
2259 su2double GetInc_Density_Init(void) const { return Inc_Density_Init; }
2260
2261 /*!
2262 * \brief Get the value of the initial velocity for incompressible flows.
2263 * \return Initial velocity for incompressible flows.
2264 */
2265 const su2double* GetInc_Velocity_Init(void) const { return vel_init; }
2266
2267 /*!
2268 * \brief Get the value of the initial temperature for incompressible flows.
2269 * \return Initial temperature for incompressible flows.
2270 */
2271 su2double GetInc_Temperature_Init(void) const { return Inc_Temperature_Init; }
2272
2273 /*!
2274 * \brief Get Temperature limits for incompressible flows.
2275 * \return Temperature limits minimum and maximum values.
2276 */
2277 su2double GetTemperatureLimits(int iVar) const { return TemperatureLimits[iVar]; }
2278
2279 /*!
2280 * \brief Get the flag for activating species transport clipping.
2281 * \return Flag for species clipping.
2282 */
2283 bool GetSpecies_Clipping() const { return Species_Clipping; }
2284
2285 /*!
2286 * \brief Get the maximum bound for scalar transport clipping
2287 * \return Maximum value for scalar clipping
2288 */
2289 su2double GetSpecies_Clipping_Max(unsigned short iVar) const { return Species_Clipping_Max[iVar]; }
2290
2291 /*!
2292 * \brief Get the minimum bound for scalar transport clipping
2293 * \return Minimum value for scalar clipping
2294 */
2295 su2double GetSpecies_Clipping_Min(unsigned short iVar) const { return Species_Clipping_Min[iVar]; }
2296
2297 /*!
2298 * \brief Get initial species value/concentration in the range [0,1].
2299 * \return Initial species value/concentration
2300 */
2301 const su2double* GetSpecies_Init() const { return Species_Init; }
2302
2303 /*!
2304 * \brief Get the flag for using strong BC's for in- and outlets in the species solver.
2305 * \return Flag for strong BC's.
2306 */
2307 bool GetSpecies_StrongBC() const { return Species_StrongBC; }
2308
2309 /*!
2310 * \brief Get the Young's modulus of elasticity.
2311 * \return Value of the Young's modulus of elasticity.
2312 */
2313 su2double GetElasticyMod(unsigned short id_val) const { return ElasticityMod[id_val]; }
2314
2315 /*!
2316 * \brief Decide whether to apply DE effects to the model.
2317 * \return <code>TRUE</code> if the DE effects are to be applied, <code>FALSE</code> otherwise.
2318 */
2319 bool GetDE_Effects(void) const { return DE_Effects; }
2320
2321 /*!
2322 * \brief Get the number of different electric constants.
2323 * \return Value of the DE modulus.
2324 */
2325 unsigned short GetnElectric_Constant(void) const { return nElectric_Constant; }
2326
2327 /*!
2328 * \brief Get the value of the DE modulus.
2329 * \return Value of the DE modulus.
2330 */
2331 su2double GetElectric_Constant(unsigned short iVar) const { return Electric_Constant[iVar]; }
2332
2333 /*!
2334 * \brief Get the value of the B constant in the Knowles material model.
2335 * \return Value of the B constant in the Knowles material model.
2336 */
2337 su2double GetKnowles_B(void) const { return Knowles_B; }
2338
2339 /*!
2340 * \brief Get the value of the N constant in the Knowles material model.
2341 * \return Value of the N constant in the Knowles material model.
2342 */
2343 su2double GetKnowles_N(void) const { return Knowles_N; }
2344
2345 /*!
2346 * \brief Get the kind of design variable for FEA.
2347 * \return Value of the DE voltage.
2348 */
2349 unsigned short GetDV_FEA(void) const { return Kind_DV_FEA; }
2350
2351 /*!
2352 * \brief Get the ID of the reference node.
2353 * \return Number of FSI subiters.
2354 */
2355 unsigned long GetRefNode_ID(void) const { return refNodeID; }
2356
2357 /*!
2358 * \brief Get the values for the reference node displacement.
2359 * \param[in] val_coeff - Index of the displacement.
2360 */
2361 su2double GetRefNode_Displacement(unsigned short val_coeff) const { return RefNode_Displacement[val_coeff]; }
2362
2363 /*!
2364 * \brief Get the penalty weight value for the objective function.
2365 * \return Penalty weight value for the reference geometry objective function.
2366 */
2367 su2double GetRefNode_Penalty(void) const { return RefNode_Penalty; }
2368
2369 /*!
2370 * \brief Decide whether it's necessary to read a reference geometry.
2371 */
2372 bool GetRefGeom(void) const { return RefGeom; }
2373
2374 /*!
2375 * \brief Consider only the surface of the reference geometry.
2376 */
2377 bool GetRefGeomSurf(void) const { return RefGeomSurf; }
2378
2379 /*!
2380 * \brief Get the name of the file with the reference geometry of the structural problem.
2381 * \return Name of the file with the reference geometry of the structural problem.
2382 */
2383 string GetRefGeom_FEMFileName(void) const { return RefGeom_FEMFileName; }
2384
2385 /*!
2386 * \brief Get the format of the reference geometry file.
2387 * \return Format of the reference geometry file.
2388 */
2389 unsigned short GetRefGeom_FileFormat(void) const { return RefGeom_FileFormat; }
2390
2391 /*!
2392 * \brief Formulation for 2D elasticity (plane stress - strain)
2393 * \return Flag to 2D elasticity model.
2394 */
2395 STRUCT_2DFORM GetElas2D_Formulation() const { return Kind_2DElasForm; }
2396
2397 /*!
2398 * \brief Decide whether it's necessary to read a reference geometry.
2399 * \return <code>TRUE</code> if it's necessary to read a reference geometry, <code>FALSE</code> otherwise.
2400 */
2401 bool GetPrestretch(void) const { return Prestretch; }
2402
2403 /*!
2404 * \brief Get the name of the file with the element properties for structural problems.
2405 * \return Name of the file with the element properties of the structural problem.
2406 */
2407 string GetFEA_FileName(void) const {
2408 string FEAFilename = FEA_FileName;
2409
2410 /*--- strip the extension if it is present, only if it is .dat ---*/
2411 PrintingToolbox::TrimExtension(".dat", FEAFilename);
2412
2413 /*--- If multizone, append zone name ---*/
2414 if (Multizone_Problem)
2415 FEAFilename = GetMultizone_FileName(FEAFilename, GetiZone(), "");
2416
2417 /*--- Add the extension again ---*/
2418 FEAFilename += ".dat";
2419
2420 /*--- return the stripped filename base, without extension. ---*/
2421 return FEAFilename;
2422 }
2423
2424 /*!
2425 * \brief Determine if advanced features are used from the element-based FEA analysis (experimental feature).
2426 * \return <code>TRUE</code> is experimental, <code>FALSE</code> is the default behaviour.
2427 */
2428 inline bool GetAdvanced_FEAElementBased(void) const { return FEAAdvancedMode; }
2429
2430 /*!
2431 * \brief Get the name of the file with the reference geometry of the structural problem.
2432 * \return Name of the file with the reference geometry of the structural problem.
2433 */
2434 string GetPrestretch_FEMFileName(void) const { return Prestretch_FEMFileName; }
2435
2436 /*!
2437 * \brief Get the Poisson's ratio.
2438 * \return Value of the Poisson's ratio.
2439 */
2440 su2double GetPoissonRatio(unsigned short id_val) const { return PoissonRatio[id_val]; }
2441
2442 /*!
2443 * \brief Get the Material Density.
2444 * \return Value of the Material Density.
2445 */
2446 su2double GetMaterialDensity(unsigned short id_val) const { return MaterialDensity[id_val]; }
2447
2448 /*!
2449 * \brief Get the thermal expansion coefficient.
2450 */
2451 su2double GetMaterialThermalExpansion(unsigned short id_val) const { return MaterialThermalExpansion[id_val]; }
2452
2453 /*!
2454 * \brief Temperature at which there is no stress from thermal expansion.
2455 */
2456 su2double GetMaterialReferenceTemperature() const { return MaterialReferenceTemperature; }
2457
2458 /*!
2459 * \brief Compressibility/incompressibility of the solids analysed using the structural solver.
2460 * \return Compressible or incompressible.
2461 */
2462 STRUCT_COMPRESS GetMaterialCompressibility(void) const { return Kind_Material_Compress; }
2463
2464 /*!
2465 * \brief Compressibility/incompressibility of the solids analysed using the structural solver.
2466 * \return Compressible or incompressible.
2467 */
2468 STRUCT_MODEL GetMaterialModel(void) const { return Kind_Material; }
2469
2470 /*!
2471 * \brief Geometric conditions for the structural solver.
2472 * \return Small or large deformation structural analysis.
2473 */
2474 STRUCT_DEFORMATION GetGeometricConditions(void) const { return Kind_Struct_Solver; }
2475
2476 /*!
2477 * \brief Get the reference length for computing moment (the default value is 1).
2478 * \return Reference length for moment computation.
2479 */
2480 su2double GetRefLength(void) const { return RefLength; }
2481
2482 /*!
2483 * \brief Get the reference element length for computing the slope limiting epsilon.
2484 * \return Reference element length for slope limiting epsilon.
2485 */
2486 su2double GetRefElemLength(void) const { return RefElemLength; }
2487
2488 /*!
2489 * \brief Get the reference coefficient for detecting sharp edges.
2490 * \return Reference coefficient for detecting sharp edges.
2491 */
2492 su2double GetRefSharpEdges(void) const { return RefSharpEdges; }
2493
2494 /*!
2495 * \brief Get the volume of the whole domain using the fine grid, this value is common for all the grids
2496 * in the multigrid method.
2497 * \return Volume of the whole domain.
2498 */
2499 su2double GetDomainVolume(void) const { return DomainVolume; }
2500
2501 /*!
2502 * \brief In case the <i>RefArea</i> is equal to 0 then, it is necessary to compute a reference area,
2503 * with this function we set the value of the reference area.
2504 * \param[in] val_area - Value of the reference area for non dimensional coefficient computation.
2505 */
2506 void SetRefArea(su2double val_area) { RefArea = val_area; }
2507
2508 /*!
2509 * \brief In case the <i>SemiSpan</i> is equal to 0 then, it is necessary to compute the max y distance,
2510 * with this function we set the value of the semi span.
2511 * \param[in] val_semispan - Value of the semispan.
2512 */
2513 void SetSemiSpan(su2double val_semispan) { SemiSpan = val_semispan; }
2514
2515 /*!
2516 * \brief Set the value of the domain volume computed on the finest grid.
2517 * \note This volume do not include the volume of the body that is being simulated.
2518 * \param[in] val_volume - Value of the domain volume computed on the finest grid.
2519 */
2520 void SetDomainVolume(su2double val_volume) { DomainVolume = val_volume; }
2521
2522 /*!
2523 * \brief Set the finest mesh in a multigrid strategy.
2524 * \note If we are using a Full Multigrid Strategy or a start up with finest grid, it is necessary
2525 * to change several times the finest grid.
2526 * \param[in] val_finestmesh - Index of the finest grid.
2527 */
2528 void SetFinestMesh(unsigned short val_finestmesh) { FinestMesh = val_finestmesh; }
2529
2530 /*!
2531 * \brief Set the kind of time integration scheme.
2532 * \note If we are solving different equations it will be necessary to change several
2533 * times the kind of time integration, to choose the right scheme.
2534 * \param[in] val_kind_timeintscheme - Kind of time integration scheme.
2535 */
2536 void SetKind_TimeIntScheme(unsigned short val_kind_timeintscheme) { Kind_TimeNumScheme = val_kind_timeintscheme; }
2537
2538 /*!
2539 * \brief Set the parameters of the convective numerical scheme.
2540 * \note The parameters will change because we are solving different kind of equations.
2541 * \param[in] val_kind_convnumscheme - Center or upwind scheme.
2542 * \param[in] val_kind_centered - If centered scheme, kind of centered scheme (JST, etc.).
2543 * \param[in] val_kind_upwind - If upwind scheme, kind of upwind scheme (Roe, etc.).
2544 * \param[in] val_kind_slopelimit - If upwind scheme, kind of slope limit.
2545 * \param[in] val_muscl - Define if we apply a MUSCL scheme or not.
2546 * \param[in] val_muscl_kappa - Define the blending coefficient for the MUSCL scheme.
2547 * \param[in] val_kind_fem - If FEM, what kind of FEM discretization.
2548 */
2549 void SetKind_ConvNumScheme(unsigned short val_kind_convnumscheme, CENTERED val_kind_centered,
2550 UPWIND val_kind_upwind, LIMITER val_kind_slopelimit,
2551 bool val_muscl, su2double val_muscl_kappa, unsigned short val_kind_fem);
2552
2553 /*!
2554 * \brief Get the value of limiter coefficient.
2555 * \return Value of the limiter coefficient.
2556 */
2557 su2double GetVenkat_LimiterCoeff(void) const { return Venkat_LimiterCoeff; }
2558
2559 /*!
2560 * \brief Freeze the value of the limiter after a number of iterations.
2561 * \return Number of iterations.
2562 */
2563 unsigned long GetLimiterIter(void) const { return LimiterIter; }
2564
2565 /*!
2566 * \brief Get the value of sharp edge limiter.
2567 * \return Value of the sharp edge limiter coefficient.
2568 */
2569 su2double GetAdjSharp_LimiterCoeff(void) const { return AdjSharp_LimiterCoeff; }
2570
2571 /*!
2572 * \brief Get the Reynolds number. Dimensionless number that gives a measure of the ratio of inertial forces
2573 * to viscous forces and consequently quantifies the relative importance of these two types of forces
2574 * for given flow condition.
2575 * \return Value of the Reynolds number.
2576 */
2577 su2double GetReynolds(void) const { return Reynolds; }
2578
2579 /*!
2580 * \brief Get the Froude number for free surface problems.
2581 * \return Value of the Froude number.
2582 */
2583 su2double GetFroude(void) const { return Froude; }
2584
2585 /*!
2586 * \brief Set the Froude number for free surface problems.
2587 * \param[in] val_froude - Value of the Froude number.
2588 */
2589 void SetFroude(su2double val_froude) { Froude = val_froude; }
2590
2591 /*!
2592 * \brief Set the Mach number.
2593 * \param[in] val_mach - Value of the Mach number.
2594 */
2595 void SetMach(su2double val_mach) { Mach = val_mach; }
2596
2597 /*!
2598 * \brief Set the Reynolds number.
2599 * \param[in] val_reynolds - Value of the Reynolds number.
2600 */
2601 void SetReynolds(su2double val_reynolds) { Reynolds = val_reynolds; }
2602
2603 /*!
2604 * \brief Set the reference length for nondimensionalization.
2605 * \param[in] val_length_ref - Value of the reference length.
2606 */
2607 void SetLength_Ref(su2double val_length_ref) { Length_Ref = val_length_ref; }
2608
2609 /*!
2610 * \brief Set the reference velocity for nondimensionalization.
2611 * \param[in] val_velocity_ref - Value of the reference velocity.
2612 */
2613 void SetVelocity_Ref(su2double val_velocity_ref) { Velocity_Ref = val_velocity_ref; }
2614
2615 /*!
2616 * \brief Set the reference pressure for nondimensionalization.
2617 * \param[in] val_pressure_ref - Value of the reference pressure.
2618 */
2619 void SetPressure_Ref(su2double val_pressure_ref) { Pressure_Ref = val_pressure_ref; }
2620
2621 /*!
2622 * \brief Set the reference pressure for nondimensionalization.
2623 * \param[in] val_density_ref - Value of the reference pressure.
2624 */
2625 void SetDensity_Ref(su2double val_density_ref) { Density_Ref = val_density_ref; }
2626
2627 /*!
2628 * \brief Set the reference temperature for nondimensionalization.
2629 * \param[in] val_temperature_ref - Value of the reference temperature.
2630 */
2631 void SetTemperature_Ref(su2double val_temperature_ref) { Temperature_Ref = val_temperature_ref; }
2632
2633 /*!
2634 * \brief Set the reference temperature.
2635 * \param[in] val_temperature_ve_ref - Value of the reference temperature.
2636 */
2637 void SetTemperature_ve_Ref(su2double val_temperature_ve_ref) { Temperature_ve_Ref = val_temperature_ve_ref; }
2638
2639 /*!
2640 * \brief Set the reference time for nondimensionalization.
2641 * \param[in] val_time_ref - Value of the reference time.
2642 */
2643 void SetTime_Ref(su2double val_time_ref) { Time_Ref = val_time_ref; }
2644
2645 /*!
2646 * \brief Set the reference energy for nondimensionalization.
2647 * \param[in] val_energy_ref - Value of the reference energy.
2648 */
2649 void SetEnergy_Ref(su2double val_energy_ref) { Energy_Ref = val_energy_ref; }
2650
2651 /*!
2652 * \brief Set the reference Omega for nondimensionalization.
2653 * \param[in] val_omega_ref - Value of the reference omega.
2654 */
2655 void SetOmega_Ref(su2double val_omega_ref) { Omega_Ref = val_omega_ref; }
2656
2657 /*!
2658 * \brief Set the reference Force for nondimensionalization.
2659 * \param[in] val_force_ref - Value of the reference Force.
2660 */
2661 void SetForce_Ref(su2double val_force_ref) { Force_Ref = val_force_ref; }
2662
2663 /*!
2664 * \brief Set the reference gas-constant for nondimensionalization.
2665 * \param[in] val_gas_constant_ref - Value of the reference gas-constant.
2666 */
2667 void SetGas_Constant_Ref(su2double val_gas_constant_ref) { Gas_Constant_Ref = val_gas_constant_ref; }
2668
2669 /*!
2670 * \brief Set the gas-constant.
2671 * \param[in] val_gas_constant - Value of the gas-constant.
2672 */
2673 void SetGas_Constant(su2double val_gas_constant) { Gas_Constant = val_gas_constant; }
2674
2675 /*!
2676 * \brief Set the heat flux reference value.
2677 * \return Value of the reference heat flux.
2678 */
2679 void SetHeat_Flux_Ref(su2double val_heat_flux_ref) { Heat_Flux_Ref = val_heat_flux_ref; }
2680
2681 /*!
2682 * \brief Set the reference viscosity for nondimensionalization.
2683 * \param[in] val_viscosity_ref - Value of the reference viscosity.
2684 */
2685 void SetViscosity_Ref(su2double val_viscosity_ref) { Viscosity_Ref = val_viscosity_ref; }
2686
2687 /*!
2688 * \brief Set the reference conductivity for nondimensionalization.
2689 * \param[in] val_conductivity_ref - Value of the reference conductivity.
2690 */
2691 void SetConductivity_Ref(su2double val_conductivity_ref) { Thermal_Conductivity_Ref = val_conductivity_ref; }
2692
2693 /*!
2694 * \brief Set the nondimensionalized freestream pressure.
2695 * \param[in] val_pressure_freestreamnd - Value of the nondimensionalized freestream pressure.
2696 */
2697 void SetPressure_FreeStreamND(su2double val_pressure_freestreamnd) { Pressure_FreeStreamND = val_pressure_freestreamnd; }
2698
2699 /*!
2700 * \brief Set the freestream pressure.
2701 * \param[in] val_pressure_freestream - Value of the freestream pressure.
2702 */
2703 void SetPressure_FreeStream(su2double val_pressure_freestream) { Pressure_FreeStream = val_pressure_freestream; }
2704
2705 /*!
2706 * \brief Set the non-dimensionalized thermodynamic pressure for low Mach problems.
2707 * \return Value of the non-dimensionalized thermodynamic pressure.
2708 */
2709 void SetPressure_ThermodynamicND(su2double val_pressure_thermodynamicnd) { Pressure_ThermodynamicND = val_pressure_thermodynamicnd; }
2710
2711 /*!
2712 * \brief Set the thermodynamic pressure for low Mach problems.
2713 * \return Value of the thermodynamic pressure.
2714 */
2715 void SetPressure_Thermodynamic(su2double val_pressure_thermodynamic) { Pressure_Thermodynamic = val_pressure_thermodynamic; }
2716
2717 /*!
2718 * \brief Set the nondimensionalized freestream density.
2719 * \param[in] val_density_freestreamnd - Value of the nondimensionalized freestream density.
2720 */
2721 void SetDensity_FreeStreamND(su2double val_density_freestreamnd) { Density_FreeStreamND = val_density_freestreamnd; }
2722
2723 /*!
2724 * \brief Set the freestream density.
2725 * \param[in] val_density_freestream - Value of the freestream density.
2726 */
2727 void SetDensity_FreeStream(su2double val_density_freestream) { Density_FreeStream = val_density_freestream; }
2728
2729 /*!
2730 * \brief Set the freestream viscosity.
2731 * \param[in] val_viscosity_freestream - Value of the freestream viscosity.
2732 */
2733 void SetViscosity_FreeStream(su2double val_viscosity_freestream) { Viscosity_FreeStream = val_viscosity_freestream; }
2734
2735 /*!
2736 * \brief Set the freestream thermal conductivity.
2737 * \param[in] val_thermalconductivity_freestream - Value of the freestream thermal conductivity.
2738 */
2739 void SetThermalConductivity_FreeStream(su2double val_thermalconductivity_freestream) { ThermalConductivity_FreeStream = val_thermalconductivity_freestream; }
2740
2741 /*!
2742 * \brief Set the freestream specific heat capacity at constant pressure.
2743 * \param[in] val_specificheatCp_freestream - Value of the freestream specific heat capacity at constant pressure.
2744 */
2745 void SetSpecificHeatCp_FreeStream(su2double val_specificheatCp_freestream) { SpecificHeatCp_FreeStream = val_specificheatCp_freestream; }
2746
2747 /*!
2748 * \brief Set the magnitude of the free-stream velocity.
2749 * \param[in] val_modvel_freestream - Magnitude of the free-stream velocity.
2750 */
2751 void SetModVel_FreeStream(su2double val_modvel_freestream) { ModVel_FreeStream = val_modvel_freestream; }
2752
2753 /*!
2754 * \brief Set the non-dimensional magnitude of the free-stream velocity.
2755 * \param[in] val_modvel_freestreamnd - Non-dimensional magnitude of the free-stream velocity.
2756 */
2757 void SetModVel_FreeStreamND(su2double val_modvel_freestreamnd) { ModVel_FreeStreamND = val_modvel_freestreamnd; }
2758
2759 /*!
2760 * \brief Set the freestream temperature.
2761 * \param[in] val_temperature_freestream - Value of the freestream temperature.
2762 */
2763 void SetTemperature_FreeStream(su2double val_temperature_freestream) { Temperature_FreeStream = val_temperature_freestream; }
2764
2765 /*!
2766 * \brief Set the non-dimensional freestream temperature.
2767 * \param[in] val_temperature_freestreamnd - Value of the non-dimensional freestream temperature.
2768 */
2769 void SetTemperature_FreeStreamND(su2double val_temperature_freestreamnd) { Temperature_FreeStreamND = val_temperature_freestreamnd; }
2770
2771 /*!
2772 * \brief Set the freestream vibrational-electronic temperature.
2773 * \param[in] val_temperature_ve_freestream - Value of the freestream vibrational-electronic temperature.
2774 */
2775 void SetTemperature_ve_FreeStream(su2double val_temperature_ve_freestream) { Temperature_ve_FreeStream = val_temperature_ve_freestream; }
2776
2777 /*!
2778 * \brief Set the non-dimensional freestream vibrational-electronic temperature.
2779 * \param[in] val_temperature_ve_freestreamnd - Value of the non-dimensional freestream vibrational-electronic temperature.
2780 */
2781 void SetTemperature_ve_FreeStreamND(su2double val_temperature_ve_freestreamnd) { Temperature_ve_FreeStreamND = val_temperature_ve_freestreamnd; }
2782
2783 /*!
2784 * \brief Set the non-dimensional gas-constant.
2785 * \param[in] val_gas_constantnd - Value of the non-dimensional gas-constant.
2786 */
2787 void SetGas_ConstantND(su2double val_gas_constantnd) { Gas_ConstantND = val_gas_constantnd; }
2788
2789 /*!
2790 * \brief Set the free-stream velocity.
2791 * \param[in] val_velocity_freestream - Value of the free-stream velocity component.
2792 * \param[in] val_dim - Value of the current dimension.
2793 */
2794 void SetVelocity_FreeStream(su2double val_velocity_freestream, unsigned short val_dim) { vel_inf[val_dim] = val_velocity_freestream; }
2795
2796 /*!
2797 * \brief Set the non-dimensional free-stream velocity.
2798 * \param[in] val_velocity_freestreamnd - Value of the non-dimensional free-stream velocity component.
2799 * \param[in] val_dim - Value of the current dimension.
2800 */
2801 void SetVelocity_FreeStreamND(su2double val_velocity_freestreamnd, unsigned short val_dim) { Velocity_FreeStreamND[val_dim] = val_velocity_freestreamnd; }
2802
2803 /*!
2804 * \brief Set the non-dimensional free-stream viscosity.
2805 * \param[in] val_viscosity_freestreamnd - Value of the non-dimensional free-stream viscosity.
2806 */
2807 void SetViscosity_FreeStreamND(su2double val_viscosity_freestreamnd) { Viscosity_FreeStreamND = val_viscosity_freestreamnd; }
2808
2809 /*!
2810 * \brief Set the non-dimensional free-stream thermal conductivity.
2811 * \param[in] val_thermalconductivity_freestreamnd - Value of the non-dimensional free-stream thermal conductivity.
2812 */
2813 void SetThermalConductivity_FreeStreamND(su2double val_thermalconductivity_freestreamnd) { ThermalConductivity_FreeStreamND = val_thermalconductivity_freestreamnd; }
2814
2815 /*!
2816 * \brief Set the non-dimensional free-stream specific heat capacity at constant pressure.
2817 * \param[in] val_specificheatCp_freestreamnd - Value of the non-dimensional free-stream specific heat capacity at constant pressure.
2818 */
2819 void SetSpecificHeatCp_FreeStreamND(su2double val_specificheatCp_freestreamnd) { SpecificHeatCp_FreeStreamND = val_specificheatCp_freestreamnd; }
2820
2821 /*!
2822 * \brief Set the non-dimensional freestream turbulent kinetic energy.
2823 * \param[in] val_tke_freestreamnd - Value of the non-dimensional freestream turbulent kinetic energy.
2824 */
2825 void SetTke_FreeStreamND(su2double val_tke_freestreamnd) { Tke_FreeStreamND = val_tke_freestreamnd; }
2826
2827 /*!
2828 * \brief Set the non-dimensional freestream specific dissipation rate omega.
2829 * \param[in] val_omega_freestreamnd - Value of the non-dimensional freestream specific dissipation rate omega.
2830 */
2831 void SetOmega_FreeStreamND(su2double val_omega_freestreamnd) { Omega_FreeStreamND = val_omega_freestreamnd; }
2832
2833 /*!
2834 * \brief Set the freestream turbulent kinetic energy.
2835 * \param[in] val_tke_freestream - Value of the freestream turbulent kinetic energy.
2836 */
2837 void SetTke_FreeStream(su2double val_tke_freestream) { Tke_FreeStream = val_tke_freestream; }
2838
2839 /*!
2840 * \brief Set the freestream specific dissipation rate omega.
2841 * \param[in] val_omega_freestream - Value of the freestream specific dissipation rate omega.
2842 */
2843 void SetOmega_FreeStream(su2double val_omega_freestream) { Omega_FreeStream = val_omega_freestream; }
2844
2845 /*!
2846 * \brief Set the freestream momentum thickness Reynolds number.
2847 * \param[in] val_ReThetaT_freestream - Value of the freestream momentum thickness Reynolds number.
2848 */
2849 void SetReThetaT_FreeStream(su2double val_ReThetaT_freestream) { ReThetaT_FreeStream = val_ReThetaT_freestream; }
2850
2851 /*!
2852 * \brief Set the non-dimensional freestream energy.
2853 * \param[in] val_energy_freestreamnd - Value of the non-dimensional freestream energy.
2854 */
2855 void SetEnergy_FreeStreamND(su2double val_energy_freestreamnd) { Energy_FreeStreamND = val_energy_freestreamnd; }
2856
2857 /*!
2858 * \brief Set the freestream energy.
2859 * \param[in] val_energy_freestream - Value of the freestream energy.
2860 */
2861 void SetEnergy_FreeStream(su2double val_energy_freestream) { Energy_FreeStream = val_energy_freestream; }
2862
2863 /*!
2864 * \brief Set the thermal diffusivity for solids.
2865 * \param[in] val_thermal_diffusivity - Value of the thermal diffusivity.
2866 */
2867 void SetThermalDiffusivity(su2double val_thermal_diffusivity) { Thermal_Diffusivity = val_thermal_diffusivity; }
2868
2869 /*!
2870 * \brief Set the non-dimensional total time for unsteady simulations.
2871 * \param[in] val_total_unsttimend - Value of the non-dimensional total time.
2872 */
2873 void SetTotal_UnstTimeND(su2double val_total_unsttimend) { Total_UnstTimeND = val_total_unsttimend; }
2874
2875 /*!
2876 * \brief Get the angle of attack of the body. This is the angle between a reference line on a lifting body
2877 * (often the chord line of an airfoil) and the vector representing the relative motion between the
2878 * lifting body and the fluid through which it is moving.
2879 * \return Value of the angle of attack.
2880 */
2881 su2double GetAoA(void) const { return AoA; }
2882
2883 /*!
2884 * \brief Get the off set angle of attack of the body. The solution and the geometry
2885 * file are able to modifity the angle of attack in the config file
2886 * \return Value of the off set angle of attack.
2887 */
2888 su2double GetAoA_Offset(void) const { return AoA_Offset; }
2889
2890 /*!
2891 * \brief Get the off set sideslip angle of the body. The solution and the geometry
2892 * file are able to modifity the angle of attack in the config file
2893 * \return Value of the off set sideslip angle.
2894 */
2895 su2double GetAoS_Offset(void) const { return AoS_Offset; }
2896
2897 /*!
2898 * \brief Get the functional sensitivity with respect to changes in the angle of attack.
2899 * \return Value of the angle of attack.
2900 */
2901 su2double GetAoA_Sens(void) const { return AoA_Sens; }
2902
2903 /*!
2904 * \brief Set the angle of attack.
2905 * \param[in] val_AoA - Value of the angle of attack.
2906 */
2907 void SetAoA(su2double val_AoA) { AoA = val_AoA; }
2908
2909 /*!
2910 * \brief Set the off set angle of attack.
2911 * \param[in] val_AoA - Value of the angle of attack.
2912 */
2913 void SetAoA_Offset(su2double val_AoA_offset) { AoA_Offset = val_AoA_offset; }
2914
2915 /*!
2916 * \brief Set the off set sideslip angle.
2917 * \param[in] val_AoA - Value of the off set sideslip angle.
2918 */
2919 void SetAoS_Offset(su2double val_AoS_offset) { AoS_Offset = val_AoS_offset; }
2920
2921 /*!
2922 * \brief Set the angle of attack.
2923 * \param[in] val_AoA - Value of the angle of attack.
2924 */
2925 void SetAoA_Sens(su2double val_AoA_sens) { AoA_Sens = val_AoA_sens; }
2926
2927 /*!
2928 * \brief Set the angle of attack.
2929 * \param[in] val_AoA - Value of the angle of attack.
2930 */
2931 void SetAoS(su2double val_AoS) { AoS = val_AoS; }
2932
2933 /*!
2934 * \brief Get the angle of sideslip of the body. It relates to the rotation of the aircraft centerline from
2935 * the relative wind.
2936 * \return Value of the angle of sideslip.
2937 */
2938 su2double GetAoS(void) const { return AoS; }
2939
2940 /*!
2941 * \brief Get the charge coefficient that is used in the poissonal potential simulation.
2942 * \return Value of the charge coefficient.
2943 */
2944 su2double GetChargeCoeff(void) const { return ChargeCoeff; }
2945
2946 /*!
2947 * \brief Get the number of multigrid levels.
2948 * \return Number of multigrid levels (without including the original grid).
2949 */
2950 unsigned short GetnMGLevels(void) const { return nMGLevels; }
2951
2952 /*!
2953 * \brief Set the number of multigrid levels.
2954 * \param[in] val_nMGLevels - Index of the mesh were the CFL is applied
2955 */
2956 void SetMGLevels(unsigned short val_nMGLevels) {
2957 nMGLevels = val_nMGLevels;
2958 /*--- Clamp so FinestMesh can never point past the last level that still exists. ---*/
2959 if ((Kind_MGCycle == MG_CYCLE::FULL) || (FinestMesh > val_nMGLevels)) {
2960 SetFinestMesh(val_nMGLevels);
2961 }
2962 }
2963
2964 /*!
2965 * \brief Get the index of the finest grid.
2966 * \return Index of the finest grid in a multigrid strategy, this is 0 unless we are
2967 performing a Full multigrid.
2968 */
2969 unsigned short GetFinestMesh(void) const { return FinestMesh; }
2970
2971 /*!
2972 * \brief Get the kind of multigrid (V, W or FULLMG).
2973 * \note This variable is used in a recursive way to perform the different kind of cycles
2974 * \return 0 or 1 depending of we are dealing with a V or W cycle.
2975 */
2976 MG_CYCLE GetMGCycle(void) const { return Kind_MGCycle; }
2977
2978 /*!
2979 * \brief Get the king of evaluation in the geometrical module.
2980 * \return 0 or 1 depending of we are dealing with a V or W cycle.
2981 */
2982 unsigned short GetGeometryMode(void) const { return GeometryMode; }
2983
2984 /*!
2985 * \brief Get the Courant Friedrich Levi number for each grid.
2986 * \param[in] val_mesh - Index of the mesh were the CFL is applied.
2987 * \return CFL number for each grid.
2988 */
2989 su2double GetCFL(unsigned short val_mesh) const { return CFL[val_mesh]; }
2990
2991 /*!
2992 * \brief Get the Courant Friedrich Levi number for each grid.
2993 * \param[in] val_mesh - Index of the mesh were the CFL is applied.
2994 * \return CFL number for each grid.
2995 */
2996 void SetCFL(unsigned short val_mesh, su2double val_cfl) { CFL[val_mesh] = val_cfl; }
2997
2998 /*!
2999 * \brief Get the Courant Friedrich Levi number for unsteady simulations.
3000 * \return CFL number for unsteady simulations.
3001 */
3002 su2double GetUnst_CFL(void) const { return Unst_CFL; }
3003
3004 /*!
3005 * \brief Get information about element reorientation
3006 * \return <code>TRUE</code> means that elements can be reoriented if suspected unhealthy
3007 */
3008 bool GetReorientElements(void) const { return ReorientElements; }
3009
3010 /*!
3011 * \brief Get the Courant Friedrich Levi number for unsteady simulations.
3012 * \return CFL number for unsteady simulations.
3013 */
3014 su2double GetMax_DeltaTime(void) const { return Max_DeltaTime; }
3015
3016 /*!
3017 * \brief Get a parameter of the particular design variable.
3018 * \param[in] val_dv - Number of the design variable that we want to read.
3019 * \param[in] val_param - Index of the parameter that we want to read.
3020 * \return Design variable parameter.
3021 */
3022 su2double GetParamDV(unsigned short val_dv, unsigned short val_param) const { return ParamDV[val_dv][val_param]; }
3023
3024 /*!
3025 * \brief Get the coordinates of the FFD corner points.
3026 * \param[in] val_ffd - Index of the FFD box.
3027 * \param[in] val_coord - Index of the coordinate that we want to read.
3028 * \return Value of the coordinate.
3029 */
3030 su2double GetCoordFFDBox(unsigned short val_ffd, unsigned short val_index) const { return CoordFFDBox[val_ffd][val_index]; }
3031
3032 /*!
3033 * \brief Get the degree of the FFD corner points.
3034 * \param[in] val_ffd - Index of the FFD box.
3035 * \param[in] val_degree - Index (I,J,K) to obtain the degree.
3036 * \return Value of the degree in a particular direction.
3037 */
3038 unsigned short GetDegreeFFDBox(unsigned short val_ffd, unsigned short val_index) const { return DegreeFFDBox[val_ffd][val_index]; }
3039
3040 /*!
3041 * \brief Get the FFD Tag of a particular design variable.
3042 * \param[in] val_dv - Number of the design variable that we want to read.
3043 * \return Name of the FFD box.
3044 */
3045 string GetFFDTag(unsigned short val_dv) const { return FFDTag[val_dv]; }
3046
3047 /*!
3048 * \brief Get the FFD Tag of a particular FFD box.
3049 * \param[in] val_ffd - Number of the FFD box that we want to read.
3050 * \return Name of the FFD box.
3051 */
3052 string GetTagFFDBox(unsigned short val_ffd) const { return TagFFDBox[val_ffd]; }
3053
3054 /*!
3055 * \brief Get the number of design variables.
3056 * \return Number of the design variables.
3057 */
3058 unsigned short GetnDV(void) const { return nDV; }
3059
3060 /*!
3061 * \brief Get the number of design variables.
3062 * \return Number of the design variables.
3063 */
3064 unsigned short GetnDV_Value(unsigned short iDV) const {
3065 if (!nDV_Value) return 0;
3066 return nDV_Value[iDV];
3067 }
3068
3069 /*!
3070 * \brief Get the total number of design variables.
3071 */
3072 unsigned short GetnDV_Total(void) const {
3073 if (!nDV_Value) return 0;
3074 unsigned short sum = 0;
3075 for (unsigned short iDV = 0; iDV < nDV; iDV++) {
3076 sum += nDV_Value[iDV];
3077 }
3078 return sum;
3079 }
3080
3081 /*!
3082 * \brief Get the number of FFD boxes.
3083 * \return Number of FFD boxes.
3084 */
3085 unsigned short GetnFFDBox(void) const { return nFFDBox; }
3086
3087 /*!
3088 * \brief Get the required continuity level at the surface intersection with the FFD
3089 * \return Continuity level at the surface intersection.
3090 */
3091 unsigned short GetFFD_Continuity(void) const { return FFD_Continuity; }
3092
3093 /*!
3094 * \brief Get the coordinate system that we are going to use to define the FFD
3095 * \return Coordinate system (cartesian, spherical, etc).
3096 */
3097 unsigned short GetFFD_CoordSystem(void) const { return FFD_CoordSystem; }
3098
3099 /*!
3100 * \brief Get the kind of FFD Blending function.
3101 * \return Kind of FFD Blending function.
3102 */
3103 unsigned short GetFFD_Blending(void) const { return FFD_Blending;}
3104
3105 /*!
3106 * \brief Get the kind BSpline Order in i,j,k direction.
3107 * \return The kind BSpline Order in i,j,k direction.
3108 */
3109 const su2double* GetFFD_BSplineOrder() const { return ffd_coeff;}
3110
3111 /*!
3112 * \brief Get the number of Runge-Kutta steps.
3113 * \return Number of Runge-Kutta steps.
3114 */
3115 unsigned short GetnRKStep(void) const {
3116
3117 unsigned short iRKLimit = 1;
3118
3119 switch (GetKind_TimeIntScheme()) {
3121 iRKLimit = nRKStep;
3122 break;
3124 iRKLimit = 4;
3125 break;
3126 case EULER_EXPLICIT:
3127 case EULER_IMPLICIT:
3128 iRKLimit = 1;
3129 break;
3130 default:
3131 iRKLimit = 1;
3132 break;
3133 }
3134 return iRKLimit;
3135 }
3136
3137 /*!
3138 * \brief Get the number of time levels for time accurate local time stepping.
3139 * \return Number of time levels.
3140 */
3141 unsigned short GetnLevels_TimeAccurateLTS(void) const { return nLevels_TimeAccurateLTS; }
3142
3143 /*!
3144 * \brief Set the number of time levels for time accurate local time stepping.
3145 * \param[in] val_nLevels - The number of time levels to be set.
3146 */
3147 void SetnLevels_TimeAccurateLTS(unsigned short val_nLevels) { nLevels_TimeAccurateLTS = val_nLevels;}
3148
3149 /*!
3150 * \brief Get the number time DOFs for ADER-DG.
3151 * \return Number of time DOFs used in ADER-DG.
3152 */
3153 unsigned short GetnTimeDOFsADER_DG(void) const { return nTimeDOFsADER_DG; }
3154
3155 /*!
3156 * \brief Get the location of the time DOFs for ADER-DG on the interval [-1..1].
3157 * \return The location of the time DOFs used in ADER-DG.
3158 */
3159 const su2double *GetTimeDOFsADER_DG(void) const { return TimeDOFsADER_DG; }
3160
3161 /*!
3162 * \brief Get the number time integration points for ADER-DG.
3163 * \return Number of time integration points used in ADER-DG.
3164 */
3165 unsigned short GetnTimeIntegrationADER_DG(void) const { return nTimeIntegrationADER_DG; }
3166
3167 /*!
3168 * \brief Get the location of the time integration points for ADER-DG on the interval [-1..1].
3169 * \return The location of the time integration points used in ADER-DG.
3170 */
3171 const su2double *GetTimeIntegrationADER_DG(void) const { return TimeIntegrationADER_DG; }
3172
3173 /*!
3174 * \brief Get the weights of the time integration points for ADER-DG.
3175 * \return The weights of the time integration points used in ADER-DG.
3176 */
3177 const su2double *GetWeightsIntegrationADER_DG(void) const { return WeightsIntegrationADER_DG; }
3178
3179 /*!
3180 * \brief Get the total number of boundary markers of the local process including send/receive domains.
3181 * \return Total number of boundary markers.
3182 */
3183 unsigned short GetnMarker_All(void) const { return nMarker_All; }
3184
3185 /*!
3186 * \brief Get the total number of boundary markers in the config file.
3187 * \return Total number of boundary markers.
3188 */
3189 unsigned short GetnMarker_CfgFile(void) const { return nMarker_CfgFile; }
3190
3191 /*!
3192 * \brief Get the number of Euler boundary markers.
3193 * \return Number of Euler boundary markers.
3194 */
3195 unsigned short GetnMarker_Euler(void) const { return nMarker_Euler; }
3196
3197 /*!
3198 * \brief Get the number of symmetry boundary markers.
3199 * \return Number of symmetry boundary markers.
3200 */
3201 unsigned short GetnMarker_SymWall(void) const { return nMarker_SymWall; }
3202
3203 /*!
3204 * \brief Get the total number of boundary markers in the cfg plus the possible send/receive domains.
3205 * \return Total number of boundary markers.
3206 */
3207 unsigned short GetnMarker_Max(void) const { return nMarker_Max; }
3208
3209 /*!
3210 * \brief Get the total number of boundary markers.
3211 * \return Total number of boundary markers.
3212 */
3213 unsigned short GetnMarker_EngineInflow(void) const { return nMarker_EngineInflow; }
3214
3215 /*!
3216 * \brief Get the total number of boundary markers.
3217 * \return Total number of boundary markers.
3218 */
3219 unsigned short GetnMarker_EngineExhaust(void) const { return nMarker_EngineExhaust; }
3220
3221 /*!
3222 * \brief Get the total number of boundary markers.
3223 * \return Total number of boundary markers.
3224 */
3225 unsigned short GetnMarker_NearFieldBound(void) const { return nMarker_NearFieldBound; }
3226
3227 /*!
3228 * \brief Get the total number of deformable markers at the boundary.
3229 * \return Total number of deformable markers at the boundary.
3230 */
3231 unsigned short GetnMarker_Deform_Mesh(void) const { return nMarker_Deform_Mesh; }
3232
3233 /*!
3234 * \brief Get the total number of markers in which the flow load is computed/employed.
3235 * \return Total number of markers in which the flow load is computed/employed.
3236 */
3237 unsigned short GetnMarker_Fluid_Load(void) const { return nMarker_Fluid_Load; }
3238
3239 /*!
3240 * \brief Get the total number of boundary markers.
3241 * \return Total number of boundary markers.
3242 */
3243 unsigned short GetnMarker_Fluid_InterfaceBound(void) const { return nMarker_Fluid_InterfaceBound; }
3244
3245 /*!
3246 * \brief Get the total number of boundary markers.
3247 * \return Total number of boundary markers.
3248 */
3249 unsigned short GetnMarker_ActDiskInlet(void) const { return nMarker_ActDiskInlet; }
3250
3251 /*!
3252 * \brief Get the total number of boundary markers.
3253 * \return Total number of boundary markers.
3254 */
3255 unsigned short GetnMarker_ActDiskOutlet(void) const { return nMarker_ActDiskOutlet; }
3256
3257 /*!
3258 * \brief Get the total number of boundary markers.
3259 * \return Total number of boundary markers.
3260 */
3261 unsigned short GetnMarker_Outlet(void) const { return nMarker_Outlet; }
3262
3263 /*!
3264 * \brief Get the total number of monitoring markers.
3265 * \return Total number of monitoring markers.
3266 */
3267 unsigned short GetnMarker_Monitoring(void) const { return nMarker_Monitoring; }
3268
3269 /*!
3270 * \brief Get the total number of DV markers.
3271 * \return Total number of DV markers.
3272 */
3273 unsigned short GetnMarker_DV(void) const { return nMarker_DV; }
3274
3275 /*!
3276 * \brief Get the total number of moving markers.
3277 * \return Total number of moving markers.
3278 */
3279 unsigned short GetnMarker_Moving(void) const { return nMarker_Moving; }
3280
3281 /*!
3282 * \brief Get the total number of markers for gradient treatment.
3283 * \return Total number of markers for gradient treatment.
3284 */
3285 unsigned short GetnMarker_SobolevBC(void) const { return nMarker_SobolevBC; }
3286
3287 /*!
3288 * \brief Get the total number of Python customizable markers.
3289 * \return Total number of Python customizable markers.
3290 */
3291 unsigned short GetnMarker_PyCustom(void) const { return nMarker_PyCustom; }
3292
3293 /*!
3294 * \brief Get the Python custom source term activation.
3295 * \return Custom source term is active or not.
3296 */
3297 bool GetPyCustomSource(void) const { return PyCustomSource; }
3298
3299 /*!
3300 * \brief Get the total number of moving markers.
3301 * \return Total number of moving markers.
3302 */
3303 unsigned short GetnMarker_Analyze(void) const { return nMarker_Analyze; }
3304
3305 /*!
3306 * \brief Get the total number of periodic markers.
3307 * \return Total number of periodic markers.
3308 */
3309 unsigned short GetnMarker_Periodic(void) const { return nMarker_PerBound; }
3310
3311 /*!
3312 * \brief Get the total (local) number of heat flux markers.
3313 * \return Total number of heat flux markers.
3314 */
3315 unsigned short GetnMarker_HeatFlux(void) const { return nMarker_HeatFlux; }
3316
3317 /*!
3318 * \brief Get the total number of rough markers.
3319 * \return Total number of heat flux markers.
3320 */
3321 unsigned short GetnRoughWall(void) const { return nRough_Wall; }
3322
3323 /*!
3324 * \brief Get the total number of objectives in kind_objective list
3325 * \return Total number of objectives in kind_objective list
3326 */
3327 unsigned short GetnObj(void) const { return nObj;}
3328
3329 /*!
3330 * \brief Stores the number of marker in the simulation.
3331 * \param[in] val_nmarker - Number of markers of the problem.
3332 */
3333 void SetnMarker_All(unsigned short val_nmarker) { nMarker_All = val_nmarker; }
3334
3335 /*!
3336 * \brief Get the starting direct iteration number for the unsteady adjoint (reverse time integration).
3337 * \return Starting direct iteration number for the unsteady adjoint.
3338 */
3339 long GetUnst_AdjointIter(void) const { return Unst_AdjointIter; }
3340
3341 /*!
3342 * \brief Number of iterations to average (reverse time integration).
3343 * \return Starting direct iteration number for the unsteady adjoint.
3344 */
3345 unsigned long GetIter_Avg_Objective(void) const { return Iter_Avg_Objective ; }
3346
3347 /*!
3348 * \brief Retrieves the number of periodic time instances for Harmonic Balance.
3349 * \return Number of periodic time instances for Harmonic Balance.
3350 */
3351 unsigned short GetnTimeInstances(void) const { return nTimeInstances; }
3352
3353 /*!
3354 * \brief Retrieves the period of oscillations to be used with Harmonic Balance.
3355 * \return Period for Harmonic Balance.
3356 */
3357 su2double GetHarmonicBalance_Period(void) const { return HarmonicBalance_Period; }
3358
3359 /*!
3360 * \brief Set the current external iteration number.
3361 * \param[in] val_iter - Current external iteration number.
3362 */
3363 void SetExtIter_OffSet(unsigned long val_iter) { ExtIter_OffSet = val_iter; }
3364
3365 /*!
3366 * \brief Set the current FSI iteration number.
3367 * \param[in] val_iter - Current FSI iteration number.
3368 */
3369 void SetOuterIter(unsigned long val_iter) { OuterIter = val_iter; }
3370
3371 /*!
3372 * \brief Set the current FSI iteration number.
3373 * \param[in] val_iter - Current FSI iteration number.
3374 */
3375 void SetInnerIter(unsigned long val_iter) { InnerIter = val_iter; }
3376
3377 /*!
3378 * \brief Set the current time iteration number.
3379 * \param[in] val_iter - Current FSI iteration number.
3380 */
3381 void SetTimeIter(unsigned long val_iter) { TimeIter = val_iter; }
3382
3383 /*!
3384 * \brief Get the current time iteration number.
3385 * \param[in] val_iter - Current time iterationnumber.
3386 */
3387 unsigned long GetTimeIter() const { return TimeIter; }
3388
3389 /*!
3390 * \brief Get the current internal iteration number.
3391 * \return Current external iteration.
3392 */
3393 unsigned long GetExtIter_OffSet(void) const { return ExtIter_OffSet; }
3394
3395 /*!
3396 * \brief Get the current FSI iteration number.
3397 * \return Current FSI iteration.
3398 */
3399 unsigned long GetOuterIter(void) const { return OuterIter; }
3400
3401 /*!
3402 * \brief Get the current FSI iteration number.
3403 * \return Current FSI iteration.
3404 */
3405 unsigned long GetInnerIter(void) const { return InnerIter; }
3406
3407 /*!
3408 * \brief Set the current physical time.
3409 * \param[in] val_t - Current physical time.
3410 */
3411 void SetPhysicalTime(su2double val_t) { PhysicalTime = val_t; }
3412
3413 /*!
3414 * \brief Get the current physical time.
3415 * \return Current physical time.
3416 */
3417 su2double GetPhysicalTime(void) const { return PhysicalTime; }
3418
3419 /*!
3420 * \brief Get information about writing the performance summary at the end of a calculation.
3421 * \return <code>TRUE</code> means that the performance summary will be written at the end of a calculation.
3422 */
3423 bool GetWrt_Performance(void) const { return Wrt_Performance; }
3424
3425 /*!
3426 * \brief Get information about the computational graph (e.g. memory usage) when using AD in reverse mode.
3427 * \return <code>TRUE</code> means that the tape statistics will be written after each recording.
3428 */
3429 bool GetWrt_AD_Statistics(void) const { return Wrt_AD_Statistics; }
3430
3431 /*!
3432 * \brief Get information about writing the mesh quality metrics to the visualization files.
3433 * \return <code>TRUE</code> means that the mesh quality metrics will be written to the visualization files.
3434 */
3435 bool GetWrt_MeshQuality(void) const { return Wrt_MeshQuality; }
3436
3437 /*!
3438 * \brief Write coarse grids to the visualization files.
3439 */
3440 bool GetWrt_MultiGrid(void) const { return Wrt_MultiGrid; }
3441
3442 /*!
3443 * \brief Get information about writing projected sensitivities on surfaces to an ASCII file with rows as x, y, z, dJ/dx, dJ/dy, dJ/dz for each vertex.
3444 * \return <code>TRUE</code> means that projected sensitivities on surfaces in an ASCII file with rows as x, y, z, dJ/dx, dJ/dy, dJ/dz for each vertex will be written.
3445 */
3446 bool GetWrt_Projected_Sensitivity(void) const { return Wrt_Projected_Sensitivity; }
3447
3448 /*!
3449 * \brief Get information about the format for the input volume sensitvities.
3450 * \return Format of the input volume sensitivities.
3451 */
3452 unsigned short GetSensitivity_Format(void) const { return Sensitivity_FileFormat; }
3453
3454 /*!
3455 * \brief Get information about writing sectional force files.
3456 * \return <code>TRUE</code> means that sectional force files will be written for specified markers.
3457 */
3458 bool GetPlot_Section_Forces(void) const { return Plot_Section_Forces; }
3459
3460 /*!
3461 * \brief Get the alpha (convective) coefficients for the Runge-Kutta integration scheme.
3462 * \param[in] val_step - Index of the step.
3463 * \return Alpha coefficient for the Runge-Kutta integration scheme.
3464 */
3465 su2double Get_Alpha_RKStep(unsigned short val_step) const { return RK_Alpha_Step[val_step]; }
3466
3467 /*!
3468 * \brief Get the index of the surface defined in the geometry file.
3469 * \param[in] val_marker - Value of the marker in which we are interested.
3470 * \return Value of the index that is in the geometry file for the surface that
3471 * has the marker <i>val_marker</i>.
3472 */
3473 string GetMarker_All_TagBound(unsigned short val_marker) const { return Marker_All_TagBound[val_marker]; }
3474
3475 /*!
3476 * \brief Get the index of the surface defined in the geometry file.
3477 * \param[in] val_marker - Value of the marker in which we are interested.
3478 * \return Value of the index that is in the geometry file for the surface that
3479 * has the marker <i>val_marker</i>.
3480 */
3481 string GetMarker_ActDiskInlet_TagBound(unsigned short val_marker) const { return Marker_ActDiskInlet[val_marker]; }
3482
3483 /*!
3484 * \brief Get the index of the surface defined in the geometry file.
3485 * \param[in] val_marker - Value of the marker in which we are interested.
3486 * \return Value of the index that is in the geometry file for the surface that
3487 * has the marker <i>val_marker</i>.
3488 */
3489 string GetMarker_ActDiskOutlet_TagBound(unsigned short val_marker) const { return Marker_ActDiskOutlet[val_marker]; }
3490
3491 /*!
3492 * \brief Get the index of the surface defined in the geometry file.
3493 * \param[in] val_marker - Value of the marker in which we are interested.
3494 * \return Value of the index that is in the geometry file for the surface that
3495 * has the marker <i>val_marker</i>.
3496 */
3497 string GetMarker_Outlet_TagBound(unsigned short val_marker) const { return Marker_Outlet[val_marker]; }
3498
3499 /*!
3500 * \brief Get the index of the surface defined in the geometry file.
3501 * \param[in] val_marker - Value of the marker in which we are interested.
3502 * \return Value of the index that is in the geometry file for the surface that
3503 * has the marker <i>val_marker</i>.
3504 */
3505 string GetMarker_EngineInflow_TagBound(unsigned short val_marker) const { return Marker_EngineInflow[val_marker]; }
3506
3507 /*!
3508 * \brief Get the index of the surface defined in the geometry file.
3509 * \param[in] val_marker - Value of the marker in which we are interested.
3510 * \return Value of the index that is in the geometry file for the surface that
3511 * has the marker <i>val_marker</i>.
3512 */
3513 string GetMarker_EngineExhaust_TagBound(unsigned short val_marker) const { return Marker_EngineExhaust[val_marker]; }
3514
3515 /*!
3516 * \brief Get the name of the surface defined in the geometry file.
3517 * \param[in] val_marker - Value of the marker in which we are interested.
3518 * \return Name that is in the geometry file for the surface that
3519 * has the marker <i>val_marker</i>.
3520 */
3521 string GetMarker_Monitoring_TagBound(unsigned short val_marker) const { return Marker_Monitoring[val_marker]; }
3522
3523 /*!
3524 * \brief Get the name of the surface defined in the geometry file.
3525 * \param[in] val_marker - Value of the marker in which we are interested.
3526 * \return Name that is in the geometry file for the surface that
3527 * has the marker <i>val_marker</i>.
3528 */
3529 string GetMarker_HeatFlux_TagBound(unsigned short val_marker) const { return Marker_HeatFlux[val_marker]; }
3530
3531 /*!
3532 * \brief Get the list of markers for which to create copies.
3533 */
3534 std::vector<string> GetMarkerCreateCopy() const {
3535 return { Marker_Create_Copy, Marker_Create_Copy + nMarker_Create_Copy };
3536 }
3537
3538 /*!
3539 * \brief Get the tag if the iMarker defined in the geometry file.
3540 * \param[in] val_tag - Value of the tag in which we are interested.
3541 * \return Value of the marker <i>val_marker</i> that is in the geometry file
3542 * for the surface that has the tag.
3543 */
3544 short GetMarker_All_TagBound(const string& val_tag) {
3545 for (unsigned short iMarker = 0; iMarker < nMarker_All; iMarker++) {
3546 if (val_tag == Marker_All_TagBound[iMarker]) return iMarker;
3547 }
3548 return -1;
3549 }
3550
3551 /*!
3552 * \brief Get the kind of boundary for each marker.
3553 * \param[in] val_marker - Index of the marker in which we are interested.
3554 * \return Kind of boundary for the marker <i>val_marker</i>.
3555 */
3556 unsigned short GetMarker_All_KindBC(unsigned short val_marker) const { return Marker_All_KindBC[val_marker]; }
3557
3558 /*!
3559 * \brief Set the value of the boundary <i>val_boundary</i> (read from the config file)
3560 * for the marker <i>val_marker</i>.
3561 * \param[in] val_marker - Index of the marker in which we are interested.
3562 * \param[in] val_boundary - Kind of boundary read from config file.
3563 */
3564 void SetMarker_All_KindBC(unsigned short val_marker, unsigned short val_boundary) { Marker_All_KindBC[val_marker] = val_boundary; }
3565
3566 /*!
3567 * \brief Set the value of the index <i>val_index</i> (read from the geometry file) for
3568 * the marker <i>val_marker</i>.
3569 * \param[in] val_marker - Index of the marker in which we are interested.
3570 * \param[in] val_index - Index of the surface read from geometry file.
3571 */
3572 void SetMarker_All_TagBound(unsigned short val_marker, string val_index) { Marker_All_TagBound[val_marker] = val_index; }
3573
3574 /*!
3575 * \brief Set if a marker <i>val_marker</i> is going to be monitored <i>val_monitoring</i>
3576 * (read from the config file).
3577 * \note This is important for non dimensional coefficient computation.
3578 * \param[in] val_marker - Index of the marker in which we are interested.
3579 * \param[in] val_monitoring - 0 or 1 depending if the the marker is going to be monitored.
3580 */
3581 void SetMarker_All_Monitoring(unsigned short val_marker, unsigned short val_monitoring) { Marker_All_Monitoring[val_marker] = val_monitoring; }
3582
3583 /*!
3584 * \brief Set if a marker <i>val_marker</i> is going to be monitored <i>val_monitoring</i>
3585 * (read from the config file).
3586 * \note This is important for non dimensional coefficient computation.
3587 * \param[in] val_marker - Index of the marker in which we are interested.
3588 * \param[in] val_monitoring - 0 or 1 depending if the the marker is going to be monitored.
3589 */
3590 void SetMarker_All_GeoEval(unsigned short val_marker, unsigned short val_geoeval) { Marker_All_GeoEval[val_marker] = val_geoeval; }
3591
3592 /*!
3593 * \brief Set if a marker <i>val_marker</i> is going to be designed <i>val_designing</i>
3594 * (read from the config file).
3595 * \note This is important for non dimensional coefficient computation.
3596 * \param[in] val_marker - Index of the marker in which we are interested.
3597 * \param[in] val_monitoring - 0 or 1 depending if the the marker is going to be designed.
3598 */
3599 void SetMarker_All_Designing(unsigned short val_marker, unsigned short val_designing) { Marker_All_Designing[val_marker] = val_designing; }
3600
3601 /*!
3602 * \brief Set if a marker <i>val_marker</i> is going to be plot <i>val_plotting</i>
3603 * (read from the config file).
3604 * \param[in] val_marker - Index of the marker in which we are interested.
3605 * \param[in] val_plotting - 0 or 1 depending if the the marker is going to be plot.
3606 */
3607 void SetMarker_All_Plotting(unsigned short val_marker, unsigned short val_plotting) { Marker_All_Plotting[val_marker] = val_plotting; }
3608
3609 /*!
3610 * \brief Set if a marker <i>val_marker</i> is going to be plot <i>val_plotting</i>
3611 * (read from the config file).
3612 * \param[in] val_marker - Index of the marker in which we are interested.
3613 * \param[in] val_plotting - 0 or 1 depending if the the marker is going to be plot.
3614 */
3615 void SetMarker_All_Analyze(unsigned short val_marker, unsigned short val_analyze) { Marker_All_Analyze[val_marker] = val_analyze; }
3616
3617 /*!
3618 * \brief Set if a marker <i>val_marker</i> is part of the FSI interface <i>val_plotting</i>
3619 * (read from the config file).
3620 * \param[in] val_marker - Index of the marker in which we are interested.
3621 * \param[in] val_plotting - 0 or 1 depending if the the marker is part of the FSI interface.
3622 */
3623 void SetMarker_All_ZoneInterface(unsigned short val_marker, unsigned short val_fsiinterface) { Marker_All_ZoneInterface[val_marker] = val_fsiinterface; }
3624
3625 /*!
3626 * \brief Set if a marker <i>val_marker</i> is part of the Turbomachinery (read from the config file).
3627 * \param[in] val_marker - Index of the marker in which we are interested.
3628 * \param[in] val_turboperf - 0 if not part of Turbomachinery or greater than 1 if it is part.
3629 */
3630 void SetMarker_All_Turbomachinery(unsigned short val_marker, unsigned short val_turbo) { Marker_All_Turbomachinery[val_marker] = val_turbo; }
3631
3632 /*!
3633 * \brief Set a flag to the marker <i>val_marker</i> part of the Turbomachinery (read from the config file).
3634 * \param[in] val_marker - Index of the marker in which we are interested.
3635 * \param[in] val_turboperflag - 0 if is not part of the Turbomachinery, flag INFLOW or OUTFLOW if it is part.
3636 */
3637 void SetMarker_All_TurbomachineryFlag(unsigned short val_marker, unsigned short val_turboflag) { Marker_All_TurbomachineryFlag[val_marker] = val_turboflag; }
3638
3639 /*!
3640 * \brief Set if a marker <i>val_marker</i> is part of the MixingPlane interface (read from the config file).
3641 * \param[in] val_marker - Index of the marker in which we are interested.
3642 * \param[in] val_turboperf - 0 if not part of the MixingPlane interface or greater than 1 if it is part.
3643 */
3644 void SetMarker_All_MixingPlaneInterface(unsigned short val_marker, unsigned short val_mixpla_interface) { Marker_All_MixingPlaneInterface[val_marker] = val_mixpla_interface; }
3645
3646 /*!
3647 * \brief Set if a marker <i>val_marker</i> is part of the Giles boundary (read from the config file).
3648 * \param[in] val_marker - Index of the marker in which we are interested.
3649 * \param[in] val_giles - 0 if not part of the Giles boundary or greater than 1 if it is part.
3650 */
3651 void SetMarker_All_Giles(unsigned short val_marker, unsigned short val_giles) { Marker_All_Giles[val_marker] = val_giles; }
3652
3653 /*!
3654 * \brief Set if a marker <i>val_marker</i> is going to be affected by design variables <i>val_moving</i>
3655 * (read from the config file).
3656 * \param[in] val_marker - Index of the marker in which we are interested.
3657 * \param[in] val_DV - 0 or 1 depending if the the marker is affected by design variables.
3658 */
3659 void SetMarker_All_DV(unsigned short val_marker, unsigned short val_DV) { Marker_All_DV[val_marker] = val_DV; }
3660
3661 /*!
3662 * \brief Set if a marker <i>val_marker</i> is going to be moved <i>val_moving</i>
3663 * (read from the config file).
3664 * \param[in] val_marker - Index of the marker in which we are interested.
3665 * \param[in] val_moving - 0 or 1 depending if the the marker is going to be moved.
3666 */
3667 void SetMarker_All_Moving(unsigned short val_marker, unsigned short val_moving) { Marker_All_Moving[val_marker] = val_moving; }
3668
3669 /*!
3670 * \brief Set if a marker how <i>val_marker</i> is going to be applied in gradient treatment.
3671 * \param[in] val_marker - Index of the marker in which we are interested.
3672 * \param[in] val_sobolev - 0 or 1 depending if the marker is selected.
3673 */
3674 void SetMarker_All_SobolevBC(unsigned short val_marker, unsigned short val_sobolev) { Marker_All_SobolevBC[val_marker] = val_sobolev; }
3675
3676 /*!
3677 * \brief Set if a marker <i>val_marker</i> allows deformation at the boundary.
3678 * \param[in] val_marker - Index of the marker in which we are interested.
3679 * \param[in] val_interface - 0 or 1 depending if the the marker is or not a DEFORM_MESH marker.
3680 */
3681 void SetMarker_All_Deform_Mesh(unsigned short val_marker, unsigned short val_deform) { Marker_All_Deform_Mesh[val_marker] = val_deform; }
3682
3683 /*!
3684 * \brief Set if a marker <i>val_marker</i> allows deformation at the boundary.
3685 * \param[in] val_marker - Index of the marker in which we are interested.
3686 * \param[in] val_interface - 0 or 1 depending if the the marker is or not a DEFORM_MESH_SYM_PLANE marker.
3687 */
3688 void SetMarker_All_Deform_Mesh_Sym_Plane(unsigned short val_marker, unsigned short val_deform) { Marker_All_Deform_Mesh_Sym_Plane[val_marker] = val_deform; }
3689
3690 /*!
3691 * \brief Set if a marker <i>val_marker</i> allows deformation at the boundary.
3692 * \param[in] val_marker - Index of the marker in which we are interested.
3693 * \param[in] val_interface - 0 or 1 depending if the the marker is or not a DEFORM_MESH_SYM_PLANE marker.
3694 */
3695 void SetMarker_All_Deform_Mesh_Internal(unsigned short val_marker, unsigned short val_deform) { Marker_All_Deform_Mesh_Internal[val_marker] = val_deform; }
3696
3697 /*!
3698 * \brief Set if a in marker <i>val_marker</i> the flow load will be computed/employed.
3699 * \param[in] val_marker - Index of the marker in which we are interested.
3700 * \param[in] val_interface - 0 or 1 depending if the the marker is or not a Fluid_Load marker.
3701 */
3702 void SetMarker_All_Fluid_Load(unsigned short val_marker, unsigned short val_interface) { Marker_All_Fluid_Load[val_marker] = val_interface; }
3703
3704 /*!
3705 * \brief Set if a marker <i>val_marker</i> is going to be customized in Python <i>val_PyCustom</i>
3706 * (read from the config file).
3707 * \param[in] val_marker - Index of the marker in which we are interested.
3708 * \param[in] val_PyCustom - 0 or 1 depending if the the marker is going to be customized in Python.
3709 */
3710 void SetMarker_All_PyCustom(unsigned short val_marker, unsigned short val_PyCustom) { Marker_All_PyCustom[val_marker] = val_PyCustom; }
3711
3712 /*!
3713 * \brief Set if a marker <i>val_marker</i> is going to be periodic <i>val_perbound</i>
3714 * (read from the config file).
3715 * \param[in] val_marker - Index of the marker in which we are interested.
3716 * \param[in] val_perbound - Index of the surface with the periodic boundary.
3717 */
3718 void SetMarker_All_PerBound(unsigned short val_marker, short val_perbound) { Marker_All_PerBound[val_marker] = val_perbound; }
3719
3720 /*!
3721 * \brief Set if a marker <i>val_marker</i> is going to be sent or receive <i>val_index</i>
3722 * from another domain.
3723 * \param[in] val_marker - 0 or 1 depending if the the marker is going to be moved.
3724 * \param[in] val_index - Index of the surface read from geometry file.
3725 */
3726 void SetMarker_All_SendRecv(unsigned short val_marker, short val_index) { Marker_All_SendRecv[val_marker] = val_index; }
3727
3728 /*!
3729 * \brief Get the send-receive information for a marker <i>val_marker</i>.
3730 * \param[in] val_marker - 0 or 1 depending if the the marker is going to be moved.
3731 * \return If positive, the information is sended to that domain, in case negative
3732 * the information is receive from that domain.
3733 */
3734 short GetMarker_All_SendRecv(unsigned short val_marker) const { return Marker_All_SendRecv[val_marker]; }
3735
3736 /*!
3737 * \brief Get an internal index that identify the periodic boundary conditions.
3738 * \param[in] val_marker - Value of the marker that correspond with the periodic boundary.
3739 * \return The internal index of the periodic boundary condition.
3740 */
3741 short GetMarker_All_PerBound(unsigned short val_marker) const { return Marker_All_PerBound[val_marker]; }
3742
3743 /*!
3744 * \brief Get the monitoring information for a marker <i>val_marker</i>.
3745 * \param[in] val_marker - 0 or 1 depending if the the marker is going to be monitored.
3746 * \return 0 or 1 depending if the marker is going to be monitored.
3747 */
3748 unsigned short GetMarker_All_Monitoring(unsigned short val_marker) const { return Marker_All_Monitoring[val_marker]; }
3749
3750 /*!
3751 * \brief Get the monitoring information for a marker <i>val_marker</i>.
3752 * \param[in] val_marker - 0 or 1 depending if the the marker is going to be monitored.
3753 * \return 0 or 1 depending if the marker is going to be monitored.
3754 */
3755 unsigned short GetMarker_All_GeoEval(unsigned short val_marker) const { return Marker_All_GeoEval[val_marker]; }
3756
3757 /*!
3758 * \brief Get the design information for a marker <i>val_marker</i>.
3759 * \param[in] val_marker - 0 or 1 depending if the the marker is going to be monitored.
3760 * \return 0 or 1 depending if the marker is going to be monitored.
3761 */
3762 unsigned short GetMarker_All_Designing(unsigned short val_marker) const { return Marker_All_Designing[val_marker]; }
3763
3764 /*!
3765 * \brief Get the plotting information for a marker <i>val_marker</i>.
3766 * \param[in] val_marker - 0 or 1 depending if the the marker is going to be moved.
3767 * \return 0 or 1 depending if the marker is going to be plotted.
3768 */
3769 unsigned short GetMarker_All_Plotting(unsigned short val_marker) const { return Marker_All_Plotting[val_marker]; }
3770
3771 /*!
3772 * \brief Get the plotting information for a marker <i>val_marker</i>.
3773 * \param[in] val_marker - 0 or 1 depending if the the marker is going to be moved.
3774 * \return 0 or 1 depending if the marker is going to be plotted.
3775 */
3776 unsigned short GetMarker_All_Analyze(unsigned short val_marker) const { return Marker_All_Analyze[val_marker]; }
3777
3778 /*!
3779 * \brief Get the FSI interface information for a marker <i>val_marker</i>.
3780 * \param[in] val_marker - 0 or 1 depending if the the marker is going to be moved.
3781 * \return 0 or 1 depending if the marker is part of the FSI interface.
3782 */
3783 unsigned short GetMarker_All_ZoneInterface(unsigned short val_marker) const { return Marker_All_ZoneInterface[val_marker]; }
3784
3785 /*!
3786 * \brief Get the MixingPlane interface information for a marker <i>val_marker</i>.
3787 * \param[in] val_marker value of the marker on the grid.
3788 * \return 0 if is not part of the MixingPlane Interface and greater than 1 if it is part.
3789 */
3790 unsigned short GetMarker_All_MixingPlaneInterface(unsigned short val_marker) const { return Marker_All_MixingPlaneInterface[val_marker]; }
3791
3792 /*!
3793 * \brief Get the Turbomachinery information for a marker <i>val_marker</i>.
3794 * \param[in] val_marker value of the marker on the grid.
3795 * \return 0 if is not part of the Turbomachinery and greater than 1 if it is part.
3796 */
3797 unsigned short GetMarker_All_Turbomachinery(unsigned short val_marker) const { return Marker_All_Turbomachinery[val_marker]; }
3798
3799 /*!
3800 * \brief Get the Turbomachinery flag information for a marker <i>val_marker</i>.
3801 * \param[in] val_marker value of the marker on the grid.
3802 * \return 0 if is not part of the Turbomachinery, flag INFLOW or OUTFLOW if it is part.
3803 */
3804 unsigned short GetMarker_All_TurbomachineryFlag(unsigned short val_marker) const { return Marker_All_TurbomachineryFlag[val_marker]; }
3805
3806/*!
3807 * \brief Get the Giles boundary information for a marker <i>val_marker</i>.
3808 * \param[in] val_marker value of the marker on the grid.
3809 * \return 0 if is not part of the MixingPlane Interface and greater than 1 if it is part.
3810 */
3811 unsigned short GetMarker_All_Giles(unsigned short val_marker) const { return Marker_All_Giles[val_marker]; }
3812
3813 /*!
3814 * \brief Get the number of FSI interface markers <i>val_marker</i>.
3815 * \param[in] void.
3816 * \return Number of markers belonging to the FSI interface.
3817 */
3818 unsigned short GetMarker_n_ZoneInterface(void) const { return nMarker_ZoneInterface; }
3819
3820 /*!
3821 * \brief Get the contact resistance value of a specified interface.
3822 * \param[in] val_interface interface index.
3823 * \return Contact resistance value (zero by default).
3824 */
3825 su2double GetContactResistance(unsigned short val_interface) const { return (nMarker_ContactResistance > 0) ? CHT_ContactResistance[val_interface] : 0.0; }
3826
3827 /*!
3828 * \brief Get the DV information for a marker <i>val_marker</i>.
3829 * \param[in] val_marker - 0 or 1 depending if the the marker is going to be affected by design variables.
3830 * \return 0 or 1 depending if the marker is going to be affected by design variables.
3831 */
3832 unsigned short GetMarker_All_DV(unsigned short val_marker) const { return Marker_All_DV[val_marker]; }
3833
3834 /*!
3835 * \brief Get the motion information for a marker <i>val_marker</i>.
3836 * \param[in] val_marker - 0 or 1 depending if the the marker is going to be moved.
3837 * \return 0 or 1 depending if the marker is going to be moved.
3838 */
3839 unsigned short GetMarker_All_Moving(unsigned short val_marker) const { return Marker_All_Moving[val_marker]; }
3840
3841 /*!
3842 * \brief Get the information if gradient treatment uses a marker <i>val_marker</i>.
3843 * \param[in] val_marker
3844 * \return 0 or 1 depending if the marker is going to be selected.
3845 */
3846 unsigned short GetMarker_All_SobolevBC(unsigned short val_marker) const { return Marker_All_SobolevBC[val_marker]; }
3847
3848 /*!
3849 * \brief Get whether marker <i>val_marker</i> is a DEFORM_MESH marker
3850 * \param[in] val_marker - 0 or 1 depending if the the marker belongs to the DEFORM_MESH subset.
3851 * \return 0 or 1 depending if the marker belongs to the DEFORM_MESH subset.
3852 */
3853 unsigned short GetMarker_All_Deform_Mesh(unsigned short val_marker) const { return Marker_All_Deform_Mesh[val_marker]; }
3854
3855 /*!
3856 * \brief Get whether marker <i>val_marker</i> is a DEFORM_MESH_SYM_PLANE marker
3857 * \param[in] val_marker - 0 or 1 depending if the the marker belongs to the DEFORM_MESH_SYM_PLANE subset.
3858 * \return 0 or 1 depending if the marker belongs to the DEFORM_MESH_SYM_PLANE subset.
3859 */
3860 unsigned short GetMarker_All_Deform_Mesh_Sym_Plane(unsigned short val_marker) const { return Marker_All_Deform_Mesh_Sym_Plane[val_marker]; }
3861
3862 /*!
3863 * \brief Get whether marker <i>val_marker</i> is a DEFORM_MESH_SYM_PLANE marker
3864 * \param[in] val_marker - 0 or 1 depending if the the marker belongs to the DEFORM_MESH_SYM_PLANE subset.
3865 * \return 0 or 1 depending if the marker belongs to the DEFORM_MESH_SYM_PLANE subset.
3866 */
3867 unsigned short GetMarker_All_Deform_Mesh_Internal(unsigned short val_marker) const { return Marker_All_Deform_Mesh_Internal[val_marker]; }
3868
3869 /*!
3870 * \brief Get whether marker <i>val_marker</i> is a Fluid_Load marker
3871 * \param[in] val_marker - 0 or 1 depending if the the marker belongs to the Fluid_Load subset.
3872 * \return 0 or 1 depending if the marker belongs to the Fluid_Load subset.
3873 */
3874 unsigned short GetMarker_All_Fluid_Load(unsigned short val_marker) const { return Marker_All_Fluid_Load[val_marker]; }
3875
3876 /*!
3877 * \brief Get the Python customization for a marker <i>val_marker</i>.
3878 * \param[in] val_marker - Index of the marker in which we are interested.
3879 * \return 0 or 1 depending if the marker is going to be customized in Python.
3880 */
3881 unsigned short GetMarker_All_PyCustom(unsigned short val_marker) const { return Marker_All_PyCustom[val_marker];}
3882
3883 /*!
3884 * \brief Get the airfoil sections in the slicing process.
3885 * \param[in] val_section - Index of the section.
3886 * \return Coordinate of the airfoil to slice.
3887 */
3888 su2double GetLocationStations(unsigned short val_section) const { return LocationStations[val_section]; }
3889
3890 /*!
3891 * \brief Get the defintion of the nacelle location.
3892 * \param[in] val_index - Index of the section.
3893 * \return Coordinate of the nacelle location.
3894 */
3895 su2double GetNacelleLocation(unsigned short val_index) const { return nacelle_location[val_index]; }
3896
3897 /*!
3898 * \brief Get the multigrid options struct.
3899 */
3900 const CMGOptions& GetMGOptions() const { return MGOptions; }
3901
3902 /*!
3903 * \brief plane of the FFD (I axis) that should be fixed.
3904 * \param[in] val_index - Index of the arrray with all the planes in the I direction that should be fixed.
3905 * \return Index of the plane that is going to be freeze.
3906 */
3907 short GetFFD_Fix_IDir(unsigned short val_index) const { return FFD_Fix_IDir[val_index]; }
3908
3909 /*!
3910 * \brief plane of the FFD (J axis) that should be fixed.
3911 * \param[in] val_index - Index of the arrray with all the planes in the J direction that should be fixed.
3912 * \return Index of the plane that is going to be freeze.
3913 */
3914 short GetFFD_Fix_JDir(unsigned short val_index) const { return FFD_Fix_JDir[val_index]; }
3915
3916 /*!
3917 * \brief plane of the FFD (K axis) that should be fixed.
3918 * \param[in] val_index - Index of the arrray with all the planes in the K direction that should be fixed.
3919 * \return Index of the plane that is going to be freeze.
3920 */
3921 short GetFFD_Fix_KDir(unsigned short val_index) const { return FFD_Fix_KDir[val_index]; }
3922
3923 /*!
3924 * \brief Get the number of planes to fix in the I direction.
3925 * \return Number of planes to fix in the I direction.
3926 */
3927 unsigned short GetnFFD_Fix_IDir(void) const { return nFFD_Fix_IDir; }
3928
3929 /*!
3930 * \brief Get the number of planes to fix in the J direction.
3931 * \return Number of planes to fix in the J direction.
3932 */
3933 unsigned short GetnFFD_Fix_JDir(void) const { return nFFD_Fix_JDir; }
3934
3935 /*!
3936 * \brief Get the number of planes to fix in the K direction.
3937 * \return Number of planes to fix in the K direction.
3938 */
3939 unsigned short GetnFFD_Fix_KDir(void) const { return nFFD_Fix_KDir; }
3940
3941 /*!
3942 * \brief Governing equations of the flow (it can be different from the run time equation).
3943 * \param[in] val_zone - Zone where the soler is applied.
3944 * \return Governing equation that we are solving.
3945 */
3946 MAIN_SOLVER GetKind_Solver(void) const { return Kind_Solver; }
3947
3948 /*!
3949 * \brief Return true if a fluid solver is in use.
3950 */
3963
3964 /*!
3965 * \brief Return true if a structural solver is in use.
3966 */
3967 bool GetStructuralProblem(void) const {
3968 return (Kind_Solver == MAIN_SOLVER::FEM_ELASTICITY) || (Kind_Solver == MAIN_SOLVER::DISC_ADJ_FEM);
3969 }
3970
3971 /*!
3972 * \brief Return true if a heat solver is in use.
3973 */
3974 bool GetHeatProblem(void) const {
3975 return (Kind_Solver == MAIN_SOLVER::HEAT_EQUATION) || (Kind_Solver == MAIN_SOLVER::DISC_ADJ_HEAT);
3976 }
3977
3978 /*!
3979 * \brief Return true if a high order FEM solver is in use.
3980 */
3981 bool GetFEMSolver(void) const {
3982 switch (Kind_Solver) {
3985 return true;
3986 default:
3987 return false;
3988 }
3989 }
3990
3991 /*!
3992 * \brief Return true if a NEMO solver is in use.
3993 */
3994 bool GetNEMOProblem(void) const {
3995 switch (Kind_Solver) {
3997 return true;
3998 default:
3999 return false;
4000 }
4001 }
4002
4003 /*!
4004 * \brief Return true if an AUSM method is in use.
4005 */
4006 bool GetAUSMMethod(void) const {
4007 switch (Kind_Upwind_Flow) {
4009 return true;
4010 default:
4011 return false;
4012 }
4013 }
4014
4015 /*!
4016 * \brief Kind of Multizone Solver.
4017 * \return Governing equation that we are solving.
4018 */
4019 ENUM_MULTIZONE GetKind_MZSolver(void) const { return Kind_MZSolver; }
4020
4021 /*!
4022 * \brief Governing equations of the flow (it can be different from the run time equation).
4023 * \param[in] val_zone - Zone where the soler is applied.
4024 * \return Governing equation that we are solving.
4025 */
4026 ENUM_REGIME GetKind_Regime(void) const { return Kind_Regime; }
4027
4028 /*!
4029 * \brief Kind of incompressible solver formulation.
4030 * \return Kind of incompressible solver.
4031 */
4032 INCOMP_SYSTEM GetKind_Incomp_System(void) const { return Kind_Incomp_System; }
4033
4034 /*!
4035 * \brief Kind of iteration used for pressure based iterations.
4036 * \return Kind of iteration used for pressure based iterations.
4037 */
4038 PBITER GetKind_PBIter(void) const { return Kind_PBIter; }
4039
4040 /*!
4041 * \brief Governing equations of the flow (it can be different from the run time equation).
4042 * \param[in] val_zone - Zone where the soler is applied.
4043 * \return Governing equation that we are solving.
4044 */
4045 unsigned short GetSystemMeasurements(void) const { return SystemMeasurements; }
4046
4047 /*!
4048 * \brief Gas model that we are using.
4049 * \return Gas model that we are using.
4050 */
4051 string GetGasModel(void) const {return GasModel;}
4052
4053 /*!
4054 * \brief Get the transport coefficient model.
4055 * \return Index of transport coefficient model.
4056 */
4057 TRANSCOEFFMODEL GetKind_TransCoeffModel(void) const { return Kind_TransCoeffModel; }
4058
4059 /*!
4060 * \brief Get the total number of heat flux markers.
4061 * \return Total number of heat flux markers.
4062 */
4063 unsigned short GetnWall_Catalytic(void) const { return nWall_Catalytic; }
4064
4065 /*!
4066 * \brief Get the name of the surface defined in the geometry file.
4067 * \param[in] val_marker - Value of the marker in which we are interested.
4068 * \return Name that is in the geometry file for the surface that
4069 * has the marker <i>val_marker</i>.
4070 */
4071 string GetWall_Catalytic_TagBound(unsigned short val_marker) const { return Wall_Catalytic[val_marker]; }
4072
4073 /*!
4074 * \brief Get wall catalytic efficiency.
4075 * \return wall catalytic efficiency value.
4076 */
4077 su2double GetCatalytic_Efficiency(void) const { return CatalyticEfficiency; }
4078
4079 /*!
4080 * \brief Fluid model that we are using.
4081 * \return Fluid model that we are using.
4082 */
4083 unsigned short GetKind_FluidModel(void) const { return Kind_FluidModel; }
4084
4085 /*!
4086 * \brief Returns the name of the fluid we are using in CoolProp.
4087 */
4088 string GetFluid_Name(void) const { return FluidName; }
4089
4090 /*!
4091 * \brief Option to define the density model for incompressible flows.
4092 * \return Density model option
4093 */
4094 INC_DENSITYMODEL GetKind_DensityModel() const { return Kind_DensityModel; }
4095
4096 /*!
4097 * \brief Selection of variable density option for incompressible flows.
4098 * \return Flag for variable density for incompressible flows.
4099 */
4100 bool GetVariable_Density_Model() const { return Variable_Density; }
4101
4102 /*!
4103 * \brief Flag for whether to solve the energy equation for incompressible flows.
4104 * \return Flag for energy equation
4105 */
4106 bool GetEnergy_Equation(void) const { return Energy_Equation; }
4107
4108 /*!
4109 * \brief free stream option to initialize the solution
4110 * \return free stream option
4111 */
4112 FREESTREAM_OPTION GetKind_FreeStreamOption() const { return Kind_FreeStreamOption; }
4113
4114 /*!
4115 * \brief free stream option to initialize the solution
4116 * \return free stream option
4117 */
4118 unsigned short GetKind_InitOption(void) const { return Kind_InitOption; }
4119
4120 /*!
4121 * \brief Get the initialization option of the incompressible solver.
4122 * \return Initialization option of the incompressible solver.
4123 */
4124 INIT_OPTION_INC GetKind_InitOption_Inc() const { return Kind_InitOption_Inc; }
4125
4126 /*!
4127 * \brief Get the value of the critical pressure.
4128 * \return Critical pressure.
4129 */
4130 su2double GetPressure_Critical(void) const { return Pressure_Critical; }
4131
4132 /*!
4133 * \brief Get the value of the critical temperature.
4134 * \return Critical temperature.
4135 */
4136 su2double GetTemperature_Critical(void) const { return Temperature_Critical; }
4137
4138 /*!
4139 * \brief Get the value of the critical pressure.
4140 * \return Critical pressure.
4141 */
4142 su2double GetAcentric_Factor(void) const { return Acentric_Factor; }
4143
4144 /*!
4145 * \brief Get the value of the viscosity model.
4146 * \return Viscosity model.
4147 */
4148 VISCOSITYMODEL GetKind_ViscosityModel() const { return Kind_ViscosityModel; }
4149
4150 /*!
4151 * \brief Get the value of the mixing model for viscosity.
4152 * \return Mixing Viscosity model.
4153 */
4154 MIXINGVISCOSITYMODEL GetKind_MixingViscosityModel() const { return Kind_MixingViscosityModel; }
4155
4156 /*!
4157 * \brief Get the value of the thermal conductivity model.
4158 * \return Conductivity model.
4159 */
4160 CONDUCTIVITYMODEL GetKind_ConductivityModel() const { return Kind_ConductivityModel; }
4161
4162 /*!
4163 * \brief Get the value of the turbulent thermal conductivity model.
4164 * \return Turbulent conductivity model.
4165 */
4166 CONDUCTIVITYMODEL_TURB GetKind_ConductivityModel_Turb() const { return Kind_ConductivityModel_Turb; }
4167
4168 /*!
4169 * \brief Get the value of the mass diffusivity model.
4170 * \return Mass diffusivity model.
4171 */
4172 DIFFUSIVITYMODEL GetKind_Diffusivity_Model(void) const { return Kind_Diffusivity_Model; }
4173
4174 /*!
4175 * \brief Get the value of the constant viscosity.
4176 * \return Constant viscosity.
4177 */
4178 su2double GetMu_Constant(unsigned short val_index = 0) const { return Mu_Constant[val_index]; }
4179
4180 /*!
4181 * \brief Get the value of the non-dimensional constant viscosity.
4182 * \return Non-dimensional constant viscosity.
4183 */
4184 su2double GetMu_ConstantND(unsigned short val_index = 0) const { return Mu_Constant[val_index] / Viscosity_Ref; }
4185
4186 /*!
4187 * \brief Get the value of the thermal conductivity.
4188 * \return Thermal conductivity.
4189 */
4190 su2double GetThermal_Conductivity_Constant(unsigned short val_index = 0) const {
4191 return Thermal_Conductivity_Constant[val_index];
4192 }
4193
4194 /*!
4195 * \brief Get the value of the non-dimensional thermal conductivity.
4196 * \return Non-dimensional thermal conductivity.
4197 */
4198 su2double GetThermal_Conductivity_ConstantND(unsigned short val_index = 0) const {
4199 return Thermal_Conductivity_Constant[val_index] / Thermal_Conductivity_Ref;
4200 }
4201
4202 /*!
4203 * \brief Get the value of the constant mass diffusivity for scalar transport.
4204 * \return Constant mass diffusivity.
4205 */
4206 su2double GetDiffusivity_Constant(void) const { return Diffusivity_Constant; }
4207
4208 /*!
4209 * \brief Get the value of the non-dimensional constant mass diffusivity.
4210 * \return Non-dimensional constant mass diffusivity.
4211 */
4212 su2double GetDiffusivity_ConstantND(void) const { return Diffusivity_ConstantND; }
4213
4214 /*!
4215 * \brief Get the value of the laminar Schmidt number for scalar transport.
4216 * \return Laminar Schmidt number for scalar transport.
4217 */
4218 su2double GetSchmidt_Number_Laminar(void) const { return Schmidt_Number_Laminar; }
4219
4220 /*!
4221 * \brief Get the value of the turbulent Schmidt number for scalar transport.
4222 * \return Turbulent Schmidt number for scalar transport.
4223 */
4224 su2double GetSchmidt_Number_Turbulent(void) const { return Schmidt_Number_Turbulent; }
4225
4226 /*!
4227 * \brief Get the value of the Lewis number for each species.
4228 * \return Lewis Number.
4229 */
4230 su2double GetConstant_Lewis_Number(unsigned short val_index = 0) const { return Constant_Lewis_Number[val_index]; }
4231
4232 /*!
4233 * \brief Get the value of the reference viscosity for Sutherland model.
4234 * \return The reference viscosity.
4235 */
4236 su2double GetMu_Ref(unsigned short val_index = 0) const { return Mu_Ref[val_index]; }
4237
4238 /*!
4239 * \brief Get the value of the non-dimensional reference viscosity for Sutherland model.
4240 * \return The non-dimensional reference viscosity.
4241 */
4242 su2double GetMu_RefND(unsigned short val_index = 0) const { return Mu_Ref[val_index] / Viscosity_Ref; }
4243
4244 /*!
4245 * \brief Get the value of the reference temperature for Sutherland model.
4246 * \return The reference temperature.
4247 */
4248 su2double GetMu_Temperature_Ref(unsigned short val_index = 0) const { return Mu_Temperature_Ref[val_index]; }
4249
4250 /*!
4251 * \brief Get the value of the non-dimensional reference temperature for Sutherland model.
4252 * \return The non-dimensional reference temperature.
4253 */
4254 su2double GetMu_Temperature_RefND(unsigned short val_index = 0) const {
4255 return Mu_Temperature_Ref[val_index] / Temperature_Ref;
4256 }
4257
4258 /*!
4259 * \brief Get the value of the reference S for Sutherland model.
4260 * \return The reference S.
4261 */
4262 su2double GetMu_S(unsigned short val_index = 0) const { return Mu_S[val_index]; }
4263
4264 /*!
4265 * \brief Get the value of the non-dimensional reference S for Sutherland model.
4266 * \return The non-dimensional reference S.
4267 */
4268 su2double GetMu_SND(unsigned short val_index = 0) const { return Mu_S[val_index] / Temperature_Ref; }
4269
4270 /*!
4271 * \brief Get the number of coefficients in the temperature polynomial models.
4272 * \return The the number of coefficients in the temperature polynomial models.
4273 */
4274 unsigned short GetnPolyCoeffs(void) const { return N_POLY_COEFFS; }
4275
4276 /*!
4277 * \brief Get the temperature polynomial coefficient for specific heat Cp.
4278 * \param[in] val_index - Index of the array with all polynomial coefficients.
4279 * \return Temperature polynomial coefficient for specific heat Cp.
4280 */
4281 su2double GetCp_PolyCoeff(unsigned short val_index) const { return cp_polycoeffs[val_index]; }
4282
4283 /*!
4284 * \brief Get the temperature polynomial coefficient for specific heat Cp.
4285 * \param[in] val_index - Index of the array with all polynomial coefficients.
4286 * \return Temperature polynomial coefficient for specific heat Cp.
4287 */
4288 su2double GetCp_PolyCoeffND(unsigned short val_index) const { return CpPolyCoefficientsND[val_index]; }
4289
4290 /*!
4291 * \brief Get the temperature polynomial coefficient for viscosity.
4292 * \param[in] val_index - Index of the array with all polynomial coefficients.
4293 * \return Temperature polynomial coefficient for viscosity.
4294 */
4295 su2double GetMu_PolyCoeff(unsigned short val_index) const { return mu_polycoeffs[val_index]; }
4296
4297 /*!
4298 * \brief Get the temperature polynomial coefficient for viscosity.
4299 * \param[in] val_index - Index of the array with all polynomial coefficients.
4300 * \return Non-dimensional temperature polynomial coefficient for viscosity.
4301 */
4302 su2double GetMu_PolyCoeffND(unsigned short val_index) const { return MuPolyCoefficientsND[val_index]; }
4303
4304 /*!
4305 * \brief Get the temperature polynomial coefficients for viscosity.
4306 * \return Non-dimensional temperature polynomial coefficients for viscosity.
4307 */
4308 const su2double* GetMu_PolyCoeffND(void) const { return MuPolyCoefficientsND.data(); }
4309
4310 /*!
4311 * \brief Get the temperature polynomial coefficient for thermal conductivity.
4312 * \param[in] val_index - Index of the array with all polynomial coefficients.
4313 * \return Temperature polynomial coefficient for thermal conductivity.
4314 */
4315 su2double GetKt_PolyCoeff(unsigned short val_index) const { return kt_polycoeffs[val_index]; }
4316
4317 /*!
4318 * \brief Get the temperature polynomial coefficient for thermal conductivity.
4319 * \param[in] val_index - Index of the array with all polynomial coefficients.
4320 * \return Non-dimensional temperature polynomial coefficient for thermal conductivity.
4321 */
4322 su2double GetKt_PolyCoeffND(unsigned short val_index) const { return KtPolyCoefficientsND[val_index]; }
4323
4324 /*!
4325 * \brief Get the temperature polynomial coefficients for thermal conductivity.
4326 * \return Non-dimensional temperature polynomial coefficients for thermal conductivity.
4327 */
4328 const su2double* GetKt_PolyCoeffND(void) const { return KtPolyCoefficientsND.data(); }
4329
4330 /*!
4331 * \brief Set the temperature polynomial coefficient for specific heat Cp.
4332 * \param[in] val_coeff - Temperature polynomial coefficient for specific heat Cp.
4333 * \param[in] val_index - Index of the array with all polynomial coefficients.
4334 */
4335 void SetCp_PolyCoeffND(su2double val_coeff, unsigned short val_index) { CpPolyCoefficientsND[val_index] = val_coeff; }
4336
4337 /*!
4338 * \brief Set the temperature polynomial coefficient for viscosity.
4339 * \param[in] val_coeff - Non-dimensional temperature polynomial coefficient for viscosity.
4340 * \param[in] val_index - Index of the array with all polynomial coefficients.
4341 */
4342 void SetMu_PolyCoeffND(su2double val_coeff, unsigned short val_index) { MuPolyCoefficientsND[val_index] = val_coeff; }
4343
4344 /*!
4345 * \brief Set the temperature polynomial coefficient for thermal conductivity.
4346 * \param[in] val_coeff - Non-dimensional temperature polynomial coefficient for thermal conductivity.
4347 * \param[in] val_index - Index of the array with all polynomial coefficients.
4348 */
4349 void SetKt_PolyCoeffND(su2double val_coeff, unsigned short val_index) { KtPolyCoefficientsND[val_index] = val_coeff; }
4350
4351 /*!
4352 * \brief Set the value of the non-dimensional constant mass diffusivity.
4353 */
4354 void SetDiffusivity_ConstantND(su2double diffusivity_const) { Diffusivity_ConstantND = diffusivity_const; }
4355
4356 /*!
4357 * \brief Get the kind of method for computation of spatial gradients used for viscous and source terms.
4358 * \return Numerical method for computation of spatial gradients used for viscous and source terms.
4359 */
4360 unsigned short GetKind_Gradient_Method(void) const { return Kind_Gradient_Method; }
4361
4362 /*!
4363 * \brief Get the kind of method for computation of spatial gradients used for upwind reconstruction.
4364 * \return Numerical method for computation of spatial gradients used for upwind reconstruction.
4365 */
4366 unsigned short GetKind_Gradient_Method_Recon(void) const { return Kind_Gradient_Method_Recon; }
4367
4368 /*!
4369 * \brief Get flag for whether a second gradient calculation is required for upwind reconstruction alone.
4370 * \return <code>TRUE</code> means that a second gradient will be calculated for upwind reconstruction.
4371 */
4372 bool GetReconstructionGradientRequired(void) const { return ReconstructionGradientRequired; }
4373
4374 /*!
4375 * \brief Get flag for whether a least-squares gradient method is being applied.
4376 * \return <code>TRUE</code> means that a least-squares gradient method is being applied.
4377 */
4378 bool GetLeastSquaresRequired(void) const { return LeastSquaresRequired; }
4379
4380 /*!
4381 * \brief Get the kind of solver for the implicit solver.
4382 * \return Numerical solver for implicit formulation (solving the linear system).
4383 */
4384 unsigned short GetKind_Linear_Solver(void) const { return Kind_Linear_Solver; }
4385
4386 /*!
4387 * \brief Get the inner linear solver used in nested Krylov linear solvers.
4388 */
4389 LINEAR_SOLVER_INNER GetKind_Linear_Solver_Inner(void) const { return Kind_Linear_Solver_Inner; }
4390
4391 /*!
4392 * \brief Get the kind of preconditioner for the implicit solver.
4393 * \return Numerical preconditioner for implicit formulation (solving the linear system).
4394 */
4395 unsigned short GetKind_Linear_Solver_Prec(void) const { return Kind_Linear_Solver_Prec; }
4396
4397 /*!
4398 * \brief Get the kind of preconditioner for the linear solver of the poisson problem.
4399 * \return Numerical preconditioner for poisson equation (solving the linear system).
4400 */
4401 unsigned short GetKind_Poisson_Linear_Solver_Prec(void) const { return Kind_Poisson_Linear_Solver_Prec; }
4402
4403 /*!
4404 * \brief Get the kind of solver for the implicit solver.
4405 * \return Numerical solver for implicit formulation (solving the linear system).
4406 */
4407 unsigned short GetKind_Deform_Linear_Solver(void) const { return Kind_Deform_Linear_Solver; }
4408
4409 /*!
4410 * \brief Get the kind of solver for the poisson equation.
4411 * \return Numerical solver for poisson equation (solving the linear system).
4412 */
4413 unsigned short GetKind_Poisson_Linear_Solver(void) const { return Kind_Poisson_Linear_Solver; }
4414
4415 /*!
4416 * \brief Get min error of the linear solver for the implicit formulation.
4417 * \return Min error of the linear solver for the implicit formulation.
4418 */
4419 su2double GetLinear_Solver_Error(void) const { return Linear_Solver_Error; }
4420
4421 /*!
4422 * \brief Get min error of the linear solver for the implicit formulation.
4423 * \return Min error of the linear solver for the implicit formulation.
4424 */
4425 su2double GetDeform_Linear_Solver_Error(void) const { return Deform_Linear_Solver_Error; }
4426
4427 /*!
4428 * \brief Get min error of the linear solver for the poisson equation.
4429 * \return Min error of the linear solver for the poisson equation.
4430 */
4431 su2double GetPoisson_Linear_Solver_Error(void) const { return Poisson_Linear_Solver_Error; }
4432
4433 /*!
4434 * \brief Get max number of iterations of the linear solver for the implicit formulation.
4435 * \return Max number of iterations of the linear solver for the implicit formulation.
4436 */
4437 unsigned long GetLinear_Solver_Iter(void) const { return Linear_Solver_Iter; }
4438
4439 /*!
4440 * \brief Get max number of iterations of the linear solver for the poisson equation.
4441 * \return Max number of iterations of the linear solver for the poisson equation.
4442 */
4443 unsigned long GetPoisson_Linear_Solver_Iter(void) const { return Poisson_Linear_Solver_Iter; }
4444
4445 /*!
4446 * \brief Get max number of iterations of the linear solver for the implicit formulation.
4447 * \return Max number of iterations of the linear solver for the implicit formulation.
4448 */
4449 unsigned long GetDeform_Linear_Solver_Iter(void) const { return Deform_Linear_Solver_Iter; }
4450
4451 /*!
4452 * \brief Get the ILU preconditioner options (fill-in level, OMP level scheduling, GPU build
4453 * sweeps), see CIluOptions.
4454 */
4455 const CIluOptions& GetIluOptions(void) const { return IluOptions; }
4456
4457 /*!
4458 * \brief Get the SIMPLE (and PISO) algorithm options, see CSIMPLE_Options.
4459 */
4460 const CSIMPLE_Options& GetSIMPLE_Options(void) const { return SIMPLE_Options; }
4461
4462 /*!
4463 * \brief Get restart frequency of the linear solver for the implicit formulation.
4464 * \return Restart frequency of the linear solver for the implicit formulation.
4465 */
4466 unsigned long GetLinear_Solver_Restart_Frequency(void) const { return Linear_Solver_Restart_Frequency; }
4467
4468 /*!
4469 * \brief Get the number of vectors used for deflated restarts.
4470 */
4471 unsigned long GetLinear_Solver_Restart_Deflation(void) const { return Linear_Solver_Restart_Deflation; }
4472
4473 /*!
4474 * \brief Get the relaxation factor for iterative linear smoothers.
4475 * \return Relaxation factor.
4476 */
4477 su2double GetLinear_Solver_Smoother_Relaxation(void) const { return Linear_Solver_Smoother_Relaxation; }
4478
4479 /*!
4480 * \brief Get the relaxation factor for solution updates of adjoint solvers.
4481 */
4482 su2double GetRelaxation_Factor_Adjoint(void) const { return Relaxation_Factor_Adjoint; }
4483
4484 /*!
4485 * \brief Get the relaxation coefficient of the CHT coupling.
4486 * \return relaxation coefficient of the CHT coupling.
4487 */
4488 su2double GetRelaxation_Factor_CHT(void) const { return Relaxation_Factor_CHT; }
4489
4490 /*!
4491 * \brief Get the maximum update ratio for flow variables- density and energy.
4492 * \return Maximum allowable update ratio for flow variables.
4493 */
4494 su2double GetMaxUpdateFractionFlow(void) const { return MaxUpdateFlow; }
4495
4496 /*!
4497 * \brief Get the maximum update ratio for SA variable nu_tilde.
4498 * \return Maximum allowable update ratio for SA variables.
4499 */
4500 su2double GetMaxUpdateFractionSA(void) const { return MaxUpdateSA; }
4501
4502 /*!
4503 * \brief Get the maximum update ratio for SST turbulence variables TKE and Omega.
4504 * \return Maximum allowable update ratio for SST variables.
4505 */
4506 su2double GetMaxUpdateFractionSST(void) const { return MaxUpdateSST; }
4507
4508 /*!
4509 * \brief Get the number of samples used in quasi-Newton methods.
4510 */
4511 unsigned short GetnQuasiNewtonSamples(void) const { return nQuasiNewtonSamples; }
4512
4513 /*!
4514 * \brief Get whether to use vectorized numerics (if available).
4515 */
4516 bool GetUseVectorization(void) const { return UseVectorization; }
4517
4518 /*!
4519 * \brief Get whether to use a Newton-Krylov method.
4520 */
4521 bool GetNewtonKrylov(void) const { return NewtonKrylov; }
4522
4523 /*!
4524 * \brief Get Newton-Krylov integer parameters.
4525 */
4526 array<unsigned short,4> GetNewtonKrylovIntParam() const { return NK_IntParam; }
4527
4528 /*!
4529 * \brief Get Newton-Krylov floating-point parameters.
4530 */
4531 array<su2double,5> GetNewtonKrylovDblParam() const { return NK_DblParam; }
4532
4533 /*!
4534 * \brief Get the Newton-Krylov relaxation.
4535 */
4536 su2double GetNewtonKrylovRelaxation() const { return NK_Relaxation; }
4537
4538 /*!
4539 * \brief Set the Newton-Krylov relaxation.
4540 */
4541 void SetNewtonKrylovRelaxation(const su2double& relaxation) { NK_Relaxation = relaxation; }
4542
4543 /*!
4544 * \brief Returns the MSW alpha (coefficient of the state blending weight).
4545 */
4546 su2double GetMSW_Alpha(void) const { return MSW_Alpha; }
4547
4548 /*!
4549 * \brief Returns the Roe kappa (multipler of the dissipation term).
4550 */
4551 su2double GetRoe_Kappa(void) const { return Roe_Kappa; }
4552
4553 /*!
4554 * \brief Get the wing semi span.
4555 * \return value of the wing semi span.
4556 */
4557 su2double GetSemiSpan(void) const { return SemiSpan; }
4558
4559 /*!
4560 * \brief Get the kind of solver for the implicit solver.
4561 * \return Numerical solver for implicit formulation (solving the linear system).
4562 */
4563 unsigned short GetKind_DiscAdj_Linear_Solver(void) const { return Kind_DiscAdj_Linear_Solver; }
4564
4565 /*!
4566 * \brief Get the kind of preconditioner for the implicit solver.
4567 * \return Numerical preconditioner for implicit formulation (solving the linear system).
4568 */
4569 unsigned short GetKind_DiscAdj_Linear_Prec(void) const { return Kind_DiscAdj_Linear_Prec; }
4570
4571 /*!
4572 * \brief Get the kind of preconditioner for the implicit solver.
4573 * \return Numerical preconditioner for implicit formulation (solving the linear system).
4574 */
4575 unsigned short GetKind_Deform_Linear_Solver_Prec(void) const { return Kind_Deform_Linear_Solver_Prec; }
4576
4577 /*!
4578 * \brief Get the entropy fix.
4579 * \return Vaule of the entropy fix.
4580 */
4581 su2double GetEntropyFix_Coeff(void) const { return EntropyFix_Coeff; }
4582
4583 /*!
4584 * \brief Get CFL reduction factor for adjoint turbulence model.
4585 * \return CFL reduction factor.
4586 */
4587 su2double GetCFLRedCoeff_AdjTurb(void) const { return CFLRedCoeff_AdjTurb; }
4588
4589 /*!
4590 * \brief Get the number of nonlinear increments for mesh deformation.
4591 * \return Number of nonlinear increments for mesh deformation.
4592 */
4593 unsigned long GetGridDef_Nonlinear_Iter(void) const { return GridDef_Nonlinear_Iter; }
4594
4595 /*!
4596 * \brief Get information about whether the mesh will be deformed using pseudo linear elasticity.
4597 * \return <code>TRUE</code> means that grid deformation is active.
4598 */
4599 bool GetDeform_Mesh(void) const { return Deform_Mesh; }
4600
4601 /*!
4602 * \brief Get information about writing grid deformation residuals to the console.
4603 * \return <code>TRUE</code> means that grid deformation residuals will be written to the console.
4604 */
4605 bool GetDeform_Output(void) const { return Deform_Output; }
4606
4607 /*!
4608 * \brief Get factor to multiply smallest volume for deform tolerance.
4609 * \return Factor to multiply smallest volume for deform tolerance.
4610 */
4611 su2double GetDeform_Coeff(void) const { return Deform_Coeff; }
4612
4613 /*!
4614 * \brief Get limit for the volumetric deformation.
4615 * \return Distance to the surface to be deformed.
4616 */
4617 su2double GetDeform_Limit(void) const { return Deform_Limit; }
4618
4619 /*!
4620 * \brief Get Young's modulus for deformation (constant stiffness deformation)
4621 */
4622 su2double GetDeform_ElasticityMod(void) const { return Deform_ElasticityMod; }
4623
4624 /*!
4625 * \brief Get Poisson's ratio for deformation (constant stiffness deformation)
4626 * \
4627 */
4628 su2double GetDeform_PoissonRatio(void) const { return Deform_PoissonRatio; }
4629
4630 /*!
4631 * \brief Get the type of stiffness to impose for FEA mesh deformation.
4632 * \return type of stiffness to impose for FEA mesh deformation.
4633 */
4634 unsigned short GetDeform_Stiffness_Type(void) const { return Deform_StiffnessType; }
4635
4636 /*!
4637 * \brief Get the size of the layer of highest stiffness for wall distance-based mesh stiffness.
4638 */
4639 su2double GetDeform_StiffLayerSize(void) const { return Deform_StiffLayerSize; }
4640
4641 /*!
4642 * \brief Define the FFD box with a symetry plane.
4643 * \return <code>TRUE</code> if there is a symmetry plane in the FFD; otherwise <code>FALSE</code>.
4644 */
4645 bool GetFFD_Symmetry_Plane(void) const { return FFD_Symmetry_Plane; }
4646
4647 /*!
4648 * \brief Get the type of mesh deformation method.
4649 * \return type of mesh deformation.
4650 */
4651 DEFORM_KIND GetDeform_Kind() const { return Deform_Kind; }
4652
4653 /*!
4654 * \brief Determines use of data reduction methods for RBF mesh deformation.
4655 * \return <code>TRUE</code> means that data reduction is used.
4656 */
4657 const CRBFParam& GetRBFParam(void) const { return RBFParam; }
4658
4659 /*!
4660 * \brief Get the kind of SU2 software component.
4661 * \return Kind of the SU2 software component.
4662 */
4663 SU2_COMPONENT GetKind_SU2(void) const { return Kind_SU2; }
4664
4665 /*!
4666 * \brief Get the kind of non-dimensionalization.
4667 * \return Kind of non-dimensionalization.
4668 */
4669 unsigned short GetRef_NonDim(void) const { return Ref_NonDim; }
4670
4671 /*!
4672 * \brief Get the kind of incompressible non-dimensionalization.
4673 * \return Kind of incompressible non-dimensionalization.
4674 */
4675 unsigned short GetRef_Inc_NonDim(void) const { return Ref_Inc_NonDim; }
4676
4677 /*!
4678 * \brief Set the kind of SU2 software component.
4679 * \return Kind of the SU2 software component.
4680 */
4681 void SetKind_SU2(SU2_COMPONENT val_kind_su2) { Kind_SU2 = val_kind_su2 ; }
4682
4683 /*!
4684 * \brief Get the number of Turbulence Variables.
4685 * \return Number of Turbulence Variables.
4686 */
4687 unsigned short GetnTurbVar(void) const { return nTurbVar; }
4688
4689 /*!
4690 * \brief Get the kind of the turbulence model.
4691 * \return Kind of the turbulence model.
4692 */
4693 TURB_MODEL GetKind_Turb_Model(void) const { return Kind_Turb_Model; }
4694
4695 /*!
4696 * \brief Get the kind of the transition model.
4697 * \return Kind of the transion model.
4698 */
4699 TURB_TRANS_MODEL GetKind_Trans_Model(void) const { return Kind_Trans_Model; }
4700
4701 /*!
4702 * \brief Get the kind of the transition correlations.
4703 * \return Kind of the transition correlation.
4704 */
4705 TURB_TRANS_CORRELATION GetKind_Trans_Correlation(void) const { return Kind_Trans_Correlation; }
4706
4707 /*!
4708 * \brief Get RMS roughness for Transtion model from config
4709 * \return Value of roughness.
4710 */
4711 su2double GethRoughness(void) const { return hRoughness; }
4712
4713 /*!
4714 * \brief Get the kind of the species model.
4715 * \return Kind of the species model.
4716 */
4717 SPECIES_MODEL GetKind_Species_Model(void) const { return Kind_Species_Model; }
4718
4719 /*!
4720 * \brief Get the kind of the subgrid scale model.
4721 * \return Kind of the subgrid scale model.
4722 */
4723 TURB_SGS_MODEL GetKind_SGS_Model(void) const { return Kind_SGS_Model; }
4724
4725 /*!
4726 * \brief Get the kind of time integration method.
4727 * \note This is the information that the code will use, the method will
4728 * change in runtime depending of the specific equation (direct, adjoint,
4729 * linearized) that is being solved.
4730 * \return Kind of time integration method.
4731 */
4732 unsigned short GetKind_TimeIntScheme(void) const { return Kind_TimeNumScheme; }
4733
4734 /*!
4735 * \brief Get the kind of convective numerical scheme.
4736 * \note This is the information that the code will use, the method will
4737 * change in runtime depending of the specific equation (direct, adjoint,
4738 * linearized) that is being solved.
4739 * \return Kind of the convective scheme.
4740 */
4741 unsigned short GetKind_ConvNumScheme(void) const { return Kind_ConvNumScheme; }
4742
4743 /*!
4744 * \brief Get kind of center scheme for the convective terms.
4745 * \note This is the information that the code will use, the method will
4746 * change in runtime depending of the specific equation (direct, adjoint,
4747 * linearized) that is being solved.
4748 * \return Kind of center scheme for the convective terms.
4749 */
4750 CENTERED GetKind_Centered(void) const { return Kind_Centered; }
4751
4752 /*!
4753 * \brief Get kind of upwind scheme for the convective terms.
4754 * \note This is the information that the code will use, the method will
4755 * change in runtime depending of the specific equation (direct, adjoint,
4756 * linearized) that is being solved.
4757 * \return Kind of upwind scheme for the convective terms.
4758 */
4759 UPWIND GetKind_Upwind(void) const { return Kind_Upwind; }
4760
4761 /*!
4762 * \brief Get if the upwind scheme used MUSCL or not.
4763 * \note This is the information that the code will use, the method will
4764 * change in runtime depending of the specific equation (direct, adjoint,
4765 * linearized) that is being solved.
4766 * \return MUSCL scheme.
4767 */
4768 bool GetMUSCL(void) const { return MUSCL; }
4769
4770 /*!
4771 * \brief Get if the upwind scheme used MUSCL or not.
4772 * \return MUSCL scheme.
4773 */
4774 bool GetMUSCL_Flow(void) const { return MUSCL_Flow; }
4775
4776 /*!
4777 * \brief Get if the upwind scheme used MUSCL or not.
4778 * \return MUSCL scheme.
4779 */
4780 bool GetMUSCL_AdjFlow(void) const { return MUSCL_AdjFlow; }
4781
4782 /*!
4783 * \brief Get the blending coefficient for the U-MUSCL scheme.
4784 * \note This is the information that the code will use, the method will
4785 * change in runtime depending of the specific equation (direct, adjoint,
4786 * linearized) that is being solved.
4787 * \return Blending coefficient for the U-MUSCL scheme.
4788 */
4789 su2double GetMUSCL_Kappa(void) const { return MUSCL_Kappa; }
4790
4791 /*!
4792 * \brief Get the blending coefficient for the MUSCL scheme.
4793 * \return Blending coefficient for the MUSCL scheme.
4794 */
4795 su2double GetMUSCL_Kappa_Flow(void) const { return MUSCL_Kappa_Flow; }
4796
4797 /*!
4798 * \brief Get whether to "Use Accurate Jacobians" for AUSM+up(2) and SLAU(2).
4799 * \return yes/no.
4800 */
4801 bool GetUse_Accurate_Jacobians(void) const { return Use_Accurate_Jacobians; }
4802
4803 /*!
4804 * \brief Get whether to "Use Accurate Jacobians" for Standard SA turbulence model.
4805 * \return yes/no.
4806 */
4807 bool GetUse_Accurate_Turb_Jacobians(void) const { return Use_Accurate_Turb_Jacobians; }
4808
4809 /*!
4810 * \brief Get the kind of integration scheme (explicit or implicit)
4811 * for the flow equations.
4812 * \note This value is obtained from the config file, and it is constant
4813 * during the computation.
4814 * \return Kind of integration scheme for the flow equations.
4815 */
4816 unsigned short GetKind_TimeIntScheme_Flow(void) const { return Kind_TimeIntScheme_Flow; }
4817
4818 /*!
4819 * \brief Get the kind of scheme (aliased or non-aliased) to be used in the
4820 * predictor step of ADER-DG.
4821 * \return Kind of scheme used in the predictor step of ADER-DG.
4822 */
4823 unsigned short GetKind_ADER_Predictor(void) const { return Kind_ADER_Predictor; }
4824
4825 /*!
4826 * \brief Get the kind of integration scheme (explicit or implicit)
4827 * for the flow equations.
4828 * \note This value is obtained from the config file, and it is constant
4829 * during the computation.
4830 * \return Kind of integration scheme for the plasma equations.
4831 */
4832 unsigned short GetKind_TimeIntScheme_Heat(void) const { return Kind_TimeIntScheme_Heat; }
4833
4834 /*!
4835 * \brief Get the kind of time stepping
4836 * for the heat equation.
4837 * \note This value is obtained from the config file, and it is constant
4838 * during the computation.
4839 * \return Kind of time stepping for the heat equation.
4840 */
4841 unsigned short GetKind_TimeStep_Heat(void) const { return Kind_TimeStep_Heat; }
4842
4843 /*!
4844 * \brief Get the kind of integration scheme (explicit or implicit)
4845 * for the flow equations.
4846 * \note This value is obtained from the config file, and it is constant
4847 * during the computation.
4848 * \return Kind of integration scheme for the plasma equations.
4849 */
4850 STRUCT_TIME_INT GetKind_TimeIntScheme_FEA(void) const { return Kind_TimeIntScheme_FEA; }
4851
4852 /*!
4853 * \brief Get the kind of integration scheme (explicit or implicit)
4854 * for the radiation equations.
4855 * \note This value is obtained from the config file, and it is constant
4856 * during the computation.
4857 * \return Kind of integration scheme for the radiation equations.
4858 */
4859 unsigned short GetKind_TimeIntScheme_Radiation(void) const { return Kind_TimeIntScheme_Radiation; }
4860
4861 /*!
4862 * \brief Get the kind of integration scheme (explicit or implicit)
4863 * for the template equations.
4864 * \note This value is obtained from the config file, and it is constant
4865 * during the computation.
4866 * \return Kind of integration scheme for the plasma equations.
4867 */
4869
4870 /*!
4871 * \brief Get the kind of integration scheme (explicit or implicit)
4872 * for the flow equations.
4873 * \note This value is obtained from the config file, and it is constant
4874 * during the computation.
4875 * \return Kind of integration scheme for the plasma equations.
4876 */
4877 STRUCT_SPACE_ITE GetKind_SpaceIteScheme_FEA(void) const { return Kind_SpaceIteScheme_FEA; }
4878
4879 /*!
4880 * \brief Get the kind of convective numerical scheme for the flow
4881 * equations (centered or upwind).
4882 * \note This value is obtained from the config file, and it is constant
4883 * during the computation.
4884 * \return Kind of convective numerical scheme for the flow equations.
4885 */
4886 unsigned short GetKind_ConvNumScheme_Flow(void) const { return Kind_ConvNumScheme_Flow; }
4887
4888 /*!
4889 * \brief Get the kind of convective numerical scheme for the flow
4890 * equations (finite element).
4891 * \note This value is obtained from the config file, and it is constant
4892 * during the computation.
4893 * \return Kind of convective numerical scheme for the flow equations.
4894 */
4895 unsigned short GetKind_ConvNumScheme_FEM_Flow(void) const { return Kind_ConvNumScheme_FEM_Flow; }
4896
4897 /*!
4898 * \brief Get the kind of convective numerical scheme for the template
4899 * equations (centered or upwind).
4900 * \note This value is obtained from the config file, and it is constant
4901 * during the computation.
4902 * \return Kind of convective numerical scheme for the flow equations.
4903 */
4904 unsigned short GetKind_ConvNumScheme_Template(void) const { return Kind_ConvNumScheme_Template; }
4905
4906 /*!
4907 * \brief Get the kind of center convective numerical scheme for the flow equations.
4908 * \note This value is obtained from the config file, and it is constant
4909 * during the computation.
4910 * \return Kind of center convective numerical scheme for the flow equations.
4911 */
4912 CENTERED GetKind_Centered_Flow(void) const { return Kind_Centered_Flow; }
4913
4914 /*!
4915 * \brief Get the kind of center convective numerical scheme for the plasma equations.
4916 * \note This value is obtained from the config file, and it is constant
4917 * during the computation.
4918 * \return Kind of center convective numerical scheme for the flow equations.
4919 */
4920 unsigned short GetKind_Centered_Template(void);
4921
4922 /*!
4923 * \brief Get the kind of upwind convective numerical scheme for the flow equations.
4924 * \note This value is obtained from the config file, and it is constant
4925 * during the computation.
4926 * \return Kind of upwind convective numerical scheme for the flow equations.
4927 */
4928 UPWIND GetKind_Upwind_Flow(void) const { return Kind_Upwind_Flow; }
4929
4930 /*!
4931 * \brief Get the kind of finite element convective numerical scheme for the flow equations.
4932 * \note This value is obtained from the config file, and it is constant
4933 * during the computation.
4934 * \return Kind of finite element convective numerical scheme for the flow equations.
4935 */
4936 unsigned short GetKind_FEM_Flow(void) const { return Kind_FEM_Flow; }
4937
4938 /*!
4939 * \brief Get the kind of shock capturing method in FEM DG solver.
4940 * \note This value is obtained from the config file, and it is constant
4941 * during the computation.
4942 * \return Kind of shock capturing method in FEM DG solver.
4943 */
4944 FEM_SHOCK_CAPTURING_DG GetKind_FEM_DG_Shock(void) const { return Kind_FEM_Shock_Capturing_DG; }
4945
4946 /*!
4947 * \brief Get the kind of matrix coloring used for the sparse Jacobian computation.
4948 * \note This value is obtained from the config file, and it is constant
4949 * during the computation.
4950 * \return Kind of matrix coloring used.
4951 */
4952 unsigned short GetKind_Matrix_Coloring(void) const { return Kind_Matrix_Coloring; }
4953
4954 /*!
4955 * \brief Get the method for limiting the spatial gradients.
4956 * \return Method for limiting the spatial gradients.
4957 */
4958 LIMITER GetKind_SlopeLimit(void) const { return Kind_SlopeLimit; }
4959
4960 /*!
4961 * \brief Get the method for limiting the spatial gradients.
4962 * \return Method for limiting the spatial gradients solving the flow equations.
4963 */
4964 LIMITER GetKind_SlopeLimit_Flow(void) const { return Kind_SlopeLimit_Flow; }
4965
4966 /*!
4967 * \brief Get the method for limiting the spatial gradients.
4968 * \return Method for limiting the spatial gradients solving the turbulent equation.
4969 */
4970 LIMITER GetKind_SlopeLimit_Turb(void) const { return Kind_SlopeLimit_Turb; }
4971
4972 /*!
4973 * \brief Get the method for limiting the spatial gradients.
4974 * \return Method for limiting the spatial gradients solving the species equation.
4975 */
4976 LIMITER GetKind_SlopeLimit_Species() const { return Kind_SlopeLimit_Species; }
4977
4978 /*!
4979 * \brief Get the method for limiting the spatial gradients.
4980 * \return Method for limiting the spatial gradients solving the adjoint turbulent equation.
4981 */
4982 LIMITER GetKind_SlopeLimit_AdjTurb(void) const { return Kind_SlopeLimit_AdjTurb; }
4983
4984 /*!
4985 * \brief Get the method for limiting the spatial gradients.
4986 * \return Method for limiting the spatial gradients solving the adjoint flow equation.
4987 */
4988 LIMITER GetKind_SlopeLimit_AdjFlow(void) const { return Kind_SlopeLimit_AdjFlow; }
4989
4990 /*!
4991 * \brief Value of the calibrated constant for the Lax method (center scheme).
4992 * \note This constant is used in coarse levels and with first order methods.
4993 * \return Calibrated constant for the Lax method.
4994 */
4995 su2double GetKappa_1st_Flow(void) const { return Kappa_1st_Flow; }
4996
4997 /*!
4998 * \brief Value of the calibrated constant for the JST method (center scheme).
4999 * \return Calibrated constant for the JST method for the flow equations.
5000 */
5001 su2double GetKappa_2nd_Flow(void) const { return Kappa_2nd_Flow; }
5002
5003 /*!
5004 * \brief Value of the calibrated constant for the JST method (center scheme).
5005 * \return Calibrated constant for the JST method for the flow equations.
5006 */
5007 su2double GetKappa_4th_Flow(void) const { return Kappa_4th_Flow; }
5008
5009 /*!
5010 * \brief Factor by which to multiply the dissipation contribution to Jacobians of central schemes.
5011 * \return The factor.
5012 */
5013 su2double GetCent_Jac_Fix_Factor(void) const { return Cent_Jac_Fix_Factor; }
5014
5015 /*!
5016 * \brief Factor by which to multiply the dissipation contribution to Jacobians of incompressible central schemes.
5017 * \return The factor.
5018 */
5019 su2double GetCent_Inc_Jac_Fix_Factor(void) const { return Cent_Inc_Jac_Fix_Factor; }
5020
5021 /*!
5022 * \brief Get the kind of integration scheme (explicit or implicit)
5023 * for the adjoint flow equations.
5024 * \note This value is obtained from the config file, and it is constant
5025 * during the computation.
5026 * \return Kind of integration scheme for the adjoint flow equations.
5027 */
5028 unsigned short GetKind_TimeIntScheme_AdjFlow(void) const { return Kind_TimeIntScheme_AdjFlow; }
5029
5030 /*!
5031 * \brief Get the kind of convective numerical scheme for the adjoint flow
5032 * equations (centered or upwind).
5033 * \note This value is obtained from the config file, and it is constant
5034 * during the computation.
5035 * \return Kind of convective numerical scheme for the adjoint flow equations.
5036 */
5037 unsigned short GetKind_ConvNumScheme_AdjFlow(void) const { return Kind_ConvNumScheme_AdjFlow; }
5038
5039 /*!
5040 * \brief Get the kind of center convective numerical scheme for the adjoint flow equations.
5041 * \note This value is obtained from the config file, and it is constant
5042 * during the computation.
5043 * \return Kind of center convective numerical scheme for the adjoint flow equations.
5044 */
5045 CENTERED GetKind_Centered_AdjFlow(void) const { return Kind_Centered_AdjFlow; }
5046
5047 /*!
5048 * \brief Get the kind of upwind convective numerical scheme for the adjoint flow equations.
5049 * \note This value is obtained from the config file, and it is constant
5050 * during the computation.
5051 * \return Kind of upwind convective numerical scheme for the adjoint flow equations.
5052 */
5053 UPWIND GetKind_Upwind_AdjFlow(void) const { return Kind_Upwind_AdjFlow; }
5054
5055 /*!
5056 * \brief Value of the calibrated constant for the high order method (center scheme).
5057 * \return Calibrated constant for the high order center method for the adjoint flow equations.
5058 */
5059 su2double GetKappa_2nd_AdjFlow(void) const { return Kappa_2nd_AdjFlow; }
5060
5061 /*!
5062 * \brief Value of the calibrated constant for the high order method (center scheme).
5063 * \return Calibrated constant for the high order center method for the adjoint flow equations.
5064 */
5065 su2double GetKappa_4th_AdjFlow(void) const { return Kappa_4th_AdjFlow; }
5066
5067 /*!
5068 * \brief Value of the calibrated constant for the low order method (center scheme).
5069 * \return Calibrated constant for the low order center method for the adjoint flow equations.
5070 */
5071 su2double GetKappa_1st_AdjFlow(void) const { return Kappa_1st_AdjFlow; }
5072
5073 /*!
5074 * \brief Get the kind of integration scheme (implicit)
5075 * for the turbulence equations.
5076 * \note This value is obtained from the config file, and it is constant
5077 * during the computation.
5078 * \return Kind of integration scheme for the turbulence equations.
5079 */
5080 unsigned short GetKind_TimeIntScheme_Turb(void) const { return Kind_TimeIntScheme_Turb; }
5081
5082 /*!
5083 * \brief Get the kind of convective numerical scheme for the turbulence
5084 * equations (upwind).
5085 * \note This value is obtained from the config file, and it is constant
5086 * during the computation.
5087 * \return Kind of convective numerical scheme for the turbulence equations.
5088 */
5089 unsigned short GetKind_ConvNumScheme_Turb(void) const { return Kind_ConvNumScheme_Turb; }
5090
5091 /*!
5092 * \brief Get the kind of center convective numerical scheme for the turbulence equations.
5093 * \note This value is obtained from the config file, and it is constant
5094 * during the computation.
5095 * \return Kind of center convective numerical scheme for the turbulence equations.
5096 */
5097 CENTERED GetKind_Centered_Turb(void) const { return Kind_Centered_Turb; }
5098
5099 /*!
5100 * \brief Get the kind of upwind convective numerical scheme for the turbulence equations.
5101 * \note This value is obtained from the config file, and it is constant
5102 * during the computation.
5103 * \return Kind of upwind convective numerical scheme for the turbulence equations.
5104 */
5105 UPWIND GetKind_Upwind_Turb(void) const { return Kind_Upwind_Turb; }
5106
5107 /*!
5108 * \brief Get the kind of integration scheme (explicit or implicit)
5109 * for the adjoint turbulence equations.
5110 * \note This value is obtained from the config file, and it is constant
5111 * during the computation.
5112 * \return Kind of integration scheme for the adjoint turbulence equations.
5113 */
5114 unsigned short GetKind_TimeIntScheme_AdjTurb(void) const { return Kind_TimeIntScheme_AdjTurb; }
5115
5116 /*!
5117 * \brief Get the kind of convective numerical scheme for the adjoint turbulence
5118 * equations (centered or upwind).
5119 * \note This value is obtained from the config file, and it is constant
5120 * during the computation.
5121 * \return Kind of convective numerical scheme for the adjoint turbulence equations.
5122 */
5123 unsigned short GetKind_ConvNumScheme_AdjTurb(void) const { return Kind_ConvNumScheme_AdjTurb; }
5124
5125 /*!
5126 * \brief Get the kind of integration scheme (implicit)
5127 * for the Species equations.
5128 * \note This value is obtained from the config file, and it is constant
5129 * during the computation.
5130 * \return Kind of integration scheme for the Species equations.
5131 */
5132 unsigned short GetKind_TimeIntScheme_Species() const { return Kind_TimeIntScheme_Species; }
5133
5134 /*!
5135 * \brief Get the kind of convective numerical scheme for the Species
5136 * equations (upwind).
5137 * \note This value is obtained from the config file, and it is constant
5138 * during the computation.
5139 * \return Kind of convective numerical scheme for the Species equations.
5140 */
5141 unsigned short GetKind_ConvNumScheme_Species() const { return Kind_ConvNumScheme_Species; }
5142
5143 /*!
5144 * \brief Get the kind of center convective numerical scheme for the Species equations.
5145 * \note This value is obtained from the config file, and it is constant
5146 * during the computation.
5147 * \return Kind of center convective numerical scheme for the Species equations.
5148 */
5149 CENTERED GetKind_Centered_Species() const { return Kind_Centered_Species; }
5150
5151 /*!
5152 * \brief Get the kind of upwind convective numerical scheme for the Species equations.
5153 * \note This value is obtained from the config file, and it is constant
5154 * during the computation.
5155 * \return Kind of upwind convective numerical scheme for the Species equations.
5156 */
5157 UPWIND GetKind_Upwind_Species() const { return Kind_Upwind_Species; }
5158
5159 /*!
5160 * \brief Returns true if bounded scalar mode is on for species transport.
5161 */
5162 bool GetBounded_Species() const { return (Kind_Upwind_Species == UPWIND::BOUNDED_SCALAR); }
5163
5164 /*!
5165 * \brief Returns true if bounded scalar mode is on for turbulence transport.
5166 */
5167 bool GetBounded_Turb() const { return (Kind_Upwind_Turb == UPWIND::BOUNDED_SCALAR); }
5168
5169 /*!
5170 * \brief Returns true if bounded scalar mode is used for any equation.
5171 */
5173
5174 /*!
5175 * \brief Get the kind of convective numerical scheme for the heat equation.
5176 * \note This value is obtained from the config file, and it is constant
5177 * during the computation.
5178 * \return Kind of convective numerical scheme for the heat equation.
5179 */
5180 unsigned short GetKind_ConvNumScheme_Heat(void) const { return Kind_ConvNumScheme_Heat; }
5181
5182 /*!
5183 * \brief Get the kind of center convective numerical scheme for the adjoint turbulence equations.
5184 * \note This value is obtained from the config file, and it is constant
5185 * during the computation.
5186 * \return Kind of center convective numerical scheme for the adjoint turbulence equations.
5187 */
5188 CENTERED GetKind_Centered_AdjTurb(void) const { return Kind_Centered_AdjTurb; }
5189
5190 /*!
5191 * \brief Get the kind of upwind convective numerical scheme for the adjoint turbulence equations.
5192 * \note This value is obtained from the config file, and it is constant
5193 * during the computation.
5194 * \return Kind of upwind convective numerical scheme for the adjoint turbulence equations.
5195 */
5196 UPWIND GetKind_Upwind_AdjTurb(void) const { return Kind_Upwind_AdjTurb; }
5197
5198 /*!
5199 * \brief Provides information about the way in which the turbulence will be treated by the
5200 * cont. adjoint method.
5201 * \return <code>FALSE</code> means that the adjoint turbulence equations will be used.
5202 */
5203 bool GetFrozen_Visc_Cont(void) const { return Frozen_Visc_Cont; }
5204
5205 /*!
5206 * \brief Provides information about the way in which the turbulence will be treated by the
5207 * disc. adjoint method.
5208 * \return <code>FALSE</code> means that the adjoint turbulence equations will be used.
5209 */
5210 bool GetFrozen_Visc_Disc(void) const { return Frozen_Visc_Disc; }
5211
5212 /*!
5213 * \brief Provides information about using an inconsistent (primal/dual) discrete adjoint formulation
5214 * \return <code>FALSE</code> means that the adjoint use the same numerical methods than the primal problem.
5215 */
5216 bool GetInconsistent_Disc(void) const { return Inconsistent_Disc; }
5217
5218 /*!
5219 * \brief Provides information about the way in which the limiter will be treated by the
5220 * disc. adjoint method.
5221 * \return <code>FALSE</code> means that the limiter computation is included.
5222 */
5223 bool GetFrozen_Limiter_Disc(void) const { return Frozen_Limiter_Disc; }
5224
5225 /*!
5226 * \brief Provides information about if the sharp edges are going to be removed from the sensitivity.
5227 * \return <code>FALSE</code> means that the sharp edges will be removed from the sensitivity.
5228 */
5229 bool GetSens_Remove_Sharp(void) const { return Sens_Remove_Sharp; }
5230
5231 /*!
5232 * \brief Get the kind of inlet boundary condition treatment (total conditions or mass flow).
5233 * \return Kind of inlet boundary condition.
5234 */
5235 INLET_TYPE GetKind_Inlet(void) const { return Kind_Inlet; }
5236
5237 /*!
5238 * \brief Check if the inlet profile(s) are specified in an input file
5239 * \return True if an input file is to be used for the inlet profile(s)
5240 */
5241 bool GetInlet_Profile_From_File(void) const { return Inlet_From_File; }
5242
5243 /*!
5244 * \brief Get name of the input file for the specified actuator disk.
5245 * \return Name of the input file for the specified actuator disk.
5246 */
5247 string GetActDisk_FileName(void) const { return ActDisk_FileName; }
5248
5249 /*!
5250 * \brief Get the tolerance used for matching two points on a specified inlet
5251 * \return Tolerance used for matching a point to a specified inlet
5252 */
5253 su2double GetInlet_Profile_Matching_Tolerance(void) const { return Inlet_Matching_Tol; }
5254
5255 /*!
5256 * \brief Get the type of incompressible inlet from the list.
5257 * \return Kind of the incompressible inlet.
5258 */
5259 INLET_TYPE GetKind_Inc_Inlet(const string& val_marker) const;
5260
5261 /*!
5262 * \brief Get the total number of types in Kind_Inc_Inlet list
5263 * \return Total number of types in Kind_Inc_Inlet list
5264 */
5265 unsigned short GetnInc_Inlet(void) const { return nInc_Inlet;}
5266
5267 /*!
5268 * \brief Flag for whether the local boundary normal is used as the flow direction for an incompressible pressure inlet.
5269 * \return <code>FALSE</code> means the prescribed flow direction is used.
5270 */
5271 bool GetInletUseNormal(void) const { return InletUseNormal; }
5272
5273 /*!
5274 * \brief Get the type of incompressible outlet from the list.
5275 * \return Kind of the incompressible outlet.
5276 */
5277 INC_OUTLET_TYPE GetKind_Inc_Outlet(const string& val_marker) const;
5278
5279 /*!
5280 * \brief Get the damping factor applied to velocity updates at incompressible pressure inlets.
5281 * \return Damping factor applied to velocity updates at incompressible pressure inlets.
5282 */
5283 su2double GetInc_Inlet_Damping(void) const { return Inc_Inlet_Damping; }
5284
5285 /*!
5286 * \brief Get the damping factor applied to pressure updates at incompressible mass flow outlet.
5287 * \return Damping factor applied to pressure updates at incompressible mass flow outlet.
5288 */
5289 su2double GetInc_Outlet_Damping(void) const { return Inc_Outlet_Damping; }
5290
5291 /*!
5292 * \brief Get the kind of mixing process for averaging quantities at the boundaries.
5293 * \return Kind of mixing process.
5294 */
5295 unsigned short GetKind_AverageProcess(void) const { return Kind_AverageProcess; }
5296
5297 /*!
5298 * \brief Get the kind of mixing process for averaging quantities at the boundaries.
5299 * \return Kind of mixing process.
5300 */
5301 unsigned short GetKind_PerformanceAverageProcess(void) const { return Kind_PerformanceAverageProcess; }
5302
5303 /*!
5304 * \brief Set the kind of mixing process for averaging quantities at the boundaries.
5305 * \return Kind of mixing process.
5306 */
5307 void SetKind_AverageProcess(unsigned short new_AverageProcess) { Kind_AverageProcess = new_AverageProcess; }
5308
5309 /*!
5310 * \brief Set the kind of mixing process for averaging quantities at the boundaries.
5311 * \return Kind of mixing process.
5312 */
5313 void SetKind_PerformanceAverageProcess(unsigned short new_AverageProcess) { Kind_PerformanceAverageProcess = new_AverageProcess; }
5314
5315 /*!
5316 * \brief Get Motion Frame Ramp option.
5317 * \return Ramp Motion Frame option.
5318 */
5319 bool GetRampMotionFrame(void) const { return RampMotionFrame; }
5320
5321 /*!
5322 * \brief Get outflow ramp option.
5323 * \return Ramp outflow option.
5324 */
5325 bool GetRampOutflow(void) const { return RampOutlet; }
5326
5327 /*!
5328 * \brief Get MUSCL ramp option.
5329 * \return Ramp MUSCL option
5330 */
5331 bool GetMUSCLRamp(void) const { return RampMUSCL; }
5332
5333 /*!
5334 * \brief General interface for accessing ramp coefficient information
5335 * \return coeff for ramps
5336 */
5337 su2double GetRampCoeff(RAMP_TYPE ramp_flag, RAMP_COEFF val_coeff) const {
5338 if (ramp_flag == RAMP_TYPE::GRID) return rampMotionFrameCoeff[val_coeff];
5339 else if (ramp_flag == RAMP_TYPE::BOUNDARY) return rampOutletCoeff[val_coeff];
5340 else return 0;
5341 };
5342
5343 /*!
5344 * \brief Set MUSCL ramp value.
5345 */
5346 void SetMUSCLRampValue(su2double ramp_value) { rampMUSCLValue = ramp_value; }
5347
5348 /*!
5349 * \brief Get MUSCL ramp value.
5350 * \return Ramp MUSCL value
5351 */
5352 su2double GetMUSCLRampValue(void) const { return rampMUSCLValue; }
5353
5354 /*!
5355 * \brief Get MUSCL ramp paramaters.
5356 * \return Ramp MUSCL kind
5357 */
5358 const CMUSCLRampParam& GetMUSCLRampParam(void) const { return RampMUSCLParam; }
5359
5360 /*!
5361 * \brief Generic interface for setting monitor outlet values for the ramp.
5362 */
5363 void SetMonitorValue(su2double newMon_val) {
5364 if (RampOutletPressure) MonitorOutletPressure = newMon_val;
5365 else if (RampOutletMassFlow) MonitorOutletMassFlow = newMon_val;
5366 }
5367
5368 /*!
5369 * \brief Get mixedout coefficients.
5370 * \return mixedout coefficient.
5371 */
5372 su2double GetMixedout_Coeff(unsigned short iCoeff) const { return mixedout_coeff[iCoeff];}
5373
5374 /*!
5375 * \brief Get extra relaxation factor coefficients for the Giels BC.
5376 * \return mixedout coefficient.
5377 */
5378 su2double GetExtraRelFacGiles(unsigned short iCoeff) const { return extrarelfac[iCoeff];}
5379
5380 /*!
5381 * \brief Get mach limit for average massflow-based procedure .
5382 * \return mach limit.
5383 */
5384 su2double GetAverageMachLimit(void) const { return AverageMachLimit;}
5385
5386 /*!
5387 * \brief Get the kind of mixing process for averaging quantities at the boundaries.
5388 * \return Kind of mixing process.
5389 */
5390 unsigned short GetKind_MixingPlaneInterface(void) const { return Kind_MixingPlaneInterface;}
5391
5392 /*!
5393 * \brief Get the kind of turbomachinery architecture.
5394 * \return Kind of turbomachinery architecture.
5395 */
5396 TURBOMACHINERY_TYPE GetKind_TurboMachinery(unsigned short val_iZone) const { return Kind_TurboMachinery[val_iZone]; }
5397
5398 /*!
5399 * \brief Get the kind of turbomachinery architecture.
5400 * \return Kind of turbomachinery architecture.
5401 */
5402 unsigned short GetKind_SpanWise(void) const { return Kind_SpanWise; }
5403
5404 /*!
5405 * \brief Verify if there is mixing plane interface specified from config file.
5406 * \return boolean.
5407 */
5408 bool GetBoolMixingPlaneInterface(void) const { return (nMarker_MixingPlaneInterface !=0);}
5409
5410 /*!
5411 * \brief Verify if there is mixing plane interface specified from config file.
5412 * \return boolean.
5413 */
5414 bool GetBoolTurbMixingPlane(void) const { return turbMixingPlane;}
5415
5416 /*!
5417 * \brief Verify if there is mixing plane interface specified from config file.
5418 * \return boolean.
5419 */
5420 bool GetSpatialFourier(void) const { return SpatialFourier;}
5421
5422 /*!
5423 * \brief number mixing plane interface specified from config file.
5424 * \return number of bound.
5425 */
5426 unsigned short GetnMarker_MixingPlaneInterface(void) const { return nMarker_MixingPlaneInterface;}
5427
5428 /*!
5429 * \brief Verify if there is Turbomachinery performance option specified from config file.
5430 * \return boolean.
5431 */
5432 bool GetBoolTurbomachinery(void) const { return (nMarker_Turbomachinery !=0);}
5433
5434 /*!
5435 * \brief Verify if a sliding plane for relative frame is specified from config file.
5436 * \return boolean.
5437 */
5438 bool GetBoolRelFrame_SlidingPlane(void) const { return (RelFrame_SlidingPlane !=0);}
5439
5440 /*!
5441 * \brief number Turbomachinery blades computed using the pitch information.
5442 * \return nBlades.
5443 */
5444 su2double GetnBlades(unsigned short val_iZone) const { return nBlades[val_iZone];}
5445
5446 /*!
5447 * \brief number Turbomachinery blades computed using the pitch information.
5448 * \return nBlades.
5449 */
5450 void SetnBlades(unsigned short val_iZone, su2double nblades) { nBlades[val_iZone] = nblades;}
5451
5452 /*!
5453 * \brief Verify if there is any Giles Boundary Condition option specified from config file.
5454 * \return boolean.
5455 */
5456 bool GetBoolGiles(void) const { return (nMarker_Giles!=0);}
5457
5458 /*!
5459 * \brief Verify if there is any Riemann Boundary Condition option specified from config file.
5460 * \return boolean.
5461 */
5462 bool GetBoolRiemann(void) const { return (nMarker_Riemann!=0);}
5463
5464 /*!
5465 * \brief number Turbomachinery performance option specified from config file.
5466 * \return number of bound.
5467 */
5468 unsigned short GetnMarker_Turbomachinery(void) const { return nMarker_Turbomachinery;}
5469
5470 /*!
5471 * \brief Get number of shroud markers.
5472 * \return number of marker shroud.
5473 */
5474 unsigned short GetnMarker_Shroud(void) const { return nMarker_Shroud;}
5475
5476 /*!
5477 * \brief Get the marker shroud.
5478 * \return marker shroud.
5479 */
5480 string GetMarker_Shroud(unsigned short val_marker) const { return Marker_Shroud[val_marker];}
5481
5482 /*!
5483 * \brief number Turbomachinery performance option specified from config file.
5484 * \return number of bound.
5485 */
5486 unsigned short GetnMarker_TurboPerformance(void) const { return nMarker_TurboPerformance;}
5487
5488 /*!
5489 * \brief number span-wise sections to compute 3D BC and performance for turbomachinery specified by the user.
5490 * \return number of span-wise sections.
5491 */
5492 unsigned short Get_nSpanWiseSections_User(void) const { return nSpanWiseSections_User;}
5493
5494 /*!
5495 * \brief number span-wise sections to compute 3D BC and performance for turbomachinery.
5496 * \return number of span-wise sections.
5497 */
5498 unsigned short GetnSpanWiseSections(void) const { return nSpanWiseSections;}
5499
5500 /*!
5501 * \brief set number of maximum span-wise sections among all zones .
5502 */
5503 void SetnSpanMaxAllZones(unsigned short val_nSpna_max) { nSpanMaxAllZones = val_nSpna_max;}
5504
5505 /*!
5506 * \brief number span-wise sections to compute performance for turbomachinery.
5507 * \return number of max span-wise sections.
5508 */
5509 unsigned short GetnSpanMaxAllZones(void) const { return nSpanMaxAllZones;}
5510
5511 /*!
5512 * \brief set number span-wise sections to compute 3D BC and performance for turbomachinery.
5513 */
5514 void SetnSpanWiseSections(unsigned short nSpan) { nSpanWiseSections = nSpan;}
5515
5516 /*!
5517 * \brief get number span-wise sections to compute 3D BC and performance for turbomachinery.
5518 */
5519 unsigned short GetnSpan_iZones(unsigned short iZone) const { return nSpan_iZones[iZone];}
5520
5521 /*!
5522 * \brief set number span-wise sections to compute 3D BC and performance for turbomachinery.
5523 */
5524 void SetnSpan_iZones(unsigned short nSpan, unsigned short iZone) { nSpan_iZones[iZone] = nSpan;}
5525
5526 /*!
5527 * \brief get inlet bounds name for Turbomachinery performance calculation.
5528 * \return name of the bound.
5529 */
5530 string GetMarker_TurboPerf_BoundIn(unsigned short index) const { return Marker_TurboBoundIn[index];}
5531
5532 /*!
5533 * \brief get outlet bounds name for Turbomachinery performance calculation.
5534 * \return name of the bound.
5535 */
5536 string GetMarker_TurboPerf_BoundOut(unsigned short index) const { return Marker_TurboBoundOut[index];}
5537
5538 /*!
5539 * \brief get marker kind for Turbomachinery performance calculation.
5540 * \return kind index.
5541 */
5542 TURBO_PERF_KIND GetKind_TurboPerf(unsigned short val_iZone) const { return Kind_TurboPerf[val_iZone]; };
5543
5544 /*!
5545 * \brief gets interface kind for an interface marker in turbomachinery problem
5546 * \return interface kind
5547 */
5548 TURBO_INTERFACE_KIND GetKind_TurboInterface(unsigned short interfaceIndex) const { return Kind_TurboInterface[interfaceIndex]; }
5549
5550 /*!
5551 * \brief get outlet bounds name for Turbomachinery performance calculation.
5552 * \return name of the bound.
5553 */
5554 string GetMarker_PerBound(unsigned short val_marker) const { return Marker_PerBound[val_marker];}
5555
5556 /*!
5557 * \brief Get the kind of inlet boundary condition treatment (total conditions or mass flow).
5558 * \return Kind of inlet boundary condition.
5559 */
5560 unsigned short GetKind_Engine_Inflow(void) const { return Kind_Engine_Inflow; }
5561
5562 /*!
5563 * \brief Get the kind of inlet boundary condition treatment (total conditions or mass flow).
5564 * \return Kind of inlet boundary condition.
5565 */
5566 unsigned short GetKind_ActDisk(void) const { return Kind_ActDisk; }
5567
5568 /*!
5569 * \brief Set the kind of wall - rough or smooth.
5570 */
5571 void SetKindWall(string val_marker, unsigned short val_kindwall);
5572
5573 /*!
5574 * \brief Get the number of sections.
5575 * \return Number of sections
5576 */
5577 unsigned short GetnLocationStations(void) const { return nLocationStations; }
5578
5579 /*!
5580 * \brief Get the number of sections for computing internal volume.
5581 * \return Number of sections for computing internal volume.
5582 */
5583 unsigned short GetnWingStations(void) const { return nWingStations; }
5584
5585 /*!
5586 * \brief Get the location of the waterline.
5587 * \return Z location of the waterline.
5588 */
5589 su2double GetGeo_Waterline_Location(void) const { return Geo_Waterline_Location; }
5590
5591 /*!
5592 * \brief Provides information about the the nodes that are going to be moved on a deformation
5593 * volumetric grid deformation.
5594 * \return <code>TRUE</code> means that only the points on the FFD box will be moved.
5595 */
5596 bool GetHold_GridFixed(void) const { return Hold_GridFixed; }
5597
5598 /*!
5599 * \author H. Kline
5600 * \brief Get the kind of objective function. There are several options: Drag coefficient,
5601 * Lift coefficient, efficiency, etc.
5602 * \note The objective function will determine the boundary condition of the adjoint problem.
5603 * \param[in] val_obj
5604 * \return Kind of objective function.
5605 */
5606 unsigned short GetKind_ObjFunc(unsigned short val_obj = 0) const { return Kind_ObjFunc[val_obj]; }
5607
5608 /*!
5609 * \author H. Kline
5610 * \brief Get the weight of objective function. There are several options: Drag coefficient,
5611 * Lift coefficient, efficiency, etc.
5612 * \note The objective function will determine the boundary condition of the adjoint problem.
5613 * \return Weight of objective function.
5614 */
5615 su2double GetWeight_ObjFunc(unsigned short val_obj) const { return Weight_ObjFunc[val_obj]; }
5616
5617 /*!
5618 * \author H. Kline
5619 * \brief Set the weight of objective function. There are several options: Drag coefficient,
5620 * Lift coefficient, efficiency, etc.
5621 * \note The objective function will determine the boundary condition of the adjoint problem.
5622 * \return Weight of objective function.
5623 */
5624 void SetWeight_ObjFunc(unsigned short val_obj, su2double val) { Weight_ObjFunc[val_obj] = val; }
5625
5626 /*!
5627 * \brief Get the user expression for the custom objective function.
5628 */
5629 const string& GetCustomObjFunc() const { return CustomObjFunc; }
5630
5631 /*!
5632 * \brief Get the user expressions for custom outputs.
5633 */
5634 const string& GetCustomOutputs() const { return CustomOutputs; }
5635
5636 /*!
5637 * \brief Get the kind of sensitivity smoothing technique.
5638 * \return Kind of sensitivity smoothing technique.
5639 */
5640 unsigned short GetKind_SensSmooth(void) const { return Kind_SensSmooth; }
5641
5642 /*!
5643 * \brief Provides information about the time integration, and change the write in the output
5644 * files information about the iteration.
5645 * \return The kind of time integration: Steady state, time stepping method (unsteady) or
5646 * dual time stepping method (unsteady).
5647 */
5648 TIME_MARCHING GetTime_Marching() const { return TimeMarching; }
5649
5650 /*!
5651 * \brief Provides the number of species present in the gas mixture.
5652 * \return The number of species present in the gas mixture.
5653 */
5654 unsigned short GetnSpecies() const { return nSpecies; }
5655
5656 /*!
5657 * \brief Provides the gas mass fractions of the flow.
5658 * \return Gas Mass fractions.
5659 */
5660 const su2double *GetGas_Composition(void) const { return Gas_Composition; }
5661
5662 /*!
5663 * \brief Provides the gas mass fractions at the wall for supercat wall.
5664 * \return Supercat wall gas mass fractions.
5665 */
5666 const su2double *GetSupercatalytic_Wall_Composition(void) const { return Supercatalytic_Wall_Composition; }
5667
5668 /*!
5669 * \brief Provides the restart information.
5670 * \return Restart information, if <code>TRUE</code> then the code will use the solution as restart.
5671 */
5672 bool GetRestart(void) const { return Restart; }
5673
5674 /*!
5675 * \brief Flag for whether binary SU2 native restart files are read.
5676 * \return Flag for whether binary SU2 native restart files are read, if <code>TRUE</code> then the code will load binary restart files.
5677 */
5678 bool GetRead_Binary_Restart(void) const { return Read_Binary_Restart; }
5679
5680 /*!
5681 * \brief Flag for whether restart files contain only necessary variables.
5682 * \return Flag <code>TRUE</code> then the code will write compact restart files.
5683 */
5684 bool GetWrt_Restart_Compact(void) const { return Wrt_Restart_Compact; }
5685
5686 /*!
5687 * \brief Flag for whether the fields of the volume and surface files (CGNS and Paraview XML) are written in
5688 * double precision.
5689 * \return <code>TRUE</code> means that double precision is used.
5690 */
5692 return Volume_Output_Precision == VOLUME_OUTPUT_PRECISION::DOUBLE;
5693 }
5694
5695 /*!
5696 * \brief Flag for whether restart solution files are overwritten.
5697 * \return Flag for overwriting. If Flag=false, iteration nr is appended to filename
5698 */
5699 bool GetWrt_Restart_Overwrite(void) const { return Wrt_Restart_Overwrite; }
5700
5701 /*!
5702 * \brief Flag for whether visualization files are overwritten.
5703 * \return Flag for overwriting. If Flag=false, iteration nr is appended to filename
5704 */
5705 bool GetWrt_Surface_Overwrite(void) const { return Wrt_Surface_Overwrite; }
5706
5707 /*!
5708 * \brief Flag for whether visualization files are overwritten.
5709 * \return Flag for overwriting. If Flag=false, iteration nr is appended to filename
5710 */
5711 bool GetWrt_Volume_Overwrite(void) const { return Wrt_Volume_Overwrite; }
5712
5713 /*!
5714 * \brief Get whether filenames are appended the zone number automatically (multiphysics solver).
5715 * \return Flag for appending zone numbers to restart and solution filenames. If Flag=true, zone numer is appended.
5716 */
5717 bool GetMultizone_AdaptFilename(void) const { return Multizone_Adapt_FileName; }
5718
5719 /*!
5720 * \brief Provides the number of variables.
5721 * \return Number of variables.
5722 */
5723 unsigned short GetnVar(void);
5724
5725 /*!
5726 * \brief Provides the total number of zones.
5727 * \return Total number of zones.
5728 */
5729 unsigned short GetnZone(void) const { return nZone; }
5730
5731 /*!
5732 * \brief Provides the zone index the configuration belongs to.
5733 * \return Zone index.
5734 */
5735 unsigned short GetiZone(void) const { return iZone; }
5736
5737 /*!
5738 * \brief For some problems like adjoint or the linearized equations it
5739 * is necessary to restart the flow solution.
5740 * \return Flow restart information, if <code>TRUE</code> then the code will restart the flow solution.
5741 */
5742
5743 bool GetRestart_Flow(void) const { return Restart_Flow; }
5744
5745 /*!
5746 * \brief Indicates whether the flow is frozen (chemistry deactivated).
5747 */
5748 bool GetFrozen(void) const { return frozen; }
5749
5750 /*!
5751 * \brief Indicates whether electron gas is present in the gas mixture.
5752 */
5753 bool GetIonization(void) const { return ionization; }
5754
5755 /*!
5756 * \brief Indicates whether the VT source residual is limited.
5757 */
5758 bool GetVTTransferResidualLimiting(void) const { return vt_transfer_res_limit; }
5759
5760 /*!
5761 * \brief Indicates if mixture is monoatomic.
5762 */
5763 bool GetMonoatomic(void) const { return monoatomic; }
5764
5765 /*!
5766 * \brief Indicates whether supercatalytic wall is used.
5767 */
5768 bool GetSupercatalytic_Wall(void) const { return Supercatalytic_Wall; }
5769
5770 /*!
5771 * \brief Information about computing and plotting the equivalent area distribution.
5772 * \return <code>TRUE</code> or <code>FALSE</code> depending if we are computing the equivalent area.
5773 */
5774 bool GetEquivArea(void) const { return EquivArea; }
5775
5776 /*!
5777 * \brief Information about computing and plotting the equivalent area distribution.
5778 * \return <code>TRUE</code> or <code>FALSE</code> depending if we are computing the equivalent area.
5779 */
5780 bool GetInvDesign_Cp(void) const { return InvDesign_Cp; }
5781
5782 /*!
5783 * \brief Information about computing and plotting the equivalent area distribution.
5784 * \return <code>TRUE</code> or <code>FALSE</code> depending if we are computing the equivalent area.
5785 */
5786 bool GetInvDesign_HeatFlux(void) const { return InvDesign_HeatFlux; }
5787
5788 /*!
5789 * \brief Get name of the input grid.
5790 * \return File name of the input grid.
5791 */
5792 string GetMesh_FileName(void) const {
5793
5794 /*--- we keep the original Mesh_FileName ---*/
5795 string meshFilename = Mesh_FileName;
5796
5797 /*--- strip the extension, only if it is .su2, .su2b or .cgns ---*/
5798 PrintingToolbox::TrimExtension(".su2",meshFilename);
5799 PrintingToolbox::TrimExtension(".su2b",meshFilename);
5800 PrintingToolbox::TrimExtension(".cgns",meshFilename);
5801
5802 switch (GetMesh_FileFormat()) {
5803 case ENUM_GRID::SU2:
5805 case ENUM_GRID::BOX:
5806 meshFilename += ".su2";
5807 break;
5808 case ENUM_GRID::SU2_BIN:
5809 meshFilename += ".su2b";
5810 break;
5812 meshFilename += ".cgns";
5813 break;
5814 default:
5815 SU2_MPI::Error("Unrecognized mesh format specified!", CURRENT_FUNCTION);
5816 break;
5817 }
5818
5819 return meshFilename;
5820 }
5821
5822 /*!
5823 * \brief Get name of the output grid, this parameter is important for grid
5824 * adaptation and deformation.
5825 * \note The returned name does not include the extension, it is the
5826 * responsibility of the caller (usually a CFileWriter) to append it,
5827 * consistent with GetMesh_Out_FileExtension().
5828 * \return File name of the output grid.
5829 */
5830 string GetMesh_Out_FileName(void) const {
5831
5832 /*--- we keep the original Mesh_Out_FileName ---*/
5833 string meshFilename = Mesh_Out_FileName;
5834
5835 /*--- strip the extension, only if it is .su2, .su2b or .cgns ---*/
5836 PrintingToolbox::TrimExtension(".su2",meshFilename);
5837 PrintingToolbox::TrimExtension(".su2b",meshFilename);
5838 PrintingToolbox::TrimExtension(".cgns",meshFilename);
5839
5840 return meshFilename;
5841 }
5842
5843 /*!
5844 * \brief Get the extension (including the leading dot) associated with the
5845 * current mesh output format.
5846 * \return Extension of the output grid file.
5847 */
5848 string GetMesh_Out_FileExtension(void) const {
5849 switch (GetMesh_Out_FileFormat()) {
5850 case ENUM_GRID::SU2:
5851 return ".su2";
5852 case ENUM_GRID::SU2_BIN:
5853 return ".su2b";
5854 default:
5855 SU2_MPI::Error("Unrecognized mesh_out format specified!", CURRENT_FUNCTION);
5856 return "";
5857 }
5858 }
5859
5860 /*!
5861 * \brief Get the name of the file with the solution of the flow problem.
5862 * \return Name of the file with the solution of the flow problem.
5863 */
5864 string GetSolution_FileName(void) const {
5865 /*--- we keep the original Solution_FileName ---*/
5866 string solutionFilename = Solution_FileName;
5867
5868 /*--- strip the extension, only if it is .dat or .csv ---*/
5869 PrintingToolbox::TrimExtension(".dat",solutionFilename);
5870 PrintingToolbox::TrimExtension(".csv",solutionFilename);
5871
5872 /*--- return the stripped filename base, without extension. ---*/
5873 return solutionFilename;
5874 }
5875
5876 /*!
5877 * \brief Get the name of the file with the solution of the adjoint flow problem
5878 * with drag objective function.
5879 * \return Name of the file with the solution of the adjoint flow problem with
5880 * drag objective function.
5881 */
5882 string GetSolution_AdjFileName(void) const {
5883 /*--- we keep the original Solution_FileName ---*/
5884 string solutionAdjFilename = Solution_AdjFileName;
5885
5886 /*--- strip the extension, only if it is .dat or .csv ---*/
5887 PrintingToolbox::TrimExtension(".dat",solutionAdjFilename);
5888 PrintingToolbox::TrimExtension(".csv",solutionAdjFilename);
5889
5890 /*--- return the stripped filename base, without extension. ---*/
5891 return solutionAdjFilename;
5892 }
5893
5894 /*!
5895 * \brief Get the format of the input grid.
5896 * \return Format of the input grid.
5897 */
5898 unsigned short GetMesh_FileFormat(void) const { return Mesh_FileFormat; }
5899
5900 /*!
5901 * \brief Get the format of the output grid.
5902 * \return Format of the output grid.
5903 */
5904 unsigned short GetMesh_Out_FileFormat(void) const { return Mesh_Out_FileFormat; }
5905
5906 /*!
5907 * \brief Get the format of the output solution.
5908 * \return Format of the output solution.
5909 */
5910 TAB_OUTPUT GetTabular_FileFormat(void) const { return Tab_FileFormat; }
5911
5912 /*!
5913 * \brief Get the output precision to be used in <ofstream>.precision(value) for history and SU2_DOT output.
5914 * \return Output precision.
5915 */
5916 unsigned short GetOutput_Precision(void) const { return output_precision; }
5917
5918 /*!
5919 * \brief Get the format of the output solution.
5920 * \return Format of the output solution.
5921 */
5922 unsigned short GetActDisk_Jump(void) const { return ActDisk_Jump; }
5923
5924 /*!
5925 * \brief Get the name of the file with the convergence history of the problem.
5926 * \return Name of the file with convergence history of the problem.
5927 */
5928 string GetHistory_FileName(void) const {
5929
5930 /*--- we keep the original Conv_FileName ---*/
5931 string historyFilename = Conv_FileName;
5932
5933 /*--- strip the extension, only if it is .dat or .csv ---*/
5934 PrintingToolbox::TrimExtension(".dat", historyFilename);
5935 PrintingToolbox::TrimExtension(".csv", historyFilename);
5936
5937 /*--- Multizone problems require the number of the zone to be appended. ---*/
5939 historyFilename = GetMultizone_FileName(historyFilename, GetiZone(), "");
5940
5941 /*--- Append the restart iteration ---*/
5942 if (GetTime_Domain() && GetRestart()) {
5943 historyFilename = GetUnsteady_FileName(historyFilename, GetRestart_Iter(), "");
5944 }
5945
5946 /*--- Add the correct file extension depending on the file format ---*/
5947 string hist_ext = ".csv";
5948 if (GetTabular_FileFormat() == TAB_OUTPUT::TAB_TECPLOT) hist_ext = ".dat";
5949
5950 /*--- Append the extension ---*/
5951 historyFilename += hist_ext;
5952
5953 return historyFilename;
5954 }
5955
5956 /*!
5957 * \brief Get name of the input file for the specified inlet profile.
5958 * \return Name of the input file for the specified inlet profile.
5959 */
5960 string GetInlet_FileName(void) const {
5961
5962 /*--- we keep the original inlet profile filename ---*/
5963 string inletProfileFilename = Inlet_Filename;
5964
5965 /*--- strip the extension, only if it is .dat or .csv ---*/
5966 PrintingToolbox::TrimExtension(".dat", inletProfileFilename);
5967 PrintingToolbox::TrimExtension(".csv", inletProfileFilename);
5968
5969 /*--- Multizone problems require the number of the zone to be appended. ---*/
5971 inletProfileFilename = GetMultizone_FileName(inletProfileFilename, GetiZone(), "");
5972
5973 /*--- Modify file name for an unsteady restart ---*/
5974 if (GetTime_Domain() && GetRestart()) {
5975 inletProfileFilename = GetUnsteady_FileName(inletProfileFilename, GetRestart_Iter(), "");
5976 }
5977 /*--- Add the correct file extension depending on the file format ---*/
5978 string ext = ".dat";
5979
5980 inletProfileFilename += ext;
5981
5982
5983 return inletProfileFilename;
5984 }
5985
5986
5987 /*!
5988 * \brief Get the Starting Iteration for the windowing approach
5989 * in Sensitivity Analysis for period-averaged outputs, which oscillate.
5990 * \return
5991 */
5992 unsigned long GetStartWindowIteration(void) const { return StartWindowIteration; }
5993
5994 /*!
5995 * \brief Get Index of the window function used as weight in the cost functional
5996 * \return
5997 */
5998 WINDOW_FUNCTION GetKindWindow(void) const { return Kind_WindowFct; }
5999
6000 /*!
6001 * \brief Get the name of the file with the forces breakdown of the problem.
6002 * \return Name of the file with forces breakdown of the problem.
6003 */
6004 string GetBreakdown_FileName(void) const { return Breakdown_FileName; }
6005
6006 /*!
6007 * \brief Get the name of the file with the flow variables.
6008 * \return Name of the file with the primitive variables.
6009 */
6010 string GetVolume_FileName(void) const { return Volume_FileName; }
6011
6012 /*!
6013 * \brief Add any numbers necessary to the filename (iteration number, zone ID ...)
6014 * \param[in] filename - the base filename.
6015 * \param[in] ext - the extension to be added.
6016 * \param[in] Iter - the current iteration
6017 * \return The new filename
6018 */
6019 string GetFilename(string filename, const string& ext, int Iter) const;
6020
6021 /*!
6022 * \brief Add steady iteration number to the filename (does not overwrite previous files)
6023 * \param[in] filename - the base filename.
6024 * \param[in] inner_iter - the inner iterations
6025 * \param[in] outer_iter - the outer iterations
6026 * \return The new filename
6027 */
6028 string GetFilename_Iter(const string& filename_iter, unsigned long curInnerIter, unsigned long curOuterIter) const;
6029
6030 /*!
6031 * \brief Append the zone index to the restart or the solution files.
6032 * \return Name of the restart file for the flow variables.
6033 */
6034 string GetMultizone_FileName(string val_filename, int val_iZone, const string& ext) const;
6035
6036 /*!
6037 * \brief Append the instance index to the restart or the solution files.
6038 * \param[in] val_filename - the base filename.
6039 * \param[in] val_iInst - the current instance.
6040 * \param[in] ext - the filename extension.
6041 * \return Name of the restart file for the flow variables.
6042 */
6043 string GetMultiInstance_FileName(string val_filename, int val_iInst, const string& ext) const;
6044
6045 /*!
6046 * \brief Append the instance index to the restart or the solution files.
6047 * \param[in] val_filename - the base filename.
6048 * \param[in] val_iInst - the current instance.
6049 * \return Name of the restart file for the flow variables.
6050 */
6051 string GetMultiInstance_HistoryFileName(string val_filename, int val_iInst) const;
6052
6053 /*!
6054 * \brief Get the name of the restart file for the flow variables.
6055 * \return Name of the restart file for the flow variables.
6056 */
6057 string GetRestart_FileName(void) const {
6058
6059 /*--- we keep the original Restart_FileName ---*/
6060 string restartFilename = Restart_FileName;
6061
6062 /*--- strip the extension, only if it is .dat or .csv ---*/
6063 PrintingToolbox::TrimExtension(".dat", restartFilename);
6064 PrintingToolbox::TrimExtension(".csv", restartFilename);
6065
6066 /*--- return the stripped filename base, without extension. ---*/
6067 return restartFilename;
6068 }
6069
6070 /*!
6071 * \brief Get the name of the restart file for the adjoint variables (drag objective function).
6072 * \return Name of the restart file for the adjoint variables (drag objective function).
6073 */
6074 string GetRestart_AdjFileName(void) const {
6075
6076 /*--- we keep the original Restart_FileName ---*/
6077 string restartAdjFilename = Restart_AdjFileName;
6078
6079 /*--- strip the extension, only if it is .dat or .csv ---*/
6080 PrintingToolbox::TrimExtension(".dat", restartAdjFilename);
6081 PrintingToolbox::TrimExtension(".csv", restartAdjFilename);
6082
6083 /*--- return the stripped filename base, without extension. ---*/
6084 return restartAdjFilename;
6085 }
6086
6087 /*!
6088 * \brief Get the name of the file with the adjoint variables.
6089 * \return Name of the file with the adjoint variables.
6090 */
6091 string GetAdj_FileName(void) const { return Adj_FileName; }
6092
6093 /*!
6094 * \brief Get the name of the file with the gradient of the objective function.
6095 * \return Name of the file with the gradient of the objective function.
6096 */
6097 string GetObjFunc_Grad_FileName(void) const { return ObjFunc_Grad_FileName; }
6098
6099 /*!
6100 * \brief Get the name of the file with the gradient of the objective function.
6101 * \return Name of the file with the gradient of the objective function.
6102 */
6103 string GetObjFunc_Value_FileName(void) const { return ObjFunc_Value_FileName; }
6104
6105 /*!
6106 * \brief Get the name of the file with the surface information for the flow problem.
6107 * \return Name of the file with the surface information for the flow problem.
6108 */
6109 string GetSurfCoeff_FileName(void) const { return SurfCoeff_FileName; }
6110
6111 /*!
6112 * \brief Get the name of the file with the surface information for the adjoint problem.
6113 * \return Name of the file with the surface information for the adjoint problem.
6114 */
6115 string GetSurfAdjCoeff_FileName(void) const { return SurfAdjCoeff_FileName; }
6116
6117 /*!
6118 * \brief Get the name of the file with the surface sensitivity (discrete adjoint).
6119 * \return Name of the file with the surface sensitivity (discrete adjoint).
6120 */
6121 string GetSurfSens_FileName(void) const { return SurfSens_FileName; }
6122
6123 /*!
6124 * \brief Get the name of the file with the volume sensitivity (discrete adjoint).
6125 * \return Name of the file with the volume sensitivity (discrete adjoint).
6126 */
6127 string GetVolSens_FileName(void) const { return VolSens_FileName; }
6128
6129 /*!
6130 * \brief Append the input filename with the iteration number for an unsteady file.
6131 * \param[in] val_filename - String value of the base filename.
6132 * \param[in] val_iter - Unsteady iteration number or time instance.
6133 * \param[in] ext - the filename extension.
6134 * \return Name of the file with the iteration number for an unsteady solution file.
6135 */
6136 string GetUnsteady_FileName(string val_filename, int val_iter, const string& ext) const;
6137
6138 /*!
6139 * \brief Append the input filename string with the appropriate objective function extension.
6140 * \param[in] val_filename - String value of the base filename.
6141 * \return Name of the file with the appropriate objective function extension.
6142 */
6143 string GetObjFunc_Extension(string val_filename) const;
6144
6145 /*!
6146 * \brief Get functional that is going to be used to evaluate the residual flow convergence.
6147 * \return Functional that is going to be used to evaluate the residual flow convergence.
6148 */
6149 unsigned short GetResidual_Func_Flow(void) const { return Residual_Func_Flow; }
6150
6151 /*!
6152 * \brief Get functional that is going to be used to evaluate the flow convergence.
6153 * \return Functional that is going to be used to evaluate the flow convergence.
6154 */
6155 unsigned short GetCauchy_Func_Flow(void) const { return Cauchy_Func_Flow; }
6156
6157 /*!
6158 * \brief Get functional that is going to be used to evaluate the adjoint flow convergence.
6159 * \return Functional that is going to be used to evaluate the adjoint flow convergence.
6160 */
6161 unsigned short GetCauchy_Func_AdjFlow(void) const { return Cauchy_Func_AdjFlow; }
6162
6163 /*!
6164 * \brief Get the number of iterations that are considered in the Cauchy convergence criteria.
6165 * \return Number of elements in the Cauchy criteria.
6166 */
6167 unsigned short GetCauchy_Elems(void) const { return Cauchy_Elems; }
6168
6169 /*!
6170 * \brief Get the number of iterations that are not considered in the convergence criteria.
6171 * \return Number of iterations before starting with the convergence criteria.
6172 */
6173 unsigned long GetStartConv_Iter(void) const { return StartConv_Iter; }
6174
6175 /*!
6176 * \brief Get the value of convergence criteria for the Cauchy method in the direct,
6177 * adjoint or linearized problem.
6178 * \return Value of the convergence criteria.
6179 */
6180 su2double GetCauchy_Eps(void) const { return Cauchy_Eps; }
6181
6182 /*!
6183 * \brief If we are prforming an unsteady simulation, there is only
6184 * one value of the time step for the complete simulation.
6185 * \return Value of the time step in an unsteady simulation (non dimensional).
6186 */
6187 su2double GetDelta_UnstTimeND(void) const { return Delta_UnstTimeND; }
6188
6189 /*!
6190 * \brief If we are prforming an unsteady simulation, there is only
6191 * one value of the time step for the complete simulation.
6192 * \return Value of the time step in an unsteady simulation (non dimensional).
6193 */
6194 su2double GetTotal_UnstTimeND(void) const { return Total_UnstTimeND; }
6195
6196 /*!
6197 * \brief If we are prforming an unsteady simulation, there is only
6198 * one value of the time step for the complete simulation.
6199 * \return Value of the time step in an unsteady simulation.
6200 */
6201 su2double GetDelta_UnstTime(void) const { return Delta_UnstTime; }
6202
6203 /*!
6204 * \brief Set the value of the unsteadty time step using the CFL number.
6205 * \param[in] val_delta_unsttimend - Value of the unsteady time step using CFL number.
6206 */
6207 void SetDelta_UnstTimeND(su2double val_delta_unsttimend) { Delta_UnstTimeND = val_delta_unsttimend; }
6208
6209 /*!
6210 * \brief If we are performing an unsteady simulation, this is the
6211 * value of max physical time for which we run the simulation
6212 * \return Value of the physical time in an unsteady simulation.
6213 */
6214 su2double GetTotal_UnstTime(void) const { return Total_UnstTime; }
6215
6216 /*!
6217 * \brief If we are performing an unsteady simulation, this is the
6218 * value of current time.
6219 * \return Value of the physical time in an unsteady simulation.
6220 */
6221 su2double GetCurrent_UnstTime(void) const { return Current_UnstTime; }
6222
6223 /*!
6224 * \brief Divide the rectbles and hexahedron.
6225 * \return <code>TRUE</code> if the elements must be divided; otherwise <code>FALSE</code>.
6226 */
6227 bool GetSubsonicEngine(void) const { return SubsonicEngine; }
6228
6229 /*!
6230 * \brief Actuator disk defined with a double surface.
6231 * \return <code>TRUE</code> if the elements must be divided; otherwise <code>FALSE</code>.
6232 */
6233 bool GetActDisk_DoubleSurface(void) const { return ActDisk_DoubleSurface; }
6234
6235 /*!
6236 * \brief Only halg of the engine is in the compputational grid.
6237 * \return <code>TRUE</code> if the engine is complete; otherwise <code>FALSE</code>.
6238 */
6239 bool GetEngine_HalfModel(void) const { return Engine_HalfModel; }
6240
6241 /*!
6242 * \brief Actuator disk defined with a double surface.
6243 * \return <code>TRUE</code> if the elements must be divided; otherwise <code>FALSE</code>.
6244 */
6245 bool GetActDisk_SU2_DEF(void) const { return ActDisk_SU2_DEF; }
6246
6247 /*!
6248 * \brief Value of the design variable step, we use this value in design problems.
6249 * \param[in] val_dv - Number of the design variable that we want to read.
6250 * \param[in] val_val - Value of the design variable that we want to read.
6251 * \return Design variable step.
6252 */
6253 su2double& GetDV_Value(unsigned short val_dv, unsigned short val_val = 0) { return DV_Value[val_dv][val_val]; }
6254 const su2double& GetDV_Value(unsigned short val_dv, unsigned short val_val = 0) const { return DV_Value[val_dv][val_val]; }
6255
6256 /*!
6257 * \brief Set the value of the design variable step, we use this value in design problems.
6258 * \param[in] val_dv - Number of the design variable that we want to read.
6259 * \param[in] val_ind - value of initial deformation.
6260 * \param[in] val - Value of the design variable.
6261 */
6262 void SetDV_Value(unsigned short val_dv, unsigned short val_ind, su2double val) { DV_Value[val_dv][val_ind] = val; }
6263
6264 /*!
6265 * \brief Get information about the grid movement.
6266 * \return <code>TRUE</code> if there is a grid movement; otherwise <code>FALSE</code>.
6267 */
6268 bool GetGrid_Movement(void) const {
6269 return (Kind_GridMovement != NO_MOVEMENT) || (nKind_SurfaceMovement > 0);
6270 }
6271
6272 /*!
6273 * \brief Get information about dynamic grids.
6274 * \return <code>TRUE</code> if there is a grid movement; otherwise <code>FALSE</code>.
6275 */
6276 bool GetDynamic_Grid(void) const { return GetGrid_Movement() || (Deform_Mesh && Time_Domain); }
6277
6278 /*!
6279 * \brief Get information about the volumetric movement.
6280 * \return <code>TRUE</code> if there is a volumetric movement is required; otherwise <code>FALSE</code>.
6281 */
6282 bool GetVolumetric_Movement(void) const;
6283
6284 /*!
6285 * \brief Get information about deforming markers.
6286 * \param[in] kind_movement - Kind of surface movement.
6287 * \return <code>TRUE</code> at least one surface of kind_movement moving; otherwise <code>FALSE</code>.
6288 */
6289 bool GetSurface_Movement(unsigned short kind_movement) const;
6290
6291 /*!
6292 * \brief Set a surface movement marker.
6293 * \param[in] iMarker - Moving marker.
6294 * \param[in] kind_movement - Kind of surface movement.
6295 * \return <code>TRUE</code> at least one surface of kind_movement moving; otherwise <code>FALSE</code>.
6296 */
6297 void SetSurface_Movement(unsigned short iMarker, unsigned short kind_movement);
6298
6299 /*!
6300 * \brief Get the type of dynamic mesh motion. Each zone gets a config file.
6301 * \return Type of dynamic mesh motion.
6302 */
6303 unsigned short GetKind_GridMovement() const { return Kind_GridMovement; }
6304
6305 /*!
6306 * \brief Set the type of dynamic mesh motion.
6307 * \param[in] motion_Type - Specify motion type.
6308 */
6309 void SetKind_GridMovement(unsigned short motion_Type) { Kind_GridMovement = motion_Type; }
6310
6311 /*!
6312 * \brief Get the type of surface motion.
6313 * \param[in] iMarkerMoving - Index of the moving marker (as specified in Marker_Moving).
6314 * \return Type of surface motion.
6315 */
6316 unsigned short GetKind_SurfaceMovement(unsigned short iMarkerMoving) const { return Kind_SurfaceMovement[iMarkerMoving];}
6317
6318 /*!
6319 * \brief Get the mach number based on the mesh velocity and freestream quantities.
6320 * \return Mach number based on the mesh velocity and freestream quantities.
6321 */
6322 su2double GetMach_Motion(void) const { return Mach_Motion; }
6323
6324 /*!
6325 * \brief Get the mesh motion origin.
6326 * \param[in] iDim - spatial component
6327 * \return The mesh motion origin.
6328 */
6329 su2double GetMotion_Origin(unsigned short iDim) const { return Motion_Origin[iDim];}
6330
6331 /*!
6332 * \brief Set the mesh motion origin.
6333 * \param[in] val - new value of the origin
6334 * \return The mesh motion origin.
6335 */
6336 void SetMotion_Origin(const su2double* val) { for (int iDim = 0; iDim < 3; iDim++) Motion_Origin[iDim] = val[iDim]; }
6337
6338 /*!
6339 * \brief Get the mesh motion origin.
6340 * \param[in] iMarkerMoving - Index of the moving marker (as specified in Marker_Moving)
6341 * \param[in] iDim - spatial component
6342 * \return The motion origin of the marker.
6343 */
6344 su2double GetMarkerMotion_Origin(unsigned short iMarkerMoving, unsigned short iDim) const { return MarkerMotion_Origin[3*iMarkerMoving + iDim];}
6345
6346 /*!
6347 * \brief Set the mesh motion origin.
6348 * \param[in] val - new value of the origin
6349 * \param[in] iMarkerMoving - Index of the moving marker (as specified in Marker_Moving)
6350 */
6351 void SetMarkerMotion_Origin(const su2double* val, unsigned short iMarkerMoving) {
6352 for (int iDim = 0; iDim < 3; iDim++) MarkerMotion_Origin[3*iMarkerMoving + iDim] = val[iDim];
6353 }
6354
6355 /*!
6356 * \brief Get the translational velocity of the mesh.
6357 * \param[in] iDim - spatial component
6358 * \return Translational velocity of the mesh.
6359 */
6360 su2double GetTranslation_Rate(unsigned short iDim) const { return Translation_Rate[iDim];}
6361
6362 /*!
6363 * \brief Set the translational velocity of the mesh.
6364 * \param[in] iDim - spatial component
6365 * \return Translational velocity of the mesh.
6366 */
6367 void SetTranslation_Rate(unsigned short iDim, su2double val) { Translation_Rate[iDim] = val;}
6368
6369 /*!
6370 * \brief Get the translational velocity of the marker.
6371 * \param[in] iMarkerMoving - Index of the moving marker (as specified in Marker_Moving)
6372 * \param[in] iDim - spatial component
6373 * \return Translational velocity of the marker.
6374 */
6375 su2double GetMarkerTranslationRate(unsigned short iMarkerMoving, unsigned short iDim) const { return MarkerTranslation_Rate[3*iMarkerMoving + iDim];}
6376
6377 /*!
6378 * \brief Set the translation rate of the marker.
6379 * \param[in] iDim - spatial component
6380 * \param[in] val - translational velocity
6381 */
6382 void SetMarkerTranslationRate(unsigned short iMarkerMoving, unsigned short iDim, su2double val) {
6383 MarkerTranslation_Rate[3 * iMarkerMoving + iDim] = val;
6384 }
6385
6386 /*!
6387 * \brief Get the rotation rate of the mesh.
6388 * \param[in] iDim - spatial component
6389 * \return Translational velocity of the mesh.
6390 */
6391 su2double GetRotation_Rate(unsigned short iDim) const { return Rotation_Rate[iDim];}
6392
6393 /*!
6394 * \brief Get the rotation rate of the mesh.
6395 * \param[in] iDim - spatial component
6396 * \param[in] val - new value of the rotation rate.
6397 * \return Translational velocity of the mesh.
6398 */
6399 void SetRotation_Rate(unsigned short iDim, su2double val) { Rotation_Rate[iDim] = val;}
6400
6401 /*!
6402 * \brief General interface for setting the rate of motion in grid ramps
6403 * \param[in] ramp_flag - flag for type of ramp
6404 * \param[in] val - new value of rate of motion
6405 */
6406 void SetRate(su2double val) {
6407 if (RampRotatingFrame) Rotation_Rate[2] = val;
6408 else if (RampTranslationFrame) Translation_Rate[1] = val;
6409 }
6410
6411 /*!
6412 * \brief Get the rotation rate of the marker.
6413 * \param[in] iMarkerMoving - Index of the moving marker (as specified in Marker_Moving)
6414 * \param[in] iDim - spatial component
6415 * \return Rotation velocity of the marker.
6416 */
6417 su2double GetMarkerRotationRate(unsigned short iMarkerMoving, unsigned short iDim) const { return MarkerRotation_Rate[3*iMarkerMoving + iDim];}
6418
6419 /*!
6420 * \brief Set the rotation rate of the marker.
6421 * \param[in] iMarkerMoving - Index of the moving marker (as specified in Marker_Moving)
6422 * \param[in] iDim - spatial component
6423 * \param[in] val - Rotational velocity
6424 */
6425 void SetMarkerRotationRate(unsigned short iMarkerMoving, unsigned short iDim, su2double val) {
6426 MarkerRotation_Rate[3 * iMarkerMoving + iDim] = val;
6427 }
6428
6429 /*!
6430 * \brief Get the pitching rate of the mesh.
6431 * \param[in] iDim - spatial component
6432 * \return Angular frequency of the mesh pitching.
6433 */
6434 su2double GetPitching_Omega(unsigned short iDim) const { return Pitching_Omega[iDim];}
6435
6436 /*!
6437 * \brief Get pitching rate of the marker.
6438 * \param[in] iMarkerMoving - Index of the moving marker (as specified in Marker_Moving)
6439 * \param[in] iDim - spatial component
6440 * \return Angular frequency of the marker pitching.
6441 */
6442 su2double GetMarkerPitching_Omega(unsigned short iMarkerMoving, unsigned short iDim) const { return MarkerPitching_Omega[3*iMarkerMoving + iDim];}
6443
6444 /*!
6445 * \brief Get the pitching amplitude of the mesh.
6446 * \param[in] iDim - spatial component
6447 * \return pitching amplitude of the mesh.
6448 */
6449 su2double GetPitching_Ampl(unsigned short iDim) const { return Pitching_Ampl[iDim];}
6450
6451 /*!
6452 * \brief Get pitching amplitude of the marker.
6453 * \param[in] iMarkerMoving - Index of the moving marker (as specified in Marker_Moving)
6454 * \param[in] iDim - spatial component
6455 * \return pitching amplitude of the marker.
6456 */
6457 su2double GetMarkerPitching_Ampl(unsigned short iMarkerMoving, unsigned short iDim) const { return MarkerPitching_Ampl[3*iMarkerMoving + iDim];}
6458
6459 /*!
6460 * \brief Get the pitching phase of the mesh.
6461 * \param[in] iDim - spatial component.
6462 * \return pitching phase of the mesh.
6463 */
6464 su2double GetPitching_Phase(unsigned short iDim) const { return Pitching_Phase[iDim];}
6465
6466 /*!
6467 * \brief Get pitching phase of the marker.
6468 * \param[in] iMarkerMoving - Index of the moving marker (as specified in Marker_Moving) \
6469 * \param[in] iDim - spatial component
6470 * \return pitching phase of the marker.
6471 */
6472 su2double GetMarkerPitching_Phase(unsigned short iMarkerMoving, unsigned short iDim) const { return MarkerPitching_Phase[3*iMarkerMoving + iDim];}
6473
6474 /*!
6475 * \brief Get the plunging rate of the mesh.
6476 * \param[in] iDim - spatial component
6477 * \return Angular frequency of the mesh plunging.
6478 */
6479 su2double GetPlunging_Omega(unsigned short iDim) const { return Plunging_Omega[iDim];}
6480
6481 /*!
6482 * \brief Get plunging rate of the marker.
6483 * \param[in] iMarkerMoving - Index of the moving marker (as specified in Marker_Moving)
6484 * \param[in] iDim - spatial component
6485 * \return Angular frequency of the marker plunging.
6486 */
6487 su2double GetMarkerPlunging_Omega(unsigned short iMarkerMoving, unsigned short iDim) const { return MarkerPlunging_Omega[3*iMarkerMoving + iDim];}
6488
6489 /*!
6490 * \brief Get the plunging amplitude of the mesh.
6491 * \param[in] iDim - spatial component
6492 * \return Plunging amplitude of the mesh.
6493 */
6494 su2double GetPlunging_Ampl(unsigned short iDim) const { return Plunging_Ampl[iDim];}
6495
6496 /*!
6497 * \brief Get plunging amplitude of the marker.
6498 * \param[in] iMarkerMoving - Index of the moving marker (as specified in Marker_Moving)
6499 * \param[in] iDim - spatial component
6500 * \return Plunging amplitude of the marker.
6501 */
6502 su2double GetMarkerPlunging_Ampl(unsigned short iMarkerMoving, unsigned short iDim) const { return MarkerPlunging_Ampl[3*iMarkerMoving + iDim];}
6503
6504 /*!
6505 * \brief Generic interface for retrieving final value of a turbomachinery ramp
6506 * \return Final value of a specified ramp
6507 */
6509 if (ramp_flag == RAMP_TYPE::GRID && RampRotatingFrame) return FinalRotation_Rate_Z;
6510 else if (ramp_flag == RAMP_TYPE::GRID && RampTranslationFrame) return FinalTranslation_Rate_Y;
6511 else if (ramp_flag == RAMP_TYPE::BOUNDARY && RampOutletPressure) return FinalOutletPressure;
6512 else if (ramp_flag == RAMP_TYPE::BOUNDARY && RampOutletMassFlow) return FinalOutletMassFlow;
6513 else return 0.0;
6514 }
6515
6516 /*!
6517 * \brief Get the Harmonic Balance frequency pointer.
6518 * \return Harmonic Balance Frequency pointer.
6519 */
6520 const su2double* GetOmega_HB(void) const { return Omega_HB; }
6521
6522 /*!
6523 * \brief Get if harmonic balance source term is to be preconditioned
6524 * \return yes or no to harmonic balance preconditioning
6525 */
6526 bool GetHB_Precondition(void) const { return HB_Precondition; }
6527
6528 /*!
6529 * \brief Get if we should update the motion origin.
6530 * \param[in] val_marker - Value of the marker in which we are interested.
6531 * \return yes or no to update motion origin.
6532 */
6533 unsigned short GetMoveMotion_Origin(unsigned short val_marker) const { return MoveMotion_Origin[val_marker]; }
6534
6535 /*!
6536 * \brief Get the minimum value of Beta for Roe-Turkel preconditioner
6537 * \return the minimum value of Beta for Roe-Turkel preconditioner
6538 */
6539 su2double GetminTurkelBeta() const { return Min_Beta_RoeTurkel; }
6540
6541 /*!
6542 * \brief Get the minimum value of Beta for Roe-Turkel preconditioner
6543 * \return the minimum value of Beta for Roe-Turkel preconditioner
6544 */
6545 su2double GetmaxTurkelBeta() const { return Max_Beta_RoeTurkel; }
6546
6547 /*!
6548 * \brief Get information about the adibatic wall condition
6549 * \return <code>TRUE</code> if it is a adiabatic wall condition; otherwise <code>FALSE</code>.
6550 */
6552
6553 /*!
6554 * \brief Get information about the isothermal wall condition
6555 * \return <code>TRUE</code> if it is a isothermal wall condition; otherwise <code>FALSE</code>.
6556 */
6558
6559 /*!
6560 * \brief Get information about the Low Mach Preconditioning
6561 * \return <code>TRUE</code> if we are using low Mach preconditioner; otherwise <code>FALSE</code>.
6562 */
6563 bool Low_Mach_Preconditioning(void) const { return Low_Mach_Precon; }
6564
6565 /*!
6566 * \brief Get information about the Low Mach Correction
6567 * \return <code>TRUE</code> if we are using low Mach correction; otherwise <code>FALSE</code>.
6568 */
6569 bool Low_Mach_Correction(void) const { return Low_Mach_Corr; }
6570
6571 /*!
6572 * \brief Get information about the poisson solver condition
6573 * \return <code>TRUE</code> if it is a poisson solver condition; otherwise <code>FALSE</code>.
6574 */
6575 bool GetPoissonSolver(void) const { return PoissonSolver; }
6576
6577 /*!
6578 * \brief Get information about the gravity force.
6579 * \return <code>TRUE</code> if it uses the gravity force; otherwise <code>FALSE</code>.
6580 */
6581 bool GetGravityForce(void) const { return GravityForce; }
6582
6583 /*!
6584 * \brief Get information about the Vorticity Confinement.
6585 * \return <code>TRUE</code> if it uses Vorticity Confinement; otherwise <code>FALSE</code>.
6586 */
6587 bool GetVorticityConfinement(void) const { return VorticityConfinement; }
6588
6589 /*!
6590 * \brief Get information about the body force.
6591 * \return <code>TRUE</code> if it uses a body force; otherwise <code>FALSE</code>.
6592 */
6593 bool GetBody_Force(void) const { return Body_Force; }
6594
6595 /*!
6596 * \brief Get a pointer to the body force vector.
6597 * \return A pointer to the body force vector.
6598 */
6599 const su2double* GetBody_Force_Vector(void) const { return body_force; }
6600
6601 /*!
6602 * \brief Get information about the streamwise periodicity (None, Pressure_Drop, Massflow).
6603 * \return Driving force identification.
6604 */
6605 ENUM_STREAMWISE_PERIODIC GetKind_Streamwise_Periodic(void) const { return Kind_Streamwise_Periodic; }
6606
6607 /*!
6608 * \brief Get information about the streamwise periodicity Energy equation handling.
6609 * \return Real periodic treatment of energy equation.
6610 */
6611 bool GetStreamwise_Periodic_Temperature(void) const { return Streamwise_Periodic_Temperature; }
6612
6613 /*!
6614 * \brief Get the value of the artificial periodic outlet heat.
6615 * \return Heat value.
6616 */
6617 su2double GetStreamwise_Periodic_OutletHeat(void) const { return Streamwise_Periodic_OutletHeat; }
6618
6619 /*!
6620 * \brief Get the value of the pressure delta from which body force vector is computed.
6621 * \return Delta Pressure for body force computation.
6622 */
6623 su2double GetStreamwise_Periodic_PressureDrop(void) const { return Streamwise_Periodic_PressureDrop; }
6624
6625 /*!
6626 * \brief Set the value of the pressure delta from which body force vector is computed. Necessary for Restart metadata.
6627 */
6628 void SetStreamwise_Periodic_PressureDrop(su2double Streamwise_Periodic_PressureDrop_) { Streamwise_Periodic_PressureDrop = Streamwise_Periodic_PressureDrop_; }
6629
6630 /*!
6631 * \brief Get the value of the massflow from which body force vector is computed.
6632 * \return Massflow for body force computation.
6633 */
6634 su2double GetStreamwise_Periodic_TargetMassFlow(void) const { return Streamwise_Periodic_TargetMassFlow; }
6635
6636 /*!
6637 * \brief Get information about the volumetric heat source.
6638 * \return <code>TRUE</code> if it uses a volumetric heat source; otherwise <code>FALSE</code>.
6639 */
6640 inline bool GetHeatSource(void) const { return HeatSource; }
6641
6642 /*!
6643 * \brief Get information about the volumetric heat source.
6644 * \return Value of the volumetric heat source
6645 */
6646 inline su2double GetHeatSource_Val(void) const {return ValHeatSource;}
6647
6648 /*!
6649 * \brief Get the rotation angle of the volumetric heat source in axis Z.
6650 * \return Rotation (Z) of the volumetric heat source
6651 */
6652 inline su2double GetHeatSource_Rot_Z(void) const {return Heat_Source_Rot_Z;}
6653
6654 /*!
6655 * \brief Set the rotation angle of the volumetric heat source in axis Z.
6656 * \param[in] val_rot - Rotation (Z) of the volumetric heat source
6657 */
6658 inline void SetHeatSource_Rot_Z(su2double val_rot) {Heat_Source_Rot_Z = val_rot;}
6659
6660 /*!
6661 * \brief Get the position of the center of the volumetric heat source.
6662 * \return Pointer to the center of the ellipsoid that introduces a volumetric heat source.
6663 */
6664 inline const su2double* GetHeatSource_Center(void) const {return hs_center;}
6665
6666 /*!
6667 * \brief Set the position of the center of the volumetric heat source.
6668 * \param[in] x_cent = X position of the center of the volumetric heat source.
6669 * \param[in] y_cent = Y position of the center of the volumetric heat source.
6670 * \param[in] z_cent = Z position of the center of the volumetric heat source.
6671 */
6672 inline void SetHeatSource_Center(su2double x_cent, su2double y_cent, su2double z_cent) {
6673 hs_center[0] = x_cent; hs_center[1] = y_cent; hs_center[2] = z_cent;
6674 }
6675
6676 /*!
6677 * \brief Get the radius of the ellipsoid that introduces a volumetric heat source.
6678 * \return Pointer to the radii (x, y, z) of the ellipsoid that introduces a volumetric heat source.
6679 */
6680 inline const su2double* GetHeatSource_Axes(void) const {return hs_axes;}
6681
6682 /*!
6683 * \brief Get information about the rotational frame.
6684 * \return <code>TRUE</code> if there is a rotational frame; otherwise <code>FALSE</code>.
6685 */
6686 bool GetRotating_Frame(void) const { return Rotating_Frame; }
6687
6688 /*!
6689 * \brief Get information about the axisymmetric frame.
6690 * \return <code>TRUE</code> if there is a rotational frame; otherwise <code>FALSE</code>.
6691 */
6692 bool GetAxisymmetric(void) const { return Axisymmetric; }
6693
6694 /*!
6695 * \brief Get information about GPU support.
6696 * \return <code>TRUE</code> if cuda is enabled; otherwise <code>FALSE</code>.
6697 */
6698 bool GetCUDA(void) const { return Enable_Cuda; }
6699
6700 /*!
6701 * \brief Subtract one to the index of the finest grid (full multigrid strategy).
6702 * \return Change the index of the finest grid.
6703 */
6704 void SubtractFinestMesh(void) { FinestMesh = FinestMesh-1; }
6705
6706 /*!
6707 * \brief Obtain the kind of design variable.
6708 * \param[in] val_dv - Number of the design variable that we want to read.
6709 * \return Design variable identification.
6710 */
6711 unsigned short GetDesign_Variable(unsigned short val_dv) const { return Design_Variable[val_dv]; }
6712
6713 /*!
6714 * \brief Get the buffet sensor sharpness coefficient.
6715 * \return Sharpness coefficient for buffet sensor.
6716 */
6717 su2double GetBuffet_k(void) const { return Buffet_k; }
6718
6719 /*!
6720 * \brief Get the buffet sensor offset parameter.
6721 * \return Offset parameter for buffet sensor.
6722 */
6723 su2double GetBuffet_lambda(void) const { return Buffet_lambda; }
6724
6725 /*!
6726 * \brief Get the index in the config information of the marker <i>val_marker</i>.
6727 * \note When we read the config file, it stores the markers in a particular vector.
6728 * \return Index in the config information of the marker <i>val_marker</i>.
6729 */
6730 unsigned short GetMarker_CfgFile_TagBound(const string& val_marker) const;
6731
6732 /*!
6733 * \brief Get the name in the config information of the marker number <i>val_marker</i>.
6734 * \note When we read the config file, it stores the markers in a particular vector.
6735 * \return Name of the marker in the config information of the marker <i>val_marker</i>.
6736 */
6737 string GetMarker_CfgFile_TagBound(unsigned short val_marker) const;
6738
6739 /*!
6740 * \brief Get the boundary information (kind of boundary) in the config information of the marker <i>val_marker</i>.
6741 * \return Kind of boundary in the config information of the marker <i>val_marker</i>.
6742 */
6743 unsigned short GetMarker_CfgFile_KindBC(const string& val_marker) const;
6744
6745 /*!
6746 * \brief Get the monitoring information from the config definition for the marker <i>val_marker</i>.
6747 * \return Monitoring information of the boundary in the config information for the marker <i>val_marker</i>.
6748 */
6749 unsigned short GetMarker_CfgFile_Monitoring(const string& val_marker) const;
6750
6751 /*!
6752 * \brief Get the monitoring information from the config definition for the marker <i>val_marker</i>.
6753 * \return Monitoring information of the boundary in the config information for the marker <i>val_marker</i>.
6754 */
6755 unsigned short GetMarker_CfgFile_GeoEval(const string& val_marker) const;
6756
6757 /*!
6758 * \brief Get the monitoring information from the config definition for the marker <i>val_marker</i>.
6759 * \return Monitoring information of the boundary in the config information for the marker <i>val_marker</i>.
6760 */
6761 unsigned short GetMarker_CfgFile_Designing(const string& val_marker) const;
6762
6763 /*!
6764 * \brief Get the plotting information from the config definition for the marker <i>val_marker</i>.
6765 * \return Plotting information of the boundary in the config information for the marker <i>val_marker</i>.
6766 */
6767 unsigned short GetMarker_CfgFile_Plotting(const string& val_marker) const;
6768
6769 /*!
6770 * \brief Get the plotting information from the config definition for the marker <i>val_marker</i>.
6771 * \return Plotting information of the boundary in the config information for the marker <i>val_marker</i>.
6772 */
6773 unsigned short GetMarker_CfgFile_Analyze(const string& val_marker) const;
6774
6775 /*!
6776 * \brief Get the multi-physics interface information from the config definition for the marker <i>val_marker</i>.
6777 * \return Plotting information of the boundary in the config information for the marker <i>val_marker</i>.
6778 */
6779 unsigned short GetMarker_CfgFile_ZoneInterface(const string& val_marker) const;
6780
6781 /*!
6782 * \brief Get the TurboPerformance information from the config definition for the marker <i>val_marker</i>.
6783 * \return TurboPerformance information of the boundary in the config information for the marker <i>val_marker</i>.
6784 */
6785 unsigned short GetMarker_CfgFile_Turbomachinery(const string& val_marker) const;
6786
6787 /*!
6788 * \brief Get the TurboPerformance flag information from the config definition for the marker <i>val_marker</i>.
6789 * \return TurboPerformance flag information of the boundary in the config information for the marker <i>val_marker</i>.
6790 */
6791 unsigned short GetMarker_CfgFile_TurbomachineryFlag(const string& val_marker) const;
6792
6793 /*!
6794 * \brief Get the MixingPlane interface information from the config definition for the marker <i>val_marker</i>.
6795 * \return Plotting information of the boundary in the config information for the marker <i>val_marker</i>.
6796 */
6797 unsigned short GetMarker_CfgFile_MixingPlaneInterface(const string& val_marker) const;
6798
6799 /*!
6800 * \brief Get the Giles boundary information from the config definition for the marker <i>val_marker</i>.
6801 * \return Plotting information of the boundary in the config information for the marker <i>val_marker</i>.
6802 */
6803 unsigned short GetMarker_CfgFile_Giles(const string& val_marker) const;
6804
6805 /*!
6806 * \brief Get the DV information from the config definition for the marker <i>val_marker</i>.
6807 * \return DV information of the boundary in the config information for the marker <i>val_marker</i>.
6808 */
6809 unsigned short GetMarker_CfgFile_DV(const string& val_marker) const;
6810
6811 /*!
6812 * \brief Get the motion information from the config definition for the marker <i>val_marker</i>.
6813 * \return Motion information of the boundary in the config information for the marker <i>val_marker</i>.
6814 */
6815 unsigned short GetMarker_CfgFile_Moving(const string& val_marker) const;
6816
6817 /*!
6818 * \brief Get the gradient boundary information from the config definition for the marker <i>val_marker</i>.
6819 * \return Gradient boundary information of the boundary in the config information for the marker <i>val_marker</i>.
6820 */
6821 unsigned short GetMarker_CfgFile_SobolevBC(const string& val_marker) const;
6822
6823 /*!
6824 * \brief Get the DEFORM_MESH information from the config definition for the marker <i>val_marker</i>.
6825 * \return DEFORM_MESH information of the boundary in the config information for the marker <i>val_marker</i>.
6826 */
6827 unsigned short GetMarker_CfgFile_Deform_Mesh(const string& val_marker) const;
6828
6829 /*!
6830 * \brief Get the DEFORM_MESH_SYM_PLANE information from the config definition for the marker <i>val_marker</i>.
6831 * \return DEFORM_MESH_SYM_PLANE information of the boundary in the config information for the marker <i>val_marker</i>.
6832 */
6833 unsigned short GetMarker_CfgFile_Deform_Mesh_Sym_Plane(const string& val_marker) const;
6834
6835 /*!
6836 * \brief Get the DEFORM_MESH_INTERNAL information from the config definition for the marker <i>val_marker</i>.
6837 * \return DEFORM_MESH_INTERNAL information of the boundary in the config information for the marker <i>val_marker</i>.
6838 */
6839 unsigned short GetMarker_CfgFile_Deform_Mesh_Internal(const string& val_marker) const;
6840
6841 /*!
6842 * \brief Get the Fluid_Load information from the config definition for the marker <i>val_marker</i>.
6843 * \return Fluid_Load information of the boundary in the config information for the marker <i>val_marker</i>.
6844 */
6845 unsigned short GetMarker_CfgFile_Fluid_Load(const string& val_marker) const;
6846
6847 /*!
6848 * \brief Get the Python customization information from the config definition for the marker <i>val_marker</i>.
6849 * \return Python customization information of the boundary in the config information for the marker <i>val_marker</i>.
6850 */
6851 unsigned short GetMarker_CfgFile_PyCustom(const string& val_marker) const;
6852
6853 /*!
6854 * \brief Get the periodic information from the config definition of the marker <i>val_marker</i>.
6855 * \return Periodic information of the boundary in the config information of the marker <i>val_marker</i>.
6856 */
6857 unsigned short GetMarker_CfgFile_PerBound(const string& val_marker) const;
6858
6859 /*!
6860 * \brief Get the name of the marker <i>val_marker</i>.
6861 * \return The interface which owns that marker <i>val_marker</i>.
6862 */
6863 unsigned short GetMarker_ZoneInterface(const string& val_marker) const;
6864
6865 /*!
6866 * \brief Get the name of the marker <i>val_iMarker</i>.
6867 * \return The name of the marker in the interface
6868 */
6869 string GetMarkerTag_ZoneInterface(unsigned short val_iMarker) const { return Marker_ZoneInterface[val_iMarker]; }
6870
6871 /*!
6872 * \brief Get the number of markers in the multizone interface.
6873 * \return The number markers in the multizone interface
6874 */
6875 unsigned short GetnMarker_ZoneInterface(void) const { return nMarker_ZoneInterface; }
6876
6877 /*!
6878 * \brief Determines whether a marker with index iMarker is a solid boundary.
6879 * \param iMarker
6880 * \return <TRUE> it marker with index iMarker is a solid boundary.
6881 */
6882 bool GetSolid_Wall(unsigned short iMarker) const;
6883
6884 /*!
6885 * \brief Determines whether a marker with index iMarker is a viscous no-slip boundary.
6886 * \param iMarker
6887 * \return <TRUE> it marker with index iMarker is a viscous no-slip boundary.
6888 */
6889 bool GetViscous_Wall(unsigned short iMarker) const;
6890
6891 /*!
6892 * \brief Determines whether a marker with index iMarker is a catalytic boundary.
6893 * \param iMarker
6894 * \return <TRUE> it marker with index iMarker is a catalytic boundary.
6895 */
6896 bool GetCatalytic_Wall(unsigned short iMarker) const;
6897
6898 /*!
6899 * \brief Determines if problem is adjoint.
6900 * \return true if Adjoint.
6901 */
6902 bool GetContinuous_Adjoint(void) const { return ContinuousAdjoint; }
6903
6904 /*!
6905 * \brief Determines if problem is viscous.
6906 * \return true if Viscous.
6907 */
6908 bool GetViscous(void) const { return Viscous; }
6909
6910 /*!
6911 * \brief Determines if problem has catalytic walls.
6912 * \return true if catalytic walls are present.
6913 */
6914 bool GetCatalytic(void) const { return nWall_Catalytic > 0; }
6915
6916 /*!
6917 * \brief Provides the index of the solution in the container.
6918 * \param[in] val_eqsystem - Equation that is being solved.
6919 * \return Index on the solution container.
6920 */
6921 unsigned short GetContainerPosition(unsigned short val_eqsystem);
6922
6923 /*!
6924 * \brief Value of the minimum residual value (log10 scale).
6925 * \return Value of the minimum residual value (log10 scale).
6926 */
6927 su2double GetMinLogResidual(void) const { return MinLogResidual; }
6928
6929 /*!
6930 * \brief Evaluation frequency for Engine and Actuator disk markers.
6931 * \return Value Evaluation frequency .
6932 */
6933 unsigned long GetBc_Eval_Freq(void) const { return Bc_Eval_Freq; }
6934
6935 /*!
6936 * \brief Value of the damping factor for the engine inlet bc.
6937 * \return Value of the damping factor.
6938 */
6939 su2double GetDamp_Engine_Inflow(void) const { return Damp_Engine_Inflow; }
6940
6941 /*!
6942 * \brief Value of the damping factor for the engine exhaust inlet bc.
6943 * \return Value of the damping factor.
6944 */
6945 su2double GetDamp_Engine_Exhaust(void) const { return Damp_Engine_Exhaust; }
6946
6947 /*!
6948 * \brief Value of the damping factor for the residual restriction.
6949 * \return Value of the damping factor.
6950 */
6951 su2double GetDamp_Res_Restric(void) const { return Damp_Res_Restric; }
6952
6953 /*!
6954 * \brief Set the damping factor for the residual restriction (used by adaptive MG damping).
6955 * \param[in] val - New damping factor value.
6956 */
6957 void SetDamp_Res_Restric(su2double val) { Damp_Res_Restric = val; }
6958
6959 /*!
6960 * \brief Value of the damping factor for the correction prolongation.
6961 * \return Value of the damping factor.
6962 */
6963 su2double GetDamp_Correc_Prolong(void) const { return Damp_Correc_Prolong; }
6964
6965 /*!
6966 * \brief Set the damping factor for the correction prolongation (used by adaptive MG damping).
6967 * \param[in] val - New damping factor value.
6968 */
6969 void SetDamp_Correc_Prolong(su2double val) { Damp_Correc_Prolong = val; }
6970
6971 /*!
6972 * \brief Value of the position of the Near Field (y coordinate for 2D, and z coordinate for 3D).
6973 * \return Value of the Near Field position.
6974 */
6975 su2double GetPosition_Plane(void) const { return Position_Plane; }
6976
6977 /*!
6978 * \brief Value of the weight of the drag coefficient in the Sonic Boom optimization.
6979 * \return Value of the weight of the drag coefficient in the Sonic Boom optimization.
6980 */
6981 su2double GetWeightCd(void) const { return WeightCd; }
6982
6983 /*!
6984 * \brief Value of the damping factor for the Thrust BC (actuator disk).
6985 * \return Value of the damping factor.
6986 */
6987 void SetdNetThrust_dBCThrust(su2double val_dnetthrust_dbcthrust);
6988
6989 /*!
6990 * \brief Value of the azimuthal line to fix due to a misalignments of the nearfield.
6991 * \return Azimuthal line to fix due to a misalignments of the nearfield.
6992 */
6993 su2double GetFixAzimuthalLine(void) const { return FixAzimuthalLine; }
6994
6995 /*!
6996 * \brief Value of the weight of the CD, CL, CM optimization.
6997 * \return Value of the weight of the CD, CL, CM optimization.
6998 */
6999 su2double GetdCD_dCL(void) const { return dCD_dCL; }
7000
7001 /*!
7002 * \brief Value of the weight of the CD, CL, CM optimization.
7003 * \return Value of the weight of the CD, CL, CM optimization.
7004 */
7005 void SetdCD_dCL(su2double val_dcd_dcl) { dCD_dCL = val_dcd_dcl; }
7006
7007 /*!
7008 * \brief Value of the weight of the CD, CL, CM optimization.
7009 * \return Value of the weight of the CD, CL, CM optimization.
7010 */
7011 su2double GetdCMx_dCL(void) const { return dCMx_dCL; }
7012
7013 /*!
7014 * \brief Value of the weight of the CD, CL, CM optimization.
7015 * \return Value of the weight of the CD, CL, CM optimization.
7016 */
7017 void SetdCMx_dCL(su2double val_dcmx_dcl) { dCMx_dCL = val_dcmx_dcl; }
7018
7019 /*!
7020 * \brief Value of the weight of the CD, CL, CM optimization.
7021 * \return Value of the weight of the CD, CL, CM optimization.
7022 */
7023 su2double GetdCMy_dCL(void) const { return dCMy_dCL; }
7024
7025 /*!
7026 * \brief Value of the weight of the CD, CL, CM optimization.
7027 * \return Value of the weight of the CD, CL, CM optimization.
7028 */
7029 void SetdCMy_dCL(su2double val_dcmy_dcl) { dCMy_dCL = val_dcmy_dcl; }
7030
7031 /*!
7032 * \brief Value of the weight of the CD, CL, CM optimization.
7033 * \return Value of the weight of the CD, CL, CM optimization.
7034 */
7035 su2double GetdCMz_dCL(void) const { return dCMz_dCL; }
7036
7037 /*!
7038 * \brief Value of the weight of the CD, CL, CM optimization.
7039 * \return Value of the weight of the CD, CL, CM optimization.
7040 */
7041 void SetdCMz_dCL(su2double val_dcmz_dcl) { dCMz_dCL = val_dcmz_dcl; }
7042
7043 /*!
7044 * \brief Value of the weight of the CD, CL, CM optimization.
7045 * \return Value of the weight of the CD, CL, CM optimization.
7046 */
7047 void SetdCL_dAlpha(su2double val_dcl_dalpha) { dCL_dAlpha = val_dcl_dalpha; }
7048
7049 /*!
7050 * \brief Value of the weight of the CD, CL, CM optimization.
7051 * \return Value of the weight of the CD, CL, CM optimization.
7052 */
7053 su2double GetCL_Target(void) const { return CL_Target; }
7054
7055 /*!
7056 * \brief Set the global parameters of each simulation for each runtime system.
7057 * \param[in] val_solver - Solver of the simulation.
7058 * \param[in] val_system - Runtime system that we are solving.
7059 */
7060 void SetGlobalParam(MAIN_SOLVER val_solver, unsigned short val_system);
7061
7062 /*!
7063 * \brief Center of rotation for a rotational periodic boundary.
7064 */
7065 const su2double *GetPeriodicRotCenter(const string& val_marker) const;
7066
7067 /*!
7068 * \brief Angles of rotation for a rotational periodic boundary.
7069 */
7070 const su2double *GetPeriodicRotAngles(const string& val_marker) const;
7071
7072 /*!
7073 * \brief Translation vector for a translational periodic boundary.
7074 */
7075 const su2double *GetPeriodicTranslation(const string& val_marker) const;
7076
7077 /*!
7078 * \brief Get the translation vector for a periodic transformation.
7079 * \param[in] val_index - Index corresponding to the periodic transformation.
7080 * \return The translation vector.
7081 */
7082 const su2double* GetPeriodic_Translation(unsigned short val_index ) const { return Periodic_Translation[val_index]; }
7083
7084 /*!
7085 * \brief Get the rotationally periodic donor marker for boundary <i>val_marker</i>.
7086 * \return Periodic donor marker from the config information for the marker <i>val_marker</i>.
7087 */
7088 unsigned short GetMarker_Periodic_Donor(const string& val_marker) const;
7089
7090 /*!
7091 * \brief Get the origin of the actuator disk.
7092 */
7093 su2double GetActDisk_NetThrust(const string& val_marker) const;
7094
7095 /*!
7096 * \brief Get the origin of the actuator disk.
7097 */
7098 su2double GetActDisk_Power(const string& val_marker) const;
7099
7100 /*!
7101 * \brief Get the origin of the actuator disk.
7102 */
7103 su2double GetActDisk_MassFlow(const string& val_marker) const;
7104
7105 /*!
7106 * \brief Get the origin of the actuator disk.
7107 */
7108 su2double GetActDisk_Mach(const string& val_marker) const;
7109
7110 /*!
7111 * \brief Get the origin of the actuator disk.
7112 */
7113 su2double GetActDisk_Force(const string& val_marker) const;
7114
7115 /*!
7116 * \brief Get the origin of the actuator disk.
7117 */
7118 su2double GetActDisk_BCThrust(const string& val_marker) const;
7119
7120 /*!
7121 * \brief Get the origin of the actuator disk.
7122 */
7123 su2double GetActDisk_BCThrust_Old(const string& val_marker) const;
7124
7125 /*!
7126 * \brief Get the tip radius of th actuator disk.
7127 */
7128 su2double GetActDisk_Area(const string& val_marker) const;
7129
7130 /*!
7131 * \brief Get the tip radius of th actuator disk.
7132 */
7133 su2double GetActDisk_ReverseMassFlow(const string& val_marker) const;
7134
7135 /*!
7136 * \brief Get the thrust corffient of the actuator disk.
7137 */
7138 su2double GetActDisk_PressJump(const string& val_marker, unsigned short val_index) const;
7139
7140 /*!
7141 * \brief Get the thrust corffient of the actuator disk.
7142 */
7143 su2double GetActDisk_TempJump(const string& val_marker, unsigned short val_index) const;
7144
7145 /*!
7146 * \brief Get the rev / min of the actuator disk.
7147 */
7148 su2double GetActDisk_Omega(const string& val_marker, unsigned short val_index) const;
7149
7150 /*!
7151 * \brief Get the Center of the actuator disk with BEM.
7152 */
7153 su2double GetActDiskBem_CG(unsigned short iDim, string val_marker, unsigned short val_index) const;
7154
7155 /*!
7156 * \brief Get the axis of the actuator disk with BEM.
7157 */
7158 su2double GetActDiskBem_Axis(unsigned short iDim, string val_marker, unsigned short val_index) const;
7159
7160 /*!
7161 * \brief Get the frequency of updating the actuator disk with BEM.
7162 */
7163 const unsigned short& GetActDiskBem_Frequency(void) const { return ActDiskBem_Frequency; }
7164
7165 /*!
7166 * \brief Get the blade angle of the propeller.
7167 */
7168 su2double GetBEM_blade_angle(void) const { return BEM_blade_angle; }
7169
7170 /*!
7171 * \brief Get the filename of the propeller.
7172 */
7173 const string& GetBEM_prop_filename(void) const { return BEM_prop_filename; }
7174
7175 /*!
7176 * \brief Get Actuator Disk Outlet for boundary <i>val_marker</i> (actuator disk inlet).
7177 * \return Actuator Disk Outlet from the config information for the marker <i>val_marker</i>.
7178 */
7179 unsigned short GetMarker_CfgFile_ActDiskOutlet(const string& val_marker) const;
7180
7181 /*!
7182 * \brief Get Actuator Disk Outlet for boundary <i>val_marker</i> (actuator disk inlet).
7183 * \return Actuator Disk Outlet from the config information for the marker <i>val_marker</i>.
7184 */
7185 unsigned short GetMarker_CfgFile_EngineExhaust(const string& val_marker) const;
7186
7187 /*!
7188 * \brief Get the internal index for a moving boundary <i>val_marker</i>.
7189 * \return Internal index for a moving boundary <i>val_marker</i>.
7190 */
7191 unsigned short GetMarker_Moving(const string& val_marker) const;
7192
7193 /*!
7194 * \brief Get a bool for whether a marker is moving. <i>val_marker</i>.
7195 * \param[in] val_marker - Name of the marker to test.
7196 * \return True if the marker is a moving boundary <i>val_marker</i>.
7197 */
7198 inline bool GetMarker_Moving_Bool(const string& val_marker) const {
7199 return GetMarker_Moving(val_marker) < nMarker_Moving;
7200 }
7201
7202 /*!
7203 * \brief Get the internal index for a DEFORM_MESH boundary <i>val_marker</i>.
7204 * \return Internal index for a DEFORM_MESH boundary <i>val_marker</i>.
7205 */
7206 unsigned short GetMarker_Deform_Mesh(const string& val_marker) const;
7207
7208 /*!
7209 * \brief Get the internal index for a DEFORM_MESH_SYM_PLANE boundary <i>val_marker</i>.
7210 * \return Internal index for a DEFORM_MESH_SYM_PLANE boundary <i>val_marker</i>.
7211 */
7212 unsigned short GetMarker_Deform_Mesh_Sym_Plane(const string& val_marker) const;
7213
7214 /*!
7215 * \brief Get the internal index for a DEFORM_MESH_SYM_PLANE boundary <i>val_marker</i>.
7216 * \return Internal index for a DEFORM_MESH_SYM_PLANE boundary <i>val_marker</i>.
7217 */
7218 unsigned short GetMarker_Deform_Mesh_Internal(const string& val_marker) const;
7219
7220 /*!
7221 * \brief Get a bool for whether the marker is deformed. <i>val_marker</i>.
7222 * \param[in] val_marker - Name of the marker to test.
7223 * \return True if the marker is a deforming boundary <i>val_marker</i>.
7224 */
7225 inline bool GetMarker_Deform_Mesh_Bool(const string& val_marker) const {
7226 return GetMarker_Deform_Mesh(val_marker) < nMarker_Deform_Mesh ||
7227 GetMarker_Deform_Mesh_Sym_Plane(val_marker) < nMarker_Deform_Mesh_Sym_Plane;
7228 }
7229
7230 /*!
7231 * \brief Get the internal index for a Fluid_Load boundary <i>val_marker</i>.
7232 * \return Internal index for a Fluid_Load boundary <i>val_marker</i>.
7233 */
7234 unsigned short GetMarker_Fluid_Load(const string& val_marker) const;
7235
7236 /*!
7237 * \brief Get the internal index for a gradient boundary condition <i>val_marker</i>.
7238 * \return Internal index for a gradient boundary condition <i>val_marker</i>.
7239 */
7240 unsigned short GetMarker_SobolevBC(const string& val_marker) const;
7241
7242 /*!
7243 * \brief Get the name of the surface defined in the geometry file.
7244 * \param[in] val_marker - Value of the marker in which we are interested.
7245 * \return Name that is in the geometry file for the surface that
7246 * has the marker <i>val_marker</i>.
7247 */
7248 string GetMarker_Moving_TagBound(unsigned short val_marker) const { return Marker_Moving[val_marker]; }
7249
7250 /*!
7251 * \brief Get the name of the DEFORM_MESH boundary defined in the geometry file.
7252 * \param[in] val_marker - Value of the marker in which we are interested.
7253 * \return Name that is in the geometry file for the surface that
7254 * has the marker <i>val_marker</i>.
7255 */
7256 string GetMarker_Deform_Mesh_TagBound(unsigned short val_marker) const { return Marker_Deform_Mesh[val_marker]; }
7257
7258 /*!
7259 * \brief Get the name of the DEFORM_MESH_SYM_PLANE boundary defined in the geometry file.
7260 * \param[in] val_marker - Value of the marker in which we are interested.
7261 * \return Name that is in the geometry file for the surface that
7262 * has the marker <i>val_marker</i>.
7263 */
7264 string GetMarker_Deform_Mesh_Sym_Plane_TagBound(unsigned short val_marker) const { return Marker_Deform_Mesh_Sym_Plane[val_marker]; }
7265
7266 /*!
7267 * \brief Get the name of the Fluid_Load boundary defined in the geometry file.
7268 * \param[in] val_marker - Value of the marker in which we are interested.
7269 * \return Name that is in the geometry file for the surface that
7270 * has the marker <i>val_marker</i>.
7271 */
7272 string GetMarker_Fluid_Load_TagBound(unsigned short val_marker) const { return Marker_Fluid_Load[val_marker]; }
7273
7274 /*!
7275 * \brief Get the name of the surface defined in the geometry file.
7276 * \param[in] val_marker - Value of the marker in which we are interested.
7277 * \return Name that is in the geometry file for the surface that
7278 * has the marker <i>val_marker</i>.
7279 */
7280 string GetMarker_PyCustom_TagBound(unsigned short val_marker) const { return Marker_PyCustom[val_marker]; }
7281
7282 /*!
7283 * \brief Get the name of the surface defined in the geometry file.
7284 * \param[in] val_marker - Value of the marker in which we are interested.
7285 * \return Name that is in the geometry file for the surface that
7286 * has the marker <i>val_marker</i>.
7287 */
7288 string GetMarker_Analyze_TagBound(unsigned short val_marker) const { return Marker_Analyze[val_marker]; }
7289
7290 /*!
7291 * \brief Get the total temperature at a nacelle boundary.
7292 * \param[in] val_index - Index corresponding to the inlet boundary.
7293 * \return The total temperature.
7294 */
7295 su2double GetExhaust_Temperature_Target(const string& val_index) const;
7296
7297 /*!
7298 * \brief Get the total temperature at an inlet boundary.
7299 * \param[in] val_index - Index corresponding to the inlet boundary.
7300 * \return The total temperature.
7301 */
7302 su2double GetInletTtotal(const string& val_index) const;
7303
7304 /*!
7305 * \brief Get the temperature at a supersonic inlet boundary.
7306 * \param[in] val_index - Index corresponding to the inlet boundary.
7307 * \return The inlet density.
7308 */
7309 su2double GetInlet_Temperature(const string& val_index) const;
7310
7311 /*!
7312 * \brief Get the pressure at a supersonic inlet boundary.
7313 * \param[in] val_index - Index corresponding to the inlet boundary.
7314 * \return The inlet pressure.
7315 */
7316 su2double GetInlet_Pressure(const string& val_index) const;
7317
7318 /*!
7319 * \brief Get the velocity vector at a supersonic inlet boundary.
7320 * \param[in] val_index - Index corresponding to the inlet boundary.
7321 * \return The inlet velocity vector.
7322 */
7323 const su2double* GetInlet_Velocity(const string& val_index) const;
7324
7325 /*!
7326 * \brief Get the mass fraction vector for a NEMO inlet boundary.
7327 * \param[in] val_index - Index corresponding to the inlet boundary.
7328 * \return The inlet velocity vector.
7329 */
7330 const su2double* GetInlet_MassFrac() const { return Inlet_MassFrac; }
7331
7332 /*!
7333 * \brief Get the Tve value for a NEMO inlet boundary.
7334 * \param[in] val_index - Index corresponding to the inlet boundary.
7335 * \return The inlet velocity vector.
7336 */
7337 su2double GetInlet_Temperature_ve() const { return Inlet_Temperature_ve; }
7338
7339 /*!
7340 * \brief Get the total pressure at an inlet boundary.
7341 * \param[in] val_index - Index corresponding to the inlet boundary.
7342 * \return The total pressure.
7343 */
7344 su2double GetInletPtotal(const string& val_index) const;
7345
7346 /*!
7347 * \brief Set the total pressure at an inlet boundary.
7348 * \param[in] val_pressure - Pressure value at the inlet boundary.
7349 * \param[in] val_index - Index corresponding to the inlet boundary.
7350 */
7351 void SetInletPtotal(su2double val_pressure, const string& val_marker);
7352
7353 /*!
7354 * \brief Get the species values at an inlet boundary
7355 * \param[in] val_index - Index corresponding to the inlet boundary.
7356 * \return The inlet species values.
7357 */
7358 const su2double* GetInlet_SpeciesVal(const string& val_index) const;
7359
7360 /*!
7361 * \brief Get the species value at a wall boundary for a specific species
7362 * \param[in] val_marker - Marker tag corresponding to the wall boundary.
7363 * \param[in] iSpecies - Species index.
7364 * \return The wall species value (flux or Dirichlet value).
7365 */
7366 su2double GetWall_SpeciesVal(const string& val_marker, unsigned short iSpecies) const;
7367
7368 /*!
7369 * \brief Get the species boundary condition type at a wall boundary for a specific species
7370 * \param[in] val_marker - Marker tag corresponding to the wall boundary.
7371 * \param[in] iSpecies - Species index.
7372 * \return The wall species type (FLUX or VALUE).
7373 */
7374 WALL_SPECIES_TYPE GetWall_SpeciesType(const string& val_marker, unsigned short iSpecies) const;
7375
7376 /*!
7377 * \brief Get the turbulent properties values at an inlet boundary
7378 * \param[in] val_index - Index corresponding to the inlet boundary.
7379 * \return The inlet turbulent values.
7380 */
7381 const su2double* GetInlet_TurbVal(const string& val_index) const;
7382
7383 /*!
7384 * \brief Get the total pressure at an nacelle boundary.
7385 * \param[in] val_index - Index corresponding to the inlet boundary.
7386 * \return The total pressure.
7387 */
7388 su2double GetExhaust_Pressure_Target(const string& val_index) const;
7389
7390 /*!
7391 * \brief Value of the CFL reduction in turbulence problems.
7392 * \return Value of the CFL reduction in turbulence problems.
7393 */
7394 su2double GetCFLRedCoeff_Turb(void) const { return CFLRedCoeff_Turb; }
7395
7396 /*!
7397 * \brief Value of the CFL reduction in species problems.
7398 * \return Value of the CFL reduction in species problems.
7399 */
7400 su2double GetCFLRedCoeff_Species() const { return CFLRedCoeff_Species; }
7401
7402 /*!
7403 * \brief Get the flow direction unit vector at an inlet boundary.
7404 * \param[in] val_index - Index corresponding to the inlet boundary.
7405 * \return The flow direction vector.
7406 */
7407 const su2double* GetInletFlowDir(const string& val_index) const;
7408
7409 /*!
7410 * \brief Get the back pressure (static) at an outlet boundary.
7411 * \param[in] val_index - Index corresponding to the outlet boundary.
7412 * \return The outlet pressure.
7413 */
7414 su2double GetOutlet_Pressure(const string& val_index) const;
7415
7416 /*!
7417 * \brief Set the back pressure (static) at an outlet boundary.
7418 * \param[in] val_pressure - Pressure value at the outlet boundary.
7419 * \param[in] val_index - Index corresponding to the outlet boundary.
7420 */
7421 void SetOutlet_Pressure(su2double val_pressure, const string& val_marker);
7422
7423 /*!
7424 * \brief Get the var 1 at Riemann boundary.
7425 * \param[in] val_marker - Index corresponding to the Riemann boundary.
7426 * \return The var1
7427 */
7428 su2double GetRiemann_Var1(const string& val_marker) const;
7429
7430 /*!
7431 * \brief Get the var 2 at Riemann boundary.
7432 * \param[in] val_marker - Index corresponding to the Riemann boundary.
7433 * \return The var2
7434 */
7435 su2double GetRiemann_Var2(const string& val_marker) const;
7436
7437 /*!
7438 * \brief Get the Flowdir at Riemann boundary.
7439 * \param[in] val_marker - Index corresponding to the Riemann boundary.
7440 * \return The Flowdir
7441 */
7442 const su2double* GetRiemann_FlowDir(const string& val_marker) const;
7443
7444 /*!
7445 * \brief Get Kind Data of Riemann boundary.
7446 * \param[in] val_marker - Index corresponding to the Riemann boundary.
7447 * \return Kind data
7448 */
7449 unsigned short GetKind_Data_Riemann(const string& val_marker) const;
7450
7451 /*!
7452 * \brief Get the var 1 for the Giels BC.
7453 * \param[in] val_marker - Index corresponding to the Giles BC.
7454 * \return The var1
7455 */
7456 su2double GetGiles_Var1(const string& val_marker) const;
7457
7458 /*!
7459 * \brief Get the var 2 for the Giles boundary.
7460 * \param[in] val_marker - Index corresponding to the Giles BC.
7461 * \return The var2
7462 */
7463 su2double GetGiles_Var2(const string& val_marker) const;
7464
7465 /*!
7466 * \brief Get the Flowdir for the Giles BC.
7467 * \param[in] val_marker - Index corresponding to the Giles BC.
7468 * \return The Flowdir
7469 */
7470 const su2double* GetGiles_FlowDir(const string& val_marker) const;
7471
7472 /*!
7473 * \brief Get Kind Data for the Giles BC.
7474 * \param[in] val_marker - Index corresponding to the Giles BC.
7475 * \return Kind data
7476 */
7477 unsigned short GetKind_Data_Giles(const string& val_marker) const;
7478
7479 /*!
7480 * \brief Set the var 1 for Giles BC.
7481 * \param[in] val_marker - Index corresponding to the Giles BC.
7482 */
7483 void SetGiles_Var1(su2double newVar1, const string& val_marker);
7484
7485 /*!
7486 * \brief Get the relax factor for the average component for the Giles BC.
7487 * \param[in] val_marker - Index corresponding to the Giles BC.
7488 * \return The relax factor for the average component
7489 */
7490 su2double GetGiles_RelaxFactorAverage(const string& val_marker) const;
7491
7492 /*!
7493 * \brief Get the relax factor for the fourier component for the Giles BC.
7494 * \param[in] val_marker - Index corresponding to the Giles BC.
7495 * \return The relax factor for the fourier component
7496 */
7497 su2double GetGiles_RelaxFactorFourier(const string& val_marker) const;
7498
7499 /*!
7500 * \brief Get the outlet pressure imposed as BC for internal flow.
7501 * \return outlet pressure
7502 */
7504
7505 /*!
7506 * \brief Set the outlet pressure imposed as BC for internal flow.
7507 * \param[in] val_temp - New value of the outlet pressure.
7508 */
7509 void SetPressureOut_BC(su2double val_press);
7510
7511 /*!
7512 * \brief Get the inlet velocity or pressure imposed for incompressible flow.
7513 * \return inlet velocity or pressure
7514 */
7515 su2double GetIncInlet_BC() const;
7516
7517 /*!
7518 * \brief Set the inlet velocity or pressure imposed as BC for incompressible flow.
7519 * \param[in] val_in - New value of the inlet velocity or pressure.
7520 */
7521 void SetIncInlet_BC(su2double val_in);
7522
7523 /*!
7524 * \brief Get the inlet temperature imposed as BC for incompressible flow.
7525 * \return inlet temperature
7526 */
7528
7529 /*!
7530 * \brief Set the inlet temperature imposed as BC for incompressible flow.
7531 * \param[in] val_temperature - New value of the inlet temperature.
7532 */
7533 void SetIncTemperature_BC(su2double val_temperature);
7534
7535 /*!
7536 * \brief Get the outlet pressure imposed as BC for incompressible flow.
7537 * \return outlet pressure
7538 */
7540
7541 /*!
7542 * \brief Set the outlet pressure imposed as BC for incompressible flow.
7543 * \param[in] val_pressure - New value of the outlet pressure.
7544 */
7545 void SetIncPressureOut_BC(su2double val_pressure);
7546
7547 /*!
7548 * \brief Get the inlet total pressure imposed as BC for internal flow.
7549 * \return inlet total pressure
7550 */
7552
7553 /*!
7554 * \brief Get the inlet total temperature imposed as BC for internal flow.
7555 * \return inlet total temperature
7556 */
7558
7559 /*!
7560 * \brief Set the inlet total temperature imposed as BC for internal flow.
7561 * \param[in] val_temp - New value of the total temperature.
7562 */
7563 void SetTotalTemperatureIn_BC(su2double val_temp);
7564
7565 /*!
7566 * \brief Get the inlet flow angle imposed as BC for internal flow.
7567 * \return inlet flow angle
7568 */
7570
7571 /*!
7572 * \brief Get the wall temperature (static) at an isothermal boundary.
7573 * \param[in] val_index - Index corresponding to the isothermal boundary.
7574 * \return The wall temperature.
7575 */
7576 su2double GetIsothermal_Temperature(const string& val_index) const;
7577
7578 /*!
7579 * \brief Get the wall heat flux on a constant heat flux boundary.
7580 * \param[in] val_index - Index corresponding to the constant heat flux boundary.
7581 * \return The heat flux.
7582 */
7583 su2double GetWall_HeatFlux(const string& val_index) const;
7584
7585 /*!
7586 * \brief Get the heat transfer coefficient on a heat transfer boundary.
7587 * \param[in] val_index - Index corresponding to the heat transfer boundary.
7588 * \return The heat transfer coefficient.
7589 */
7590 su2double GetWall_HeatTransfer_Coefficient(const string& val_index) const;
7591
7592 /*!
7593 * \brief Get the temperature at inifinty on a heat transfer boundary.
7594 * \param[in] val_index - Index corresponding to the heat transfer boundary.
7595 * \return The temperature at infinity.
7596 */
7597 su2double GetWall_HeatTransfer_Temperature(const string& val_index) const;
7598
7599 /*!
7600 * \brief Get the wall function treatment for the given boundary marker.
7601 * \param[in] val_marker - String of the viscous wall marker.
7602 * \return The type of wall function treatment.
7603 */
7604 WALL_FUNCTIONS GetWallFunction_Treatment(const string& val_marker) const;
7605
7606 /*!
7607 * \brief Get the additional integer info for the wall function treatment
7608 for the given boundary marker.
7609 * \param[in] val_marker - String of the viscous wall marker.
7610 * \return Pointer to the integer info for the given marker.
7611 */
7612 const unsigned short* GetWallFunction_IntInfo(const string& val_marker) const;
7613
7614 /*!
7615 * \brief Get the additional double info for the wall function treatment
7616 for the given boundary marker.
7617 * \param[in] val_marker - String of the viscous wall marker.
7618 * \return Pointer to the double info for the given marker.
7619 */
7620 const su2double* GetWallFunction_DoubleInfo(const string& val_marker) const;
7621
7622 /*!
7623 * \brief Get the type of wall and roughness height on a wall boundary (Heatflux or Isothermal).
7624 * \param[in] val_index - Index corresponding to the boundary.
7625 * \return The wall type and roughness height.
7626 */
7627 pair<WALL_TYPE,su2double> GetWallRoughnessProperties(const string& val_marker) const;
7628
7629 /*!
7630 * \brief Get the target (pressure, massflow, etc) at an engine inflow boundary.
7631 * \param[in] val_index - Index corresponding to the engine inflow boundary.
7632 * \return Target (pressure, massflow, etc) .
7633 */
7634 su2double GetEngineInflow_Target(const string& val_marker) const;
7635
7636 /*!
7637 * \brief Get the fan face Mach number at an engine inflow boundary.
7638 * \param[in] val_marker - Name of the boundary.
7639 * \return The fan face Mach number.
7640 */
7641 su2double GetInflow_Mach(const string& val_marker) const;
7642
7643 /*!
7644 * \brief Get the back pressure (static) at an engine inflow boundary.
7645 * \param[in] val_marker - Name of the boundary.
7646 * \return The engine inflow pressure.
7647 */
7648 su2double GetInflow_Pressure(const string& val_marker) const;
7649
7650 /*!
7651 * \brief Get the mass flow rate at an engine inflow boundary.
7652 * \param[in] val_marker - Name of the boundary.
7653 * \return The engine mass flow rate.
7654 */
7655 su2double GetInflow_MassFlow(const string& val_marker) const;
7656
7657 /*!
7658 * \brief Get the percentage of reverse flow at an engine inflow boundary.
7659 * \param[in] val_marker - Name of the boundary.
7660 * \return The percentage of reverse flow.
7661 */
7662 su2double GetInflow_ReverseMassFlow(const string& val_marker) const;
7663
7664 /*!
7665 * \brief Get the percentage of reverse flow at an engine inflow boundary.
7666 * \param[in] val_index - Index corresponding to the engine inflow boundary.
7667 * \return The percentage of reverse flow.
7668 */
7669 su2double GetInflow_ReverseMassFlow(unsigned short val_marker) const { return Inflow_ReverseMassFlow[val_marker]; }
7670
7671 /*!
7672 * \brief Get the total pressure at an engine inflow boundary.
7673 * \param[in] val_marker - Name of the boundary.
7674 * \return The total pressure.
7675 */
7676 su2double GetInflow_TotalPressure(const string& val_marker) const;
7677
7678 /*!
7679 * \brief Get the temperature (static) at an engine inflow boundary.
7680 * \param[in] val_marker - Name of the boundary.
7681 * \return The engine inflow temperature.
7682 */
7683 su2double GetInflow_Temperature(const string& val_marker) const;
7684
7685 /*!
7686 * \brief Get the total temperature at an engine inflow boundary.
7687 * \param[in] val_marker - Name of the boundary.
7688 * \return The engine inflow total temperature.
7689 */
7690 su2double GetInflow_TotalTemperature(const string& val_marker) const;
7691
7692 /*!
7693 * \brief Get the ram drag at an engine inflow boundary.
7694 * \param[in] val_marker - Name of the boundary.
7695 * \return The engine inflow ram drag.
7696 */
7697 su2double GetInflow_RamDrag(const string& val_marker) const;
7698
7699 /*!
7700 * \brief Get the force balance at an engine inflow boundary.
7701 * \param[in] val_marker - Name of the boundary.
7702 * \return The engine inflow force balance.
7703 */
7704 su2double GetInflow_Force(const string& val_marker) const;
7705
7706 /*!
7707 * \brief Get the power at an engine inflow boundary.
7708 * \param[in] val_marker - Name of the boundary.
7709 * \return The engine inflow power.
7710 */
7711 su2double GetInflow_Power(const string& val_marker) const;
7712
7713 /*!
7714 * \brief Get the back pressure (static) at an engine exhaust boundary.
7715 * \param[in] val_marker - Name of the boundary.
7716 * \return The engine exhaust pressure.
7717 */
7718 su2double GetExhaust_Pressure(const string& val_marker) const;
7719
7720 /*!
7721 * \brief Get the temperature (static) at an engine exhaust boundary.
7722 * \param[in] val_marker - Name of the boundary.
7723 * \return The engine exhaust temperature.
7724 */
7725 su2double GetExhaust_Temperature(const string& val_marker) const;
7726
7727 /*!
7728 * \brief Get the massflow at an engine exhaust boundary.
7729 * \param[in] val_marker - Name of the boundary.
7730 * \return The engine exhaust massflow.
7731 */
7732 su2double GetExhaust_MassFlow(const string& val_marker) const;
7733
7734 /*!
7735 * \brief Get the total pressure at an engine exhaust boundary.
7736 * \param[in] val_marker - Name of the boundary.
7737 * \return The engine exhaust total pressure.
7738 */
7739 su2double GetExhaust_TotalPressure(const string& val_marker) const;
7740
7741 /*!
7742 * \brief Get the total temperature at an engine exhaust boundary.
7743 * \param[in] val_marker - Name of the boundary.
7744 * \return The total temperature.
7745 */
7746 su2double GetExhaust_TotalTemperature(const string& val_marker) const;
7747
7748 /*!
7749 * \brief Get the gross thrust at an engine exhaust boundary.
7750 * \param[in] val_marker - Name of the boundary.
7751 * \return Gross thrust.
7752 */
7753 su2double GetExhaust_GrossThrust(const string& val_marker) const;
7754
7755 /*!
7756 * \brief Get the force balance at an engine exhaust boundary.
7757 * \param[in] val_marker - Name of the boundary.
7758 * \return Force balance.
7759 */
7760 su2double GetExhaust_Force(const string& val_marker) const;
7761
7762 /*!
7763 * \brief Get the power at an engine exhaust boundary.
7764 * \param[in] val_marker - Name of the boundary.
7765 * \return Power.
7766 */
7767 su2double GetExhaust_Power(const string& val_marker) const;
7768
7769 /*!
7770 * \brief Get the back pressure (static) at an outlet boundary.
7771 * \param[in] val_index - Index corresponding to the outlet boundary.
7772 * \return The outlet pressure.
7773 */
7774 void SetInflow_Mach(unsigned short val_marker, su2double val_fanface_mach) { Inflow_Mach[val_marker] = val_fanface_mach; }
7775
7776 /*!
7777 * \brief Set the fan face static pressure at an engine inflow boundary.
7778 * \param[in] val_index - Index corresponding to the engine inflow boundary.
7779 * \param[in] val_fanface_pressure - Fan face static pressure.
7780 */
7781 void SetInflow_Pressure(unsigned short val_marker, su2double val_fanface_pressure) { Inflow_Pressure[val_marker] = val_fanface_pressure; }
7782
7783 /*!
7784 * \brief Set the massflow at an engine inflow boundary.
7785 * \param[in] val_index - Index corresponding to the engine inflow boundary.
7786 * \param[in] val_fanface_massflow - Massflow.
7787 */
7788 void SetInflow_MassFlow(unsigned short val_marker, su2double val_fanface_massflow) { Inflow_MassFlow[val_marker] = val_fanface_massflow; }
7789
7790 /*!
7791 * \brief Set the reverse flow at an engine inflow boundary.
7792 * \param[in] val_index - Index corresponding to the engine inflow boundary.
7793 * \param[in] val_fanface_reversemassflow - reverse flow.
7794 */
7795 void SetInflow_ReverseMassFlow(unsigned short val_marker, su2double val_fanface_reversemassflow) { Inflow_ReverseMassFlow[val_marker] = val_fanface_reversemassflow; }
7796
7797 /*!
7798 * \brief Set the fan face total pressure at an engine inflow boundary.
7799 * \param[in] val_index - Index corresponding to the engine inflow boundary.
7800 * \param[in] val_fanface_totalpressure - Fan face total pressure.
7801 */
7802 void SetInflow_TotalPressure(unsigned short val_marker, su2double val_fanface_totalpressure) { Inflow_TotalPressure[val_marker] = val_fanface_totalpressure; }
7803
7804 /*!
7805 * \brief Set the fan face static temperature at an engine inflow boundary.
7806 * \param[in] val_index - Index corresponding to the engine inflow boundary.
7807 * \param[in] val_fanface_pressure - Fan face static temperature.
7808 */
7809 void SetInflow_Temperature(unsigned short val_marker, su2double val_fanface_temperature) { Inflow_Temperature[val_marker] = val_fanface_temperature; }
7810
7811 /*!
7812 * \brief Set the fan face total temperature at an engine inflow boundary.
7813 * \param[in] val_index - Index corresponding to the engine inflow boundary.
7814 * \param[in] val_fanface_totaltemperature - Fan face total temperature.
7815 */
7816 void SetInflow_TotalTemperature(unsigned short val_marker, su2double val_fanface_totaltemperature) { Inflow_TotalTemperature[val_marker] = val_fanface_totaltemperature; }
7817
7818 /*!
7819 * \brief Set the ram drag temperature at an engine inflow boundary.
7820 * \param[in] val_index - Index corresponding to the engine inflow boundary.
7821 * \param[in] val_fanface_ramdrag - Ram drag value.
7822 */
7823 void SetInflow_RamDrag(unsigned short val_marker, su2double val_fanface_ramdrag) { Inflow_RamDrag[val_marker] = val_fanface_ramdrag; }
7824
7825 /*!
7826 * \brief Set the force balance at an engine inflow boundary.
7827 * \param[in] val_index - Index corresponding to the engine inflow boundary.
7828 * \param[in] val_fanface_force - Fan face force.
7829 */
7830 void SetInflow_Force(unsigned short val_marker, su2double val_fanface_force) { Inflow_Force[val_marker] = val_fanface_force; }
7831
7832 /*!
7833 * \brief Set the power at an engine inflow boundary.
7834 * \param[in] val_index - Index corresponding to the engine inflow boundary.
7835 * \param[in] val_fanface_force - Power.
7836 */
7837 void SetInflow_Power(unsigned short val_marker, su2double val_fanface_power) { Inflow_Power[val_marker] = val_fanface_power; }
7838
7839 /*!
7840 * \brief Set the back pressure (static) at an engine exhaust boundary.
7841 * \param[in] val_index - Index corresponding to the outlet boundary.
7842 * \param[in] val_exhaust_pressure - Exhaust static pressure.
7843 */
7844 void SetExhaust_Pressure(unsigned short val_marker, su2double val_exhaust_pressure) { Exhaust_Pressure[val_marker] = val_exhaust_pressure; }
7845
7846 /*!
7847 * \brief Set the temperature (static) at an engine exhaust boundary.
7848 * \param[in] val_index - Index corresponding to the outlet boundary.
7849 * \param[in] val_exhaust_temp - Exhaust static temperature.
7850 */
7851 void SetExhaust_Temperature(unsigned short val_marker, su2double val_exhaust_temp) { Exhaust_Temperature[val_marker] = val_exhaust_temp; }
7852
7853 /*!
7854 * \brief Set the back pressure (static) at an engine exhaust boundary.
7855 * \param[in] val_index - Index corresponding to the outlet boundary.
7856 * \param[in] val_exhaust_temp - Exhaust static temperature.
7857 */
7858 void SetExhaust_MassFlow(unsigned short val_marker, su2double val_exhaust_massflow) { Exhaust_MassFlow[val_marker] = val_exhaust_massflow; }
7859
7860 /*!
7861 * \brief Set the back pressure (total) at an engine exhaust boundary.
7862 * \param[in] val_index - Index corresponding to the outlet boundary.
7863 * \param[in] val_exhaust_totalpressure - Exhaust total pressure.
7864 */
7865 void SetExhaust_TotalPressure(unsigned short val_marker, su2double val_exhaust_totalpressure) { Exhaust_TotalPressure[val_marker] = val_exhaust_totalpressure; }
7866
7867 /*!
7868 * \brief Set the total temperature at an engine exhaust boundary.
7869 * \param[in] val_index - Index corresponding to the outlet boundary.
7870 * \param[in] val_exhaust_totaltemp - Exhaust total temperature.
7871 */
7872 void SetExhaust_TotalTemperature(unsigned short val_marker, su2double val_exhaust_totaltemp) { Exhaust_TotalTemperature[val_marker] = val_exhaust_totaltemp; }
7873
7874 /*!
7875 * \brief Set the gross thrust at an engine exhaust boundary.
7876 * \param[in] val_index - Index corresponding to the outlet boundary.
7877 * \param[in] val_exhaust_grossthrust - Exhaust gross thrust temperature.
7878 */
7879 void SetExhaust_GrossThrust(unsigned short val_marker, su2double val_exhaust_grossthrust) { Exhaust_GrossThrust[val_marker] = val_exhaust_grossthrust; }
7880
7881 /*!
7882 * \brief Set the force balance at an engine exhaust boundary.
7883 * \param[in] val_index - Index corresponding to the outlet boundary.
7884 * \param[in] val_exhaust_force - Exhaust force balance.
7885 */
7886 void SetExhaust_Force(unsigned short val_marker, su2double val_exhaust_force) { Exhaust_Force[val_marker] = val_exhaust_force; }
7887
7888 /*!
7889 * \brief Set the power at an engine exhaust boundary.
7890 * \param[in] val_index - Index corresponding to the outlet boundary.
7891 * \param[in] val_exhaust_power - Exhaust power.
7892 */
7893 void SetExhaust_Power(unsigned short val_marker, su2double val_exhaust_power) { Exhaust_Power[val_marker] = val_exhaust_power; }
7894
7895 /*!
7896 * \brief Set the back pressure (static) at an outlet boundary.
7897 * \param[in] val_marker - Index corresponding to a particular engine boundary.
7898 * \param[in] val_engine_mach - Exhaust power.
7899 */
7900 void SetEngine_Mach(unsigned short val_marker, su2double val_engine_mach) { Engine_Mach[val_marker] = val_engine_mach; }
7901
7902 /*!
7903 * \brief Set the back pressure (static) at an outlet boundary.
7904 * \param[in] val_marker - Index corresponding to a particular engine boundary.
7905 * \param[in] val_engine_force - Exhaust power.
7906 */
7907 void SetEngine_Force(unsigned short val_marker, su2double val_engine_force) { Engine_Force[val_marker] = val_engine_force; }
7908
7909 /*!
7910 * \brief Get the back pressure (static) at an outlet boundary.
7911 * \param[in] val_marker - Index corresponding to a particular engine boundary.
7912 * \param[in] val_engine_power - Exhaust power.
7913 */
7914 void SetEngine_Power(unsigned short val_marker, su2double val_engine_power) { Engine_Power[val_marker] = val_engine_power; }
7915
7916 /*!
7917 * \brief Get the back pressure (static) at an outlet boundary.
7918 * \param[in] val_marker - Index corresponding to a particular engine boundary.
7919 * \param[in] val_engine_netthrust - Exhaust power.
7920 */
7921 void SetEngine_NetThrust(unsigned short val_marker, su2double val_engine_netthrust) { Engine_NetThrust[val_marker] = val_engine_netthrust; }
7922
7923 /*!
7924 * \brief Get the back pressure (static) at an outlet boundary.
7925 * \param[in] val_marker - Index corresponding to a particular engine boundary.
7926 * \param[in] val_engine_grossthrust - Exhaust power.
7927 */
7928 void SetEngine_GrossThrust(unsigned short val_marker, su2double val_engine_grossthrust) { Engine_GrossThrust[val_marker] = val_engine_grossthrust; }
7929
7930 /*!
7931 * \brief Get the back pressure (static) at an outlet boundary.
7932 * \param[in] val_marker - Index corresponding to a particular engine boundary.
7933 * \param[in] val_engine_area - Exhaust power.
7934 */
7935 void SetEngine_Area(unsigned short val_marker, su2double val_engine_area) { Engine_Area[val_marker] = val_engine_area; }
7936
7937 /*!
7938 * \brief Get the back pressure (static) at an outlet boundary.
7939 * \param[in] val_marker - Index corresponding to a particular engine boundary.
7940 * \return The outlet pressure.
7941 */
7942 su2double GetEngine_Mach(unsigned short val_marker) const { return Engine_Mach[val_marker]; }
7943
7944 /*!
7945 * \brief Get the back pressure (static) at an outlet boundary.
7946 * \param[in] val_marker - Index corresponding to a particular engine boundary.
7947 * \return The outlet pressure.
7948 */
7949 su2double GetEngine_Force(unsigned short val_marker) const { return Engine_Force[val_marker]; }
7950
7951 /*!
7952 * \brief Get the back pressure (static) at an outlet boundary.
7953 * \param[in] val_marker - Index corresponding to a particular engine boundary.
7954 * \return The outlet pressure.
7955 */
7956 su2double GetEngine_Power(unsigned short val_marker) const { return Engine_Power[val_marker]; }
7957
7958 /*!
7959 * \brief Get the back pressure (static) at an outlet boundary.
7960 * \param[in] val_marker - Index corresponding to a particular engine boundary.
7961 * \return The outlet pressure.
7962 */
7963
7964 su2double GetEngine_NetThrust(unsigned short val_marker) const { return Engine_NetThrust[val_marker]; }
7965 /*!
7966 * \brief Get the back pressure (static) at an outlet boundary.
7967 * \param[in] val_marker - Index corresponding to a particular engine boundary.
7968 * \return The outlet pressure.
7969 */
7970
7971 su2double GetEngine_GrossThrust(unsigned short val_marker) const { return Engine_GrossThrust[val_marker]; }
7972
7973 /*!
7974 * \brief Get the back pressure (static) at an outlet boundary.
7975 * \param[in] val_marker - Index corresponding to a particular engine boundary.
7976 * \return The outlet pressure.
7977 */
7978 su2double GetEngine_Area(unsigned short val_marker) const { return Engine_Area[val_marker]; }
7979
7980 /*!
7981 * \brief Get the back pressure (static) at an outlet boundary.
7982 * \param[in] val_index - Index corresponding to the outlet boundary.
7983 * \return The outlet pressure.
7984 */
7985 void SetActDiskInlet_Temperature(unsigned short val_marker, su2double val_actdisk_temp) { ActDiskInlet_Temperature[val_marker] = val_actdisk_temp; }
7986
7987 /*!
7988 * \brief Get the back pressure (static) at an outlet boundary.
7989 * \param[in] val_index - Index corresponding to the outlet boundary.
7990 * \return The outlet pressure.
7991 */
7992 void SetActDiskInlet_TotalTemperature(unsigned short val_marker, su2double val_actdisk_totaltemp) { ActDiskInlet_TotalTemperature[val_marker] = val_actdisk_totaltemp; }
7993
7994 /*!
7995 * \brief Get the back pressure (static) at an outlet boundary.
7996 * \param[in] val_index - Index corresponding to the outlet boundary.
7997 * \return The outlet pressure.
7998 */
7999 su2double GetActDiskInlet_Temperature(const string& val_marker) const;
8000
8001 /*!
8002 * \brief Get the back pressure (static) at an outlet boundary.
8003 * \param[in] val_index - Index corresponding to the outlet boundary.
8004 * \return The outlet pressure.
8005 */
8006 su2double GetActDiskInlet_TotalTemperature(const string& val_marker) const;
8007
8008 /*!
8009 * \brief Get the back pressure (static) at an outlet boundary.
8010 * \param[in] val_index - Index corresponding to the outlet boundary.
8011 * \return The outlet pressure.
8012 */
8013 void SetActDiskOutlet_Temperature(unsigned short val_marker, su2double val_actdisk_temp) { ActDiskOutlet_Temperature[val_marker] = val_actdisk_temp; }
8014
8015 /*!
8016 * \brief Get the back pressure (static) at an outlet boundary.
8017 * \param[in] val_index - Index corresponding to the outlet boundary.
8018 * \return The outlet pressure.
8019 */
8020 void SetActDiskOutlet_TotalTemperature(unsigned short val_marker, su2double val_actdisk_totaltemp) { ActDiskOutlet_TotalTemperature[val_marker] = val_actdisk_totaltemp; }
8021
8022 /*!
8023 * \brief Get the back pressure (static) at an outlet boundary.
8024 * \param[in] val_index - Index corresponding to the outlet boundary.
8025 * \return The outlet pressure.
8026 */
8027 su2double GetActDiskOutlet_Temperature(const string& val_marker) const;
8028
8029 /*!
8030 * \brief Get the back pressure (static) at an outlet boundary.
8031 * \param[in] val_index - Index corresponding to the outlet boundary.
8032 * \return The outlet pressure.
8033 */
8034 su2double GetActDiskOutlet_TotalTemperature(const string& val_marker) const;
8035
8036 /*!
8037 * \brief Get the back pressure (static) at an outlet boundary.
8038 * \param[in] val_index - Index corresponding to the outlet boundary.
8039 * \return The outlet pressure.
8040 */
8041 su2double GetActDiskInlet_MassFlow(const string& val_marker) const;
8042
8043 /*!
8044 * \brief Get the back pressure (static) at an outlet boundary.
8045 * \param[in] val_index - Index corresponding to the outlet boundary.
8046 * \return The outlet pressure.
8047 */
8048 void SetActDiskInlet_MassFlow(unsigned short val_marker, su2double val_actdisk_massflow) { ActDiskInlet_MassFlow[val_marker] = val_actdisk_massflow; }
8049
8050 /*!
8051 * \brief Get the back pressure (static) at an outlet boundary.
8052 * \param[in] val_index - Index corresponding to the outlet boundary.
8053 * \return The outlet pressure.
8054 */
8055 su2double GetActDiskOutlet_MassFlow(const string& val_marker) const;
8056
8057 /*!
8058 * \brief Get the back pressure (static) at an outlet boundary.
8059 * \param[in] val_index - Index corresponding to the outlet boundary.
8060 * \return The outlet pressure.
8061 */
8062 void SetActDiskOutlet_MassFlow(unsigned short val_marker, su2double val_actdisk_massflow) { ActDiskOutlet_MassFlow[val_marker] = val_actdisk_massflow; }
8063
8064 /*!
8065 * \brief Get the back pressure (static) at an outlet boundary.
8066 * \param[in] val_index - Index corresponding to the outlet boundary.
8067 * \return The outlet pressure.
8068 */
8069 su2double GetActDiskInlet_Pressure(const string& val_marker) const;
8070
8071 /*!
8072 * \brief Get the back pressure (static) at an outlet boundary.
8073 * \param[in] val_index - Index corresponding to the outlet boundary.
8074 * \return The outlet pressure.
8075 */
8076 su2double GetActDiskInlet_TotalPressure(const string& val_marker) const;
8077
8078 /*!
8079 * \brief Get the back pressure (static) at an outlet boundary.
8080 * \param[in] val_index - Index corresponding to the outlet boundary.
8081 * \return The outlet pressure.
8082 */
8083 su2double GetActDisk_DeltaPress(unsigned short val_marker) const { return ActDisk_DeltaPress[val_marker]; }
8084
8085 /*!
8086 * \brief Get the back pressure (static) at an outlet boundary.
8087 * \param[in] val_index - Index corresponding to the outlet boundary.
8088 * \return The outlet pressure.
8089 */
8090 su2double GetActDisk_DeltaTemp(unsigned short val_marker) const { return ActDisk_DeltaTemp[val_marker]; }
8091
8092 /*!
8093 * \brief Get the back pressure (static) at an outlet boundary.
8094 * \param[in] val_index - Index corresponding to the outlet boundary.
8095 * \return The outlet pressure.
8096 */
8097 su2double GetActDisk_TotalPressRatio(unsigned short val_marker) const { return ActDisk_TotalPressRatio[val_marker]; }
8098
8099 /*!
8100 * \brief Get the back pressure (static) at an outlet boundary.
8101 * \param[in] val_index - Index corresponding to the outlet boundary.
8102 * \return The outlet pressure.
8103 */
8104 su2double GetActDisk_TotalTempRatio(unsigned short val_marker) const { return ActDisk_TotalTempRatio[val_marker]; }
8105
8106 /*!
8107 * \brief Get the back pressure (static) at an outlet boundary.
8108 * \param[in] val_index - Index corresponding to the outlet boundary.
8109 * \return The outlet pressure.
8110 */
8111 su2double GetActDisk_StaticPressRatio(unsigned short val_marker) const { return ActDisk_StaticPressRatio[val_marker]; }
8112
8113 /*!
8114 * \brief Get the back pressure (static) at an outlet boundary.
8115 * \param[in] val_index - Index corresponding to the outlet boundary.
8116 * \return The outlet pressure.
8117 */
8118 su2double GetActDisk_StaticTempRatio(unsigned short val_marker) const { return ActDisk_StaticTempRatio[val_marker]; }
8119
8120 /*!
8121 * \brief Get the back pressure (static) at an outlet boundary.
8122 * \param[in] val_index - Index corresponding to the outlet boundary.
8123 * \return The outlet pressure.
8124 */
8125 su2double GetActDisk_NetThrust(unsigned short val_marker) const { return ActDisk_NetThrust[val_marker]; }
8126
8127 /*!
8128 * \brief Get the back pressure (static) at an outlet boundary.
8129 * \param[in] val_index - Index corresponding to the outlet boundary.
8130 * \return The outlet pressure.
8131 */
8132 su2double GetActDisk_BCThrust(unsigned short val_marker) const { return ActDisk_BCThrust[val_marker]; }
8133
8134 /*!
8135 * \brief Get the back pressure (static) at an outlet boundary.
8136 * \param[in] val_index - Index corresponding to the outlet boundary.
8137 * \return The outlet pressure.
8138 */
8139 su2double GetActDisk_BCThrust_Old(unsigned short val_marker) const { return ActDisk_BCThrust_Old[val_marker]; }
8140
8141 /*!
8142 * \brief Get the back pressure (static) at an outlet boundary.
8143 * \param[in] val_index - Index corresponding to the outlet boundary.
8144 * \return The outlet pressure.
8145 */
8146 su2double GetActDisk_GrossThrust(unsigned short val_marker) const { return ActDisk_GrossThrust[val_marker]; }
8147
8148 /*!
8149 * \brief Get the back pressure (static) at an outlet boundary.
8150 * \param[in] val_index - Index corresponding to the outlet boundary.
8151 * \return The outlet pressure.
8152 */
8153 su2double GetActDisk_Area(unsigned short val_marker) const { return ActDisk_Area[val_marker]; }
8154
8155 /*!
8156 * \brief Get the back pressure (static) at an outlet boundary.
8157 * \param[in] val_index - Index corresponding to the outlet boundary.
8158 * \return The outlet pressure.
8159 */
8160 su2double GetActDisk_ReverseMassFlow(unsigned short val_marker) const { return ActDisk_ReverseMassFlow[val_marker]; }
8161
8162 /*!
8163 * \brief Get the back pressure (static) at an outlet boundary.
8164 * \param[in] val_index - Index corresponding to the outlet boundary.
8165 * \return The outlet pressure.
8166 */
8167 su2double GetActDiskInlet_RamDrag(const string& val_marker) const;
8168
8169 /*!
8170 * \brief Get the back pressure (static) at an outlet boundary.
8171 * \param[in] val_index - Index corresponding to the outlet boundary.
8172 * \return The outlet pressure.
8173 */
8174 su2double GetActDiskInlet_Force(const string& val_marker) const;
8175
8176 /*!
8177 * \brief Get the back pressure (static) at an outlet boundary.
8178 * \param[in] val_index - Index corresponding to the outlet boundary.
8179 * \return The outlet pressure.
8180 */
8181 su2double GetActDiskInlet_Power(const string& val_marker) const;
8182
8183 /*!
8184 * \brief Get the back pressure (static) at an outlet boundary.
8185 * \param[in] val_index - Index corresponding to the outlet boundary.
8186 * \return The outlet pressure.
8187 */
8188 void SetActDiskInlet_Pressure(unsigned short val_marker, su2double val_actdisk_press) { ActDiskInlet_Pressure[val_marker] = val_actdisk_press; }
8189
8190 /*!
8191 * \brief Get the back pressure (static) at an outlet boundary.
8192 * \param[in] val_index - Index corresponding to the outlet boundary.
8193 * \return The outlet pressure.
8194 */
8195 void SetActDiskInlet_TotalPressure(unsigned short val_marker, su2double val_actdisk_totalpress) { ActDiskInlet_TotalPressure[val_marker] = val_actdisk_totalpress; }
8196
8197 /*!
8198 * \brief Get the back pressure (static) at an outlet boundary.
8199 * \param[in] val_index - Index corresponding to the outlet boundary.
8200 * \return The outlet pressure.
8201 */
8202 void SetActDisk_DeltaPress(unsigned short val_marker, su2double val_actdisk_deltapress) { ActDisk_DeltaPress[val_marker] = val_actdisk_deltapress; }
8203
8204 /*!
8205 * \brief Get the back pressure (static) at an outlet boundary.
8206 * \param[in] val_index - Index corresponding to the outlet boundary.
8207 * \return The outlet pressure.
8208 */
8209 void SetActDisk_Power(unsigned short val_marker, su2double val_actdisk_power) { ActDisk_Power[val_marker] = val_actdisk_power; }
8210
8211 /*!
8212 * \brief Get the back pressure (static) at an outlet boundary.
8213 * \param[in] val_index - Index corresponding to the outlet boundary.
8214 * \return The outlet pressure.
8215 */
8216 void SetActDisk_MassFlow(unsigned short val_marker, su2double val_actdisk_massflow) { ActDisk_MassFlow[val_marker] = val_actdisk_massflow; }
8217
8218 /*!
8219 * \brief Get the back pressure (static) at an outlet boundary.
8220 * \param[in] val_index - Index corresponding to the outlet boundary.
8221 * \return The outlet pressure.
8222 */
8223 void SetActDisk_Mach(unsigned short val_marker, su2double val_actdisk_mach) { ActDisk_Mach[val_marker] = val_actdisk_mach; }
8224
8225 /*!
8226 * \brief Get the back pressure (static) at an outlet boundary.
8227 * \param[in] val_index - Index corresponding to the outlet boundary.
8228 * \return The outlet pressure.
8229 */
8230 void SetActDisk_Force(unsigned short val_marker, su2double val_actdisk_force) { ActDisk_Force[val_marker] = val_actdisk_force; }
8231
8232 /*!
8233 * \brief Get the back pressure (static) at an outlet boundary.
8234 * \param[in] val_index - Index corresponding to the outlet boundary.
8235 * \return The outlet pressure.
8236 */
8237 su2double GetOutlet_MassFlow(const string& val_marker) const;
8238
8239 /*!
8240 * \brief Get the back pressure (static) at an outlet boundary.
8241 * \param[in] val_index - Index corresponding to the outlet boundary.
8242 * \return The outlet pressure.
8243 */
8244 void SetOutlet_MassFlow(unsigned short val_marker, su2double val_massflow) { Outlet_MassFlow[val_marker] = val_massflow; }
8245
8246 /*!
8247 * \brief Get the back pressure (static) at an outlet boundary.
8248 * \param[in] val_index - Index corresponding to the outlet boundary.
8249 * \return The outlet pressure.
8250 */
8251 su2double GetOutlet_Density(const string& val_marker) const;
8252
8253 /*!
8254 * \brief Get the back pressure (static) at an outlet boundary.
8255 * \param[in] val_index - Index corresponding to the outlet boundary.
8256 * \return The outlet pressure.
8257 */
8258 void SetOutlet_Density(unsigned short val_marker, su2double val_density) { Outlet_Density[val_marker] = val_density; }
8259
8260 /*!
8261 * \brief Get the back pressure (static) at an outlet boundary.
8262 * \param[in] val_index - Index corresponding to the outlet boundary.
8263 * \return The outlet pressure.
8264 */
8265 su2double GetOutlet_Area(const string& val_marker) const;
8266
8267 /*!
8268 * \brief Get the back pressure (static) at an outlet boundary.
8269 * \param[in] val_index - Index corresponding to the outlet boundary.
8270 * \return The outlet pressure.
8271 */
8272 void SetOutlet_Area(unsigned short val_marker, su2double val_area) { Outlet_Area[val_marker] = val_area; }
8273
8274 /*!
8275 * \brief Get the back pressure (static) at an outlet boundary.
8276 * \param[in] val_index - Index corresponding to the outlet boundary.
8277 * \return The outlet pressure.
8278 */
8279 void SetSurface_DC60(unsigned short val_marker, su2double val_surface_distortion) { Surface_DC60[val_marker] = val_surface_distortion; }
8280
8281 /*!
8282 * \brief Set the massflow at the surface.
8283 * \param[in] val_marker - Index corresponding to the outlet boundary.
8284 * \param[in] val_surface_massflow - Value of the mass flow.
8285 */
8286 void SetSurface_MassFlow(unsigned short val_marker, su2double val_surface_massflow) { Surface_MassFlow[val_marker] = val_surface_massflow; }
8287
8288 /*!
8289 * \brief Set the mach number at the surface.
8290 * \param[in] val_marker - Index corresponding to the outlet boundary.
8291 * \param[in] val_surface_massflow - Value of the mach number.
8292 */
8293 void SetSurface_Mach(unsigned short val_marker, su2double val_surface_mach) { Surface_Mach[val_marker] = val_surface_mach; }
8294
8295 /*!
8296 * \brief Set the temperature at the surface.
8297 * \param[in] val_marker - Index corresponding to the outlet boundary.
8298 * \param[in] val_surface_massflow - Value of the temperature.
8299 */
8300 void SetSurface_Temperature(unsigned short val_marker, su2double val_surface_temperature) { Surface_Temperature[val_marker] = val_surface_temperature; }
8301
8302 /*!
8303 * \brief Set the pressure at the surface.
8304 * \param[in] val_marker - Index corresponding to the outlet boundary.
8305 * \param[in] val_surface_massflow - Value of the pressure.
8306 */
8307 void SetSurface_Pressure(unsigned short val_marker, su2double val_surface_pressure) { Surface_Pressure[val_marker] = val_surface_pressure; }
8308
8309 /*!
8310 * \brief Set the density at the surface.
8311 * \param[in] val_marker - Index corresponding to the outlet boundary.
8312 * \param[in] val_surface_density - Value of the density.
8313 */
8314 void SetSurface_Density(unsigned short val_marker, su2double val_surface_density) { Surface_Density[val_marker] = val_surface_density; }
8315
8316 /*!
8317 * \brief Set the enthalpy at the surface.
8318 * \param[in] val_marker - Index corresponding to the outlet boundary.
8319 * \param[in] val_surface_density - Value of the density.
8320 */
8321 void SetSurface_Enthalpy(unsigned short val_marker, su2double val_surface_enthalpy) { Surface_Enthalpy[val_marker] = val_surface_enthalpy; }
8322
8323 /*!
8324 * \brief Set the normal velocity at the surface.
8325 * \param[in] val_marker - Index corresponding to the outlet boundary.
8326 * \param[in] val_surface_normalvelocity - Value of the normal velocity.
8327 */
8328 void SetSurface_NormalVelocity(unsigned short val_marker, su2double val_surface_normalvelocity) { Surface_NormalVelocity[val_marker] = val_surface_normalvelocity; }
8329
8330 /*!
8331 * \brief Set the streamwise flow uniformity at the surface.
8332 * \param[in] val_marker - Index corresponding to the outlet boundary.
8333 * \param[in] val_surface_streamwiseuniformity - Value of the streamwise flow uniformity.
8334 */
8335 void SetSurface_Uniformity(unsigned short val_marker, su2double val_surface_streamwiseuniformity) { Surface_Uniformity[val_marker] = val_surface_streamwiseuniformity; }
8336
8337 /*!
8338 * \brief Set the secondary flow strength at the surface.
8339 * \param[in] val_marker - Index corresponding to the outlet boundary.
8340 * \param[in] val_surface_secondarystrength - Value of the secondary flow strength.
8341 */
8342 void SetSurface_SecondaryStrength(unsigned short val_marker, su2double val_surface_secondarystrength) { Surface_SecondaryStrength[val_marker] = val_surface_secondarystrength; }
8343
8344 /*!
8345 * \brief Set the relative secondary flow strength at the surface.
8346 * \param[in] val_marker - Index corresponding to the outlet boundary.
8347 * \param[in] val_surface_secondaryoverstream - Value of the relative seondary flow strength.
8348 */
8349 void SetSurface_SecondOverUniform(unsigned short val_marker, su2double val_surface_secondaryoverstream) { Surface_SecondOverUniform[val_marker] = val_surface_secondaryoverstream; }
8350
8351 /*!
8352 * \brief Set the momentum distortion at the surface.
8353 * \param[in] val_marker - Index corresponding to the outlet boundary.
8354 * \param[in] val_surface_momentumdistortion - Value of the momentum distortion.
8355 */
8356 void SetSurface_MomentumDistortion(unsigned short val_marker, su2double val_surface_momentumdistortion) { Surface_MomentumDistortion[val_marker] = val_surface_momentumdistortion; }
8357
8358 /*!
8359 * \brief Set the total temperature at the surface.
8360 * \param[in] val_marker - Index corresponding to the outlet boundary.
8361 * \param[in] val_surface_totaltemperature - Value of the total temperature.
8362 */
8363 void SetSurface_TotalTemperature(unsigned short val_marker, su2double val_surface_totaltemperature) { Surface_TotalTemperature[val_marker] = val_surface_totaltemperature; }
8364
8365 /*!
8366 * \brief Set the total pressure at the surface.
8367 * \param[in] val_marker - Index corresponding to the outlet boundary.
8368 * \param[in] val_surface_totalpressure - Value of the total pressure.
8369 */
8370 void SetSurface_TotalPressure(unsigned short val_marker, su2double val_surface_totalpressure) { Surface_TotalPressure[val_marker] = val_surface_totalpressure; }
8371
8372 /*!
8373 * \brief Set the pressure drop between two surfaces.
8374 * \param[in] val_marker - Index corresponding to the outlet boundary.
8375 * \param[in] val_surface_pressuredrop - Value of the pressure drop.
8376 */
8377 void SetSurface_PressureDrop(unsigned short val_marker, su2double val_surface_pressuredrop) { Surface_PressureDrop[val_marker] = val_surface_pressuredrop; }
8378
8379 /*!
8380 * \brief Set the average of species_0 at the surface.
8381 * \param[in] val_marker - Index corresponding to boundary.
8382 * \param[in] val_surface_species_0 - Value of avg species_0.
8383 */
8384 void SetSurface_Species_0(unsigned short val_marker, su2double val_surface_species_0) { Surface_Species_0[val_marker] = val_surface_species_0; }
8385
8386 /*!
8387 * \brief Set the species variance at the surface.
8388 * \param[in] val_marker - Index corresponding to boundary.
8389 * \param[in] val_surface_species_variance - Value of the species variance.
8390 */
8391 void SetSurface_Species_Variance(unsigned short val_marker, su2double val_surface_species_variance) { Surface_Species_Variance[val_marker] = val_surface_species_variance; }
8392
8393 /*!
8394 * \brief Get the back pressure (static) at an outlet boundary.
8395 * \param[in] val_index - Index corresponding to the outlet boundary.
8396 * \return The outlet pressure.
8397 */
8398 void SetSurface_IDC(unsigned short val_marker, su2double val_surface_distortion) { Surface_IDC[val_marker] = val_surface_distortion; }
8399
8400 /*!
8401 * \brief Get the back pressure (static) at an outlet boundary.
8402 * \param[in] val_index - Index corresponding to the outlet boundary.
8403 * \return The outlet pressure.
8404 */
8405 void SetSurface_IDC_Mach(unsigned short val_marker, su2double val_surface_distortion) { Surface_IDC_Mach[val_marker] = val_surface_distortion; }
8406
8407 /*!
8408 * \brief Get the back pressure (static) at an outlet boundary.
8409 * \param[in] val_index - Index corresponding to the outlet boundary.
8410 * \return The outlet pressure.
8411 */
8412 void SetSurface_IDR(unsigned short val_marker, su2double val_surface_distortion) { Surface_IDR[val_marker] = val_surface_distortion; }
8413
8414 /*!
8415 * \brief Get the back pressure (static) at an outlet boundary.
8416 * \param[in] val_index - Index corresponding to the outlet boundary.
8417 * \return The outlet pressure.
8418 */
8419 void SetActDisk_DeltaTemp(unsigned short val_marker, su2double val_actdisk_deltatemp) { ActDisk_DeltaTemp[val_marker] = val_actdisk_deltatemp; }
8420
8421 /*!
8422 * \brief Get the back pressure (static) at an outlet boundary.
8423 * \param[in] val_index - Index corresponding to the outlet boundary.
8424 * \return The outlet pressure.
8425 */
8426 void SetActDisk_TotalPressRatio(unsigned short val_marker, su2double val_actdisk_pressratio) { ActDisk_TotalPressRatio[val_marker] = val_actdisk_pressratio; }
8427
8428 /*!
8429 * \brief Get the back pressure (static) at an outlet boundary.
8430 * \param[in] val_index - Index corresponding to the outlet boundary.
8431 * \return The outlet pressure.
8432 */
8433 void SetActDisk_TotalTempRatio(unsigned short val_marker, su2double val_actdisk_tempratio) { ActDisk_TotalTempRatio[val_marker] = val_actdisk_tempratio; }
8434
8435 /*!
8436 * \brief Get the back pressure (static) at an outlet boundary.
8437 * \param[in] val_index - Index corresponding to the outlet boundary.
8438 * \return The outlet pressure.
8439 */
8440 void SetActDisk_StaticPressRatio(unsigned short val_marker, su2double val_actdisk_pressratio) { ActDisk_StaticPressRatio[val_marker] = val_actdisk_pressratio; }
8441
8442 /*!
8443 * \brief Get the back pressure (static) at an outlet boundary.
8444 * \param[in] val_index - Index corresponding to the outlet boundary.
8445 * \return The outlet pressure.
8446 */
8447 void SetActDisk_StaticTempRatio(unsigned short val_marker, su2double val_actdisk_tempratio) { ActDisk_StaticTempRatio[val_marker] = val_actdisk_tempratio; }
8448
8449 /*!
8450 * \brief Get the back pressure (static) at an outlet boundary.
8451 * \param[in] val_index - Index corresponding to the outlet boundary.
8452 * \return The outlet pressure.
8453 */
8454 void SetActDisk_NetThrust(unsigned short val_marker, su2double val_actdisk_netthrust) { ActDisk_NetThrust[val_marker] = val_actdisk_netthrust; }
8455
8456 /*!
8457 * \brief Get the back pressure (static) at an outlet boundary.
8458 * \param[in] val_index - Index corresponding to the outlet boundary.
8459 * \return The outlet pressure.
8460 */
8461 void SetActDisk_BCThrust(const string& val_marker, su2double val_actdisk_bcthrust);
8462
8463 /*!
8464 * \brief Get the back pressure (static) at an outlet boundary.
8465 * \param[in] val_index - Index corresponding to the outlet boundary.
8466 * \return The outlet pressure.
8467 */
8468 void SetActDisk_BCThrust(unsigned short val_marker, su2double val_actdisk_bcthrust) { ActDisk_BCThrust[val_marker] = val_actdisk_bcthrust; }
8469
8470 /*!
8471 * \brief Get the back pressure (static) at an outlet boundary.
8472 * \param[in] val_index - Index corresponding to the outlet boundary.
8473 * \return The outlet pressure.
8474 */
8475 void SetActDisk_BCThrust_Old(const string& val_marker, su2double val_actdisk_bcthrust_old);
8476
8477 /*!
8478 * \brief Get the back pressure (static) at an outlet boundary.
8479 * \param[in] val_index - Index corresponding to the outlet boundary.
8480 * \return The outlet pressure.
8481 */
8482 void SetActDisk_BCThrust_Old(unsigned short val_marker, su2double val_actdisk_bcthrust_old) { ActDisk_BCThrust_Old[val_marker] = val_actdisk_bcthrust_old; }
8483
8484 /*!
8485 * \brief Get the back pressure (static) at an outlet boundary.
8486 * \param[in] val_index - Index corresponding to the outlet boundary.
8487 * \return The outlet pressure.
8488 */
8489 void SetActDisk_GrossThrust(unsigned short val_marker, su2double val_actdisk_grossthrust) { ActDisk_GrossThrust[val_marker] = val_actdisk_grossthrust; }
8490
8491 /*!
8492 * \brief Get the back pressure (static) at an outlet boundary.
8493 * \param[in] val_index - Index corresponding to the outlet boundary.
8494 * \return The outlet pressure.
8495 */
8496 void SetActDisk_Area(unsigned short val_marker, su2double val_actdisk_area) { ActDisk_Area[val_marker] = val_actdisk_area; }
8497
8498 /*!
8499 * \brief Get the back pressure (static) at an outlet boundary.
8500 * \param[in] val_index - Index corresponding to the outlet boundary.
8501 * \return The outlet pressure.
8502 */
8503 void SetActDiskInlet_ReverseMassFlow(unsigned short val_marker, su2double val_actdisk_area) { ActDisk_ReverseMassFlow[val_marker] = val_actdisk_area; }
8504
8505 /*!
8506 * \brief Get the back pressure (static) at an outlet boundary.
8507 * \param[in] val_index - Index corresponding to the outlet boundary.
8508 * \return The outlet pressure.
8509 */
8510 void SetActDiskInlet_RamDrag(unsigned short val_marker, su2double val_actdisk_ramdrag) { ActDiskInlet_RamDrag[val_marker] = val_actdisk_ramdrag; }
8511
8512 /*!
8513 * \brief Get the back pressure (static) at an outlet boundary.
8514 * \param[in] val_index - Index corresponding to the outlet boundary.
8515 * \return The outlet pressure.
8516 */
8517 void SetActDiskInlet_Force(unsigned short val_marker, su2double val_actdisk_force) { ActDiskInlet_Force[val_marker] = val_actdisk_force; }
8518
8519 /*!
8520 * \brief Get the back pressure (static) at an outlet boundary.
8521 * \param[in] val_index - Index corresponding to the outlet boundary.
8522 * \return The outlet pressure.
8523 */
8524 void SetActDiskInlet_Power(unsigned short val_marker, su2double val_actdisk_power) { ActDiskInlet_Power[val_marker] = val_actdisk_power; }
8525
8526 /*!
8527 * \brief Get the back pressure (static) at an outlet boundary.
8528 * \param[in] val_index - Index corresponding to the outlet boundary.
8529 * \return The outlet pressure.
8530 */
8531 su2double GetActDisk_Power(unsigned short val_marker) const { return ActDisk_Power[val_marker]; }
8532
8533 /*!
8534 * \brief Get the back pressure (static) at an outlet boundary.
8535 * \param[in] val_index - Index corresponding to the outlet boundary.
8536 * \return The outlet pressure.
8537 */
8538 su2double GetActDisk_MassFlow(unsigned short val_marker) const { return ActDisk_MassFlow[val_marker]; }
8539
8540 /*!
8541 * \brief Get the back pressure (static) at an outlet boundary.
8542 * \param[in] val_index - Index corresponding to the outlet boundary.
8543 * \return The outlet pressure.
8544 */
8545 su2double GetActDisk_Mach(unsigned short val_marker) const { return ActDisk_Mach[val_marker]; }
8546
8547 /*!
8548 * \brief Get the back pressure (static) at an outlet boundary.
8549 * \param[in] val_index - Index corresponding to the outlet boundary.
8550 * \return The outlet pressure.
8551 */
8552 su2double GetActDisk_Force(unsigned short val_marker) const { return ActDisk_Force[val_marker]; }
8553
8554 /*!
8555 * \brief Get the back pressure (static) at an outlet boundary.
8556 * \param[in] val_index - Index corresponding to the outlet boundary.
8557 * \return The outlet pressure.
8558 */
8559 su2double GetSurface_DC60(unsigned short val_marker) const { return Surface_DC60[val_marker]; }
8560
8561 /*!
8562 * \brief Get the massflow at an outlet boundary.
8563 * \param[in] val_index - Index corresponding to the outlet boundary.
8564 * \return The massflow.
8565 */
8566 su2double GetSurface_MassFlow(unsigned short val_marker) const { return Surface_MassFlow[val_marker]; }
8567
8568 /*!
8569 * \brief Get the mach number at an outlet boundary.
8570 * \param[in] val_index - Index corresponding to the outlet boundary.
8571 * \return The mach number.
8572 */
8573 su2double GetSurface_Mach(unsigned short val_marker) const { return Surface_Mach[val_marker]; }
8574
8575 /*!
8576 * \brief Get the temperature at an outlet boundary.
8577 * \param[in] val_index - Index corresponding to the outlet boundary.
8578 * \return The temperature.
8579 */
8580 su2double GetSurface_Temperature(unsigned short val_marker) const { return Surface_Temperature[val_marker]; }
8581
8582 /*!
8583 * \brief Get the pressure at an outlet boundary.
8584 * \param[in] val_index - Index corresponding to the outlet boundary.
8585 * \return The pressure.
8586 */
8587 su2double GetSurface_Pressure(unsigned short val_marker) const { return Surface_Pressure[val_marker]; }
8588
8589 /*!
8590 * \brief Get the density at an outlet boundary.
8591 * \param[in] val_index - Index corresponding to the outlet boundary.
8592 * \return The density.
8593 */
8594 su2double GetSurface_Density(unsigned short val_marker) const { return Surface_Density[val_marker]; }
8595
8596 /*!
8597 * \brief Get the enthalpy at an outlet boundary.
8598 * \param[in] val_index - Index corresponding to the outlet boundary.
8599 * \return The density.
8600 */
8601 su2double GetSurface_Enthalpy(unsigned short val_marker) const { return Surface_Enthalpy[val_marker]; }
8602
8603 /*!
8604 * \brief Get the normal velocity at an outlet boundary.
8605 * \param[in] val_index - Index corresponding to the outlet boundary.
8606 * \return The normal velocity.
8607 */
8608 su2double GetSurface_NormalVelocity(unsigned short val_marker) const { return Surface_NormalVelocity[val_marker]; }
8609
8610 /*!
8611 * \brief Get the streamwise flow uniformity at the surface.
8612 * \param[in] val_marker - Index corresponding to the outlet boundary.
8613 * \return The streamwise flow uniformity.
8614 */
8615 su2double GetSurface_Uniformity(unsigned short val_marker) const { return Surface_Uniformity[val_marker]; }
8616
8617 /*!
8618 * \brief Get the secondary flow strength at the surface.
8619 * \param[in] val_marker - Index corresponding to the outlet boundary.
8620 * \return The secondary flow strength.
8621 */
8622 su2double GetSurface_SecondaryStrength(unsigned short val_marker) const { return Surface_SecondaryStrength[val_marker]; }
8623
8624 /*!
8625 * \brief Get the relative secondary flow strength at the surface.
8626 * \param[in] val_marker - Index corresponding to the outlet boundary.
8627 * \return The relative seondary flow strength.
8628 */
8629 su2double GetSurface_SecondOverUniform(unsigned short val_marker) const { return Surface_SecondOverUniform[val_marker]; }
8630
8631 /*!
8632 * \brief Get the momentum distortion at the surface.
8633 * \param[in] val_marker - Index corresponding to the outlet boundary.
8634 * \return The momentum distortion.
8635 */
8636 su2double GetSurface_MomentumDistortion(unsigned short val_marker) const { return Surface_MomentumDistortion[val_marker]; }
8637
8638 /*!
8639 * \brief Get the total temperature at an outlet boundary.
8640 * \param[in] val_index - Index corresponding to the outlet boundary.
8641 * \return The total temperature.
8642 */
8643 su2double GetSurface_TotalTemperature(unsigned short val_marker) const { return Surface_TotalTemperature[val_marker]; }
8644
8645 /*!
8646 * \brief Get the total pressure at an outlet boundary.
8647 * \param[in] val_index - Index corresponding to the outlet boundary.
8648 * \return The total pressure.
8649 */
8650 su2double GetSurface_TotalPressure(unsigned short val_marker) const { return Surface_TotalPressure[val_marker]; }
8651
8652 /*!
8653 * \brief Get the pressure drop between two surfaces.
8654 * \param[in] val_index - Index corresponding to the outlet boundary.
8655 * \return The pressure drop.
8656 */
8657 su2double GetSurface_PressureDrop(unsigned short val_marker) const { return Surface_PressureDrop[val_marker]; }
8658
8659 /*!
8660 * \brief Get avg species_0 at a boundary.
8661 * \param[in] val_index - Index corresponding to the boundary.
8662 * \return The avg species_0.
8663 */
8664 su2double GetSurface_Species_0(unsigned short val_marker) const { return Surface_Species_0[val_marker]; }
8665
8666 /*!
8667 * \brief Get the species variance at a boundary.
8668 * \param[in] val_index - Index corresponding to the boundary.
8669 * \return The species variance.
8670 */
8671 su2double GetSurface_Species_Variance(unsigned short val_marker) const { return Surface_Species_Variance[val_marker]; }
8672
8673 /*!
8674 * \brief Get the back pressure (static) at an outlet boundary.
8675 * \param[in] val_index - Index corresponding to the outlet boundary.
8676 * \return The outlet pressure.
8677 */
8678 su2double GetSurface_IDC(unsigned short val_marker) const { return Surface_IDC[val_marker]; }
8679
8680 /*!
8681 * \brief Get the back pressure (static) at an outlet boundary.
8682 * \param[in] val_index - Index corresponding to the outlet boundary.
8683 * \return The outlet pressure.
8684 */
8685 su2double GetSurface_IDC_Mach(unsigned short val_marker) const { return Surface_IDC_Mach[val_marker]; }
8686
8687 /*!
8688 * \brief Get the back pressure (static) at an outlet boundary.
8689 * \param[in] val_index - Index corresponding to the outlet boundary.
8690 * \return The outlet pressure.
8691 */
8692 su2double GetSurface_IDR(unsigned short val_marker) const { return Surface_IDR[val_marker]; }
8693
8694 /*!
8695 * \brief Get the back pressure (static) at an outlet boundary.
8696 * \param[in] val_index - Index corresponding to the outlet boundary.
8697 * \return The outlet pressure.
8698 */
8699 su2double GetActDiskOutlet_Pressure(const string& val_marker) const;
8700
8701 /*!
8702 * \brief Get the back pressure (static) at an outlet boundary.
8703 * \param[in] val_index - Index corresponding to the outlet boundary.
8704 * \return The outlet pressure.
8705 */
8706 su2double GetActDiskOutlet_TotalPressure(const string& val_marker) const;
8707
8708 /*!
8709 * \brief Get the back pressure (static) at an outlet boundary.
8710 * \param[in] val_index - Index corresponding to the outlet boundary.
8711 * \return The outlet pressure.
8712 */
8713 su2double GetActDiskOutlet_GrossThrust(const string& val_marker) const;
8714
8715 /*!
8716 * \brief Get the back pressure (static) at an outlet boundary.
8717 * \param[in] val_index - Index corresponding to the outlet boundary.
8718 * \return The outlet pressure.
8719 */
8720 su2double GetActDiskOutlet_Force(const string& val_marker) const;
8721
8722 /*!
8723 * \brief Get the back pressure (static) at an outlet boundary.
8724 * \param[in] val_index - Index corresponding to the outlet boundary.
8725 * \return The outlet pressure.
8726 */
8727 su2double GetActDiskOutlet_Power(const string& val_marker) const;
8728
8729 /*!
8730 * \brief Get the thrust at the actuator disk outlet boundary.
8731 * \param[in] val_marker - Marker corresponding to the outlet (actuator disk) boundary.
8732 * \return The outlet (actuator disk) thrust.
8733 */
8734 su2double GetActDiskOutlet_Thrust_BEM(string val_marker) const;
8735
8736 /*!
8737 * \brief Get the torque at the actuator disk outlet boundary.
8738 * \param[in] val_marker - Marker corresponding to the outlet boundary.
8739 * \return The outlet (actuator disk) torque.
8740 */
8741 su2double GetActDiskOutlet_Torque_BEM(string val_marker) const;
8742
8743 /*!
8744 * \brief Get the back pressure (static) at an outlet boundary.
8745 * \param[in] val_index - Index corresponding to the outlet boundary.
8746 * \return The outlet pressure.
8747 */
8748 void SetActDiskOutlet_Pressure(unsigned short val_marker, su2double val_actdisk_press) { ActDiskOutlet_Pressure[val_marker] = val_actdisk_press; }
8749
8750 /*!
8751 * \brief Get the back pressure (static) at an outlet boundary.
8752 * \param[in] val_index - Index corresponding to the outlet boundary.
8753 * \return The outlet pressure.
8754 */
8755 void SetActDiskOutlet_TotalPressure(unsigned short val_marker, su2double val_actdisk_totalpress) { ActDiskOutlet_TotalPressure[val_marker] = val_actdisk_totalpress; }
8756
8757 /*!
8758 * \brief Get the back pressure (static) at an outlet boundary.
8759 * \param[in] val_index - Index corresponding to the outlet boundary.
8760 * \return The outlet pressure.
8761 */
8762 void SetActDiskOutlet_GrossThrust(unsigned short val_marker, su2double val_actdisk_grossthrust) { ActDiskOutlet_GrossThrust[val_marker] = val_actdisk_grossthrust; }
8763
8764 /*!
8765 * \brief Get the back pressure (static) at an outlet boundary.
8766 * \param[in] val_index - Index corresponding to the outlet boundary.
8767 * \return The outlet pressure.
8768 */
8769 void SetActDiskOutlet_Force(unsigned short val_marker, su2double val_actdisk_force) { ActDiskOutlet_Force[val_marker] = val_actdisk_force; }
8770
8771 /*!
8772 * \brief Get the back pressure (static) at an outlet boundary.
8773 * \param[in] val_index - Index corresponding to the outlet boundary.
8774 * \return The outlet pressure.
8775 */
8776 void SetActDiskOutlet_Power(unsigned short val_marker, su2double val_actdisk_power) { ActDiskOutlet_Power[val_marker] = val_actdisk_power; }
8777
8778 /*!
8779 * \brief Set the thrust at the outlet (actuator disk) boundary.
8780 * \param[in] val_marker - Marker corresponding to the outlet (actuator disk) boundary.
8781 * \param[in] val_actdisk_thrust_bem - Value of the actuator disk thrust.
8782 */
8783 void SetActDiskOutlet_Thrust_BEM(unsigned short val_marker, su2double val_actdisk_thrust_bem) {
8784 ActDiskOutlet_Thrust_BEM[val_marker] = val_actdisk_thrust_bem;
8785 }
8786
8787 /*!
8788 * \brief Get the back pressure (static) at an outlet boundary.
8789 * \param[in] val_marker - Marker corresponding to the outlet boundary.
8790 * \param[in] val_actdisk_torque_bem - Value of the actuator disk torque.
8791 */
8792 void SetActDiskOutlet_Torque_BEM(unsigned short val_marker, su2double val_actdisk_torque_bem) {
8793 ActDiskOutlet_Torque_BEM[val_marker] = val_actdisk_torque_bem;
8794 }
8795
8796 /*!
8797 * \brief Get the displacement value at an displacement boundary.
8798 * \param[in] val_index - Index corresponding to the displacement boundary.
8799 * \return The displacement value.
8800 */
8801 su2double GetDispl_Value(const string& val_index) const;
8802
8803 /*!
8804 * \brief Get the force value at an load boundary.
8805 * \param[in] val_index - Index corresponding to the load boundary.
8806 * \return The load value.
8807 */
8808 su2double GetLoad_Value(const string& val_index) const;
8809
8810 /*!
8811 * \brief Get the constant value at a damper boundary.
8812 * \param[in] val_index - Index corresponding to the load boundary.
8813 * \return The damper constant.
8814 */
8815 su2double GetDamper_Constant(const string& val_index) const;
8816
8817 /*!
8818 * \brief Get the force value at a load boundary defined in cartesian coordinates.
8819 * \param[in] val_index - Index corresponding to the load boundary.
8820 * \return The load value.
8821 */
8822 su2double GetLoad_Dir_Value(const string& val_index) const;
8823
8824 /*!
8825 * \brief Get the force multiplier at a load boundary in cartesian coordinates.
8826 * \param[in] val_index - Index corresponding to the load boundary.
8827 * \return The load multiplier.
8828 */
8829 su2double GetLoad_Dir_Multiplier(const string& val_index) const;
8830
8831 /*!
8832 * \brief Get the force value at a load boundary defined in cartesian coordinates.
8833 * \param[in] val_index - Index corresponding to the load boundary.
8834 * \return The load value.
8835 */
8836 su2double GetDisp_Dir_Value(const string& val_index) const;
8837
8838 /*!
8839 * \brief Get the force multiplier at a load boundary in cartesian coordinates.
8840 * \param[in] val_index - Index corresponding to the load boundary.
8841 * \return The load multiplier.
8842 */
8843 su2double GetDisp_Dir_Multiplier(const string& val_index) const;
8844
8845 /*!
8846 * \brief Get the force direction at a loaded boundary in cartesian coordinates.
8847 * \param[in] val_index - Index corresponding to the load boundary.
8848 * \return The load direction.
8849 */
8850 const su2double* GetLoad_Dir(const string& val_index) const;
8851
8852 /*!
8853 * \brief Get the force direction at a loaded boundary in cartesian coordinates.
8854 * \param[in] val_index - Index corresponding to the load boundary.
8855 * \return The load direction.
8856 */
8857 const su2double* GetDisp_Dir(const string& val_index) const;
8858
8859 /*!
8860 * \brief Get name of the arbitrary mesh motion input file.
8861 * \return File name of the arbitrary mesh motion input file.
8862 */
8863 string GetDV_Filename(void) const { return DV_Filename; }
8864
8865 /*!
8866 * \brief Get name of the unordered ASCII volume sensitivity file.
8867 * \return File name of the unordered ASCII volume sensitivity file.
8868 */
8869 string GetDV_Unordered_Sens_Filename(void) const { return DV_Unordered_Sens_Filename; }
8870
8871 /*!
8872 * \brief Get name of the unordered ASCII surface sensitivity file.
8873 * \return File name of the unordered ASCII surface sensitivity file.
8874 */
8875 string GetDV_Sens_Filename(void) const { return DV_Sens_Filename; }
8876
8877 /*!
8878 * \brief Set the config options.
8879 */
8880 void SetConfig_Options();
8881
8882 /*!
8883 * \brief Set the config file parsing.
8884 */
8885 void SetConfig_Parsing(char case_filename[MAX_STRING_SIZE]);
8886
8887 /*!
8888 * \brief Set the config file parsing.
8889 */
8890 void SetConfig_Parsing(istream &config_buffer);
8891
8892 /*!
8893 * \brief Set the config file parsing.
8894 */
8895 bool SetRunTime_Parsing(char case_filename[MAX_STRING_SIZE]);
8896
8897 /*!
8898 * \brief Config file postprocessing.
8899 */
8900 void SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_izone, unsigned short val_nDim);
8901
8902 /*!
8903 * \brief Config file markers processing.
8904 */
8905 void SetMarkers(SU2_COMPONENT val_software);
8906
8907 /*!
8908 * \brief Config file output.
8909 */
8910 void SetOutput(SU2_COMPONENT val_software, unsigned short val_izone);
8911
8912 /*!
8913 * \brief Value of Aeroelastic solution coordinate at time n+1.
8914 */
8915 vector<vector<su2double> > GetAeroelastic_np1(unsigned short iMarker) const { return Aeroelastic_np1[iMarker]; }
8916
8917 /*!
8918 * \brief Value of Aeroelastic solution coordinate at time n.
8919 */
8920 vector<vector<su2double> > GetAeroelastic_n(unsigned short iMarker) const { return Aeroelastic_n[iMarker]; }
8921
8922 /*!
8923 * \brief Value of Aeroelastic solution coordinate at time n-1.
8924 */
8925 vector<vector<su2double> > GetAeroelastic_n1(unsigned short iMarker) const { return Aeroelastic_n1[iMarker]; }
8926
8927 /*!
8928 * \brief Value of Aeroelastic solution coordinate at time n+1.
8929 */
8930 void SetAeroelastic_np1(unsigned short iMarker, vector<vector<su2double> > solution) { Aeroelastic_np1[iMarker] = solution;}
8931
8932 /*!
8933 * \brief Value of Aeroelastic solution coordinate at time n from time n+1.
8934 */
8935 void SetAeroelastic_n(void) { Aeroelastic_n = Aeroelastic_np1; }
8936
8937 /*!
8938 * \brief Value of Aeroelastic solution coordinate at time n-1 from time n.
8939 */
8940 void SetAeroelastic_n1(void) { Aeroelastic_n1 = Aeroelastic_n; }
8941
8942 /*!
8943 * \brief Aeroelastic Flutter Speed Index.
8944 */
8945 su2double GetAeroelastic_Flutter_Speed_Index(void) const { return FlutterSpeedIndex; }
8946
8947 /*!
8948 * \brief Uncoupled Aeroelastic Frequency Plunge.
8949 */
8950 su2double GetAeroelastic_Frequency_Plunge(void) const { return PlungeNaturalFrequency; }
8951
8952 /*!
8953 * \brief Uncoupled Aeroelastic Frequency Pitch.
8954 */
8955 su2double GetAeroelastic_Frequency_Pitch(void) const { return PitchNaturalFrequency; }
8956
8957 /*!
8958 * \brief Aeroelastic Airfoil Mass Ratio.
8959 */
8960 su2double GetAeroelastic_Airfoil_Mass_Ratio(void) const { return AirfoilMassRatio; }
8961
8962 /*!
8963 * \brief Aeroelastic center of gravity location.
8964 */
8965 su2double GetAeroelastic_CG_Location(void) const { return CG_Location; }
8966
8967 /*!
8968 * \brief Aeroelastic radius of gyration squared.
8969 */
8970 su2double GetAeroelastic_Radius_Gyration_Squared(void) const { return RadiusGyrationSquared; }
8971
8972 /*!
8973 * \brief Aeroelastic solve every x inner iteration.
8974 */
8975 unsigned short GetAeroelasticIter(void) const { return AeroelasticIter; }
8976
8977 /*!
8978 * \brief Value of plunging coordinate.
8979 * \param[in] val_marker - the marker we are monitoring.
8980 * \return Value of plunging coordinate.
8981 */
8982 su2double GetAeroelastic_plunge(unsigned short val_marker) const { return Aeroelastic_plunge[val_marker]; }
8983
8984 /*!
8985 * \brief Value of pitching coordinate.
8986 * \param[in] val_marker - the marker we are monitoring.
8987 * \return Value of pitching coordinate.
8988 */
8989 su2double GetAeroelastic_pitch(unsigned short val_marker) const { return Aeroelastic_pitch[val_marker]; }
8990
8991 /*!
8992 * \brief Value of plunging coordinate.
8993 * \param[in] val_marker - the marker we are monitoring.
8994 * \param[in] val - value of plunging coordinate.
8995 */
8996 void SetAeroelastic_plunge(unsigned short val_marker, su2double val) { Aeroelastic_plunge[val_marker] = val; }
8997
8998 /*!
8999 * \brief Value of pitching coordinate.
9000 * \param[in] val_marker - the marker we are monitoring.
9001 * \param[in] val - value of pitching coordinate.
9002 */
9003 void SetAeroelastic_pitch(unsigned short val_marker, su2double val) { Aeroelastic_pitch[val_marker] = val; }
9004
9005 /*!
9006 * \brief Get information about the aeroelastic simulation.
9007 * \return <code>TRUE</code> if it is an aeroelastic case; otherwise <code>FALSE</code>.
9008 */
9009 bool GetAeroelastic_Simulation(void) const { return Aeroelastic_Simulation; }
9010
9011 /*!
9012 * \brief Get information about the wind gust.
9013 * \return <code>TRUE</code> if there is a wind gust; otherwise <code>FALSE</code>.
9014 */
9015 bool GetWind_Gust(void) const { return Wind_Gust; }
9016
9017 /*!
9018 * \brief Get the type of gust to simulate.
9019 * \return type of gust to use for the simulation.
9020 */
9021 unsigned short GetGust_Type(void) const { return Gust_Type; }
9022
9023 /*!
9024 * \brief Get the gust direction.
9025 * \return the gust direction.
9026 */
9027 unsigned short GetGust_Dir(void) const { return Gust_Dir; }
9028
9029 /*!
9030 * \brief Value of the gust wavelength.
9031 */
9032 su2double GetGust_WaveLength(void) const { return Gust_WaveLength; }
9033
9034 /*!
9035 * \brief Value of the number of gust periods.
9036 */
9037 su2double GetGust_Periods(void) const { return Gust_Periods; }
9038
9039 /*!
9040 * \brief Value of the gust amplitude.
9041 */
9042 su2double GetGust_Ampl(void) const { return Gust_Ampl; }
9043
9044 /*!
9045 * \brief Value of the time at which to begin the gust.
9046 */
9047 su2double GetGust_Begin_Time(void) const { return Gust_Begin_Time; }
9048
9049 /*!
9050 * \brief Value of the location ath which the gust begins.
9051 */
9052 su2double GetGust_Begin_Loc(void) const { return Gust_Begin_Loc; }
9053
9054 /*!
9055 * \brief Get whether fixed values for turbulence quantities are applied.
9056 * \return <code>TRUE</code> if fixed values are applied; otherwise <code>FALSE</code>.
9057 */
9058 bool GetTurb_Fixed_Values(void) const { return Turb_Fixed_Values; }
9059
9060 /*!
9061 * \brief Get shift of the upstream half-plane where fixed values for turbulence quantities are applied.
9062 * \details This half-plane is given by the condition that the dot product between the
9063 * coordinate vector and the normalized far-field velocity vector is less than what this
9064 * function returns.
9065 */
9066 su2double GetTurb_Fixed_Values_MaxScalarProd(void) const { return Turb_Fixed_Values_MaxScalarProd; }
9067
9068 /*!
9069 * \brief Get the number of iterations to evaluate the parametric coordinates.
9070 * \return Number of iterations to evaluate the parametric coordinates.
9071 */
9072 unsigned short GetnFFD_Iter(void) const { return nFFD_Iter; }
9073
9074 /*!
9075 * \brief Get the tolerance of the point inversion algorithm.
9076 * \return Tolerance of the point inversion algorithm.
9077 */
9078 su2double GetFFD_Tol(void) const { return FFD_Tol; }
9079
9080 /*!
9081 * \brief Get information about whether to do a check on self-intersections within
9082 the FFD box based on value on the Jacobian determinant.
9083 * \param[out] FFD_IntPrev: <code>TRUE</code> if FFD intersection prevention is active; otherwise <code>FALSE</code>.
9084 * \param[out] FFD_IntPrev_MaxIter: Maximum number of iterations in the intersection prevention procedure.
9085 * \param[out] FFD_IntPrev_MaxDepth: Maximum recursion depth in the intersection prevention procedure.
9086 */
9087 tuple<bool, unsigned short, unsigned short> GetFFD_IntPrev(void) const {
9088 return make_tuple(FFD_IntPrev, FFD_IntPrev_MaxIter, FFD_IntPrev_MaxDepth);
9089 }
9090
9091 /*!
9092 * \brief Get information about whether to do a check on convexity of the mesh elements.
9093 * \param[out] ConvexityCheck: <code>TRUE</code> if convexity check is active; otherwise <code>FALSE</code>.
9094 * \param[out] ConvexityCheck_MaxIter: Maximum number of iterations in the convexity check.
9095 * \param[out] ConvexityCheck_MaxDepth: Maximum recursion depth in the convexity check.
9096 */
9097 tuple<bool, unsigned short, unsigned short> GetConvexityCheck(void) const {
9098 return make_tuple(ConvexityCheck, ConvexityCheck_MaxIter, ConvexityCheck_MaxDepth);
9099 }
9100
9101 /*!
9102 * \brief Get the scale factor for the line search.
9103 * \return Scale factor for the line search.
9104 */
9105 su2double GetOpt_RelaxFactor(void) const { return Opt_RelaxFactor; }
9106
9107 /*!
9108 * \brief Get the bound for the line search.
9109 * \return Bound for the line search.
9110 */
9111 su2double GetOpt_LineSearch_Bound(void) const { return Opt_LineSearch_Bound; }
9112
9113 /*!
9114 * \brief Set the scale factor for the line search.
9115 * \param[in] val_scale - scale of the deformation.
9116 */
9117 void SetOpt_RelaxFactor(su2double val_scale) { Opt_RelaxFactor = val_scale; }
9118
9119 /*!
9120 * \brief Get the node number of the CV to visualize.
9121 * \return Node number of the CV to visualize.
9122 */
9123 long GetVisualize_CV(void) const { return Visualize_CV; }
9124
9125 /*!
9126 * \brief Get information about whether to use fixed CL mode.
9127 * \return <code>TRUE</code> if fixed CL mode is active; otherwise <code>FALSE</code>.
9128 */
9129 bool GetFixed_CL_Mode(void) const { return Fixed_CL_Mode; }
9130
9131 /*!
9132 * \brief Get information about whether to use fixed CL mode.
9133 * \return <code>TRUE</code> if fixed CL mode is active; otherwise <code>FALSE</code>.
9134 */
9135 bool GetEval_dOF_dCX(void) const { return Eval_dOF_dCX; }
9136
9137 /*!
9138 * \brief Get information about whether to use fixed CL mode.
9139 * \return <code>TRUE</code> if fixed CL mode is active; otherwise <code>FALSE</code>.
9140 */
9141 bool GetDiscard_InFiles(void) const { return Discard_InFiles; }
9142
9143 /*!
9144 * \brief Get the value specified for the target CL.
9145 * \return Value of the target CL.
9146 */
9147 su2double GetTarget_CL(void) const { return Target_CL; }
9148
9149 /*!
9150 * \brief Get the value for the lift curve slope for fixed CL mode.
9151 * \return Lift curve slope for fixed CL mode.
9152 */
9153 su2double GetdCL_dAlpha(void) const { return dCL_dAlpha; }
9154
9155 /*!
9156 * \brief Number of iterations to evaluate dCL_dAlpha.
9157 * \return Number of iterations.
9158 */
9159 unsigned long GetIter_dCL_dAlpha(void) const { return Iter_dCL_dAlpha; }
9160
9161 /*!
9162 * \brief Get the value of iterations to re-evaluate the angle of attack.
9163 * \return Number of iterations.
9164 */
9165 unsigned long GetIter_Fixed_NetThrust(void) const { return Iter_Fixed_NetThrust; }
9166
9167 /*!
9168 * \brief Get the value of NetThrust_dBCThrust.
9169 * \return Value NetThrust_dBCThrust.
9170 */
9171 su2double GetdNetThrust_dBCThrust(void) const { return dNetThrust_dBCThrust; }
9172
9173 /*!
9174 * \brief Get the value of iterations to re-evaluate the angle of attack.
9175 * \return Number of iterations.
9176 */
9177 unsigned long GetUpdate_BCThrust(void) const { return Update_BCThrust; }
9178
9179 /*!
9180 * \brief Set the value of the boolean for updating AoA in fixed lift mode.
9181 * \param[in] val_update - the bool for whether to update the AoA.
9182 */
9183 void SetUpdate_BCThrust_Bool(bool val_update) { Update_BCThrust_Bool = val_update; }
9184
9185 /*!
9186 * \brief Set the value of the boolean for updating AoA in fixed lift mode.
9187 * \param[in] val_update - the bool for whether to update the AoA.
9188 */
9189 void SetUpdate_AoA(bool val_update) { Update_AoA = val_update; }
9190
9191 /*!
9192 * \brief Get information about whether to update the AoA for fixed lift mode.
9193 * \return <code>TRUE</code> if we should update the AoA for fixed lift mode; otherwise <code>FALSE</code>.
9194 */
9195 bool GetUpdate_BCThrust_Bool(void) const { return Update_BCThrust_Bool; }
9196
9197 /*!
9198 * \brief Get information about whether to update the AoA for fixed lift mode.
9199 * \return <code>TRUE</code> if we should update the AoA for fixed lift mode; otherwise <code>FALSE</code>.
9200 */
9201 bool GetUpdate_AoA(void) const { return Update_AoA; }
9202
9203 /*!
9204 * \brief Get the maximum number of iterations between AoA updates for fixed C_L mode
9205 * \return Number of maximum iterations between AoA updates
9206 */
9207 unsigned long GetUpdate_AoA_Iter_Limit(void) const { return Update_AoA_Iter_Limit; }
9208
9209 /*!
9210 * \brief Get whether at the end of finite differencing (Fixed CL mode)
9211 * \return boolean indicating end of finite differencing mode (Fixed CL mode)
9212 */
9213 bool GetFinite_Difference_Mode(void) const { return Finite_Difference_Mode; }
9214
9215 /*!
9216 * \brief Set whether at the end of finite differencing (Fixed CL mode)
9217 */
9218 void SetFinite_Difference_Mode(bool val_fd_mode) { Finite_Difference_Mode = val_fd_mode; }
9219
9220 /*!
9221 * \brief Set the current number of non-physical nodes in the solution.
9222 * \param[in] val_nonphys_points - current number of non-physical points.
9223 */
9224 void SetNonphysical_Points(unsigned long val_nonphys_points) { Nonphys_Points = val_nonphys_points; }
9225
9226 /*!
9227 * \brief Get the current number of non-physical nodes in the solution.
9228 * \return Current number of non-physical points.
9229 */
9230 unsigned long GetNonphysical_Points(void) const { return Nonphys_Points; }
9231
9232 /*!
9233 * \brief Set the current number of non-physical reconstructions for 2nd-order upwinding.
9234 * \param[in] val_nonphys_reconstr - current number of non-physical reconstructions for 2nd-order upwinding.
9235 */
9236 void SetNonphysical_Reconstr(unsigned long val_nonphys_reconstr) { Nonphys_Reconstr = val_nonphys_reconstr; }
9237
9238 /*!
9239 * \brief Get the current number of non-physical reconstructions for 2nd-order upwinding.
9240 * \return Current number of non-physical reconstructions for 2nd-order upwinding.
9241 */
9242 unsigned long GetNonphysical_Reconstr(void) const { return Nonphys_Reconstr; }
9243
9244 /*!
9245 * \brief Start the timer for profiling subroutines.
9246 * \param[in] val_start_time - the value of the start time.
9247 */
9248 void GEMM_Tick(double *val_start_time) const;
9249
9250 /*!
9251 * \brief Stop the timer for the GEMM profiling and store results.
9252 * \param[in] val_start_time - The value of the start time.
9253 * \param[in] M, N, K - Matrix size of the GEMM call.
9254 */
9255 void GEMM_Tock(double val_start_time, int M, int N, int K) const;
9256
9257 /*!
9258 * \brief Write a CSV file containing the results of the profiling.
9259 */
9260 void GEMMProfilingCSV(void);
9261
9262 /*!
9263 * \brief Set freestream turbonormal for initializing solution.
9264 */
9265 void SetFreeStreamTurboNormal(const su2double* turboNormal);
9266
9267 /*!
9268 * \brief Set freestream turbonormal for initializing solution.
9269 */
9270 const su2double* GetFreeStreamTurboNormal(void) const { return FreeStreamTurboNormal; }
9271
9272 /*!
9273 * \brief Set multizone properties.
9274 */
9275 void SetMultizone(const CConfig *driver_config, const CConfig* const* config_container);
9276
9277 /*!
9278 * \brief Get the verbosity level of the console output.
9279 * \return Verbosity level for the console output.
9280 */
9281 unsigned short GetConsole_Output_Verb(void) const { return Console_Output_Verb; }
9282
9283 /*!
9284 * \brief Get the kind of marker analyze marker (area-averaged, mass flux averaged, etc).
9285 * \return Kind of average.
9286 */
9287 unsigned short GetKind_Average(void) const { return Kind_Average; }
9288
9289 /*!
9290 * \brief Get the direct differentation method.
9291 * \return direct differentiation method.
9292 */
9293 unsigned short GetDirectDiff() const { return DirectDiff;}
9294
9295 /*!
9296 * \brief Get the indicator whether we are solving an discrete adjoint problem.
9297 * \return the discrete adjoint indicator.
9298 */
9299 bool GetDiscrete_Adjoint(void) const { return DiscreteAdjoint; }
9300
9301 /*!
9302 * \brief Get the indicator whether a debug run for the discrete adjoint solver will be started.
9303 * \return the discrete adjoint debug indicator.
9304 */
9305 bool GetDiscrete_Adjoint_Debug(void) const { return DiscreteAdjointDebug; }
9306
9307 /*!
9308 * \brief Get the number of subiterations while a ramp is applied.
9309 * \return Number of FSI subiters.
9310 */
9311 unsigned short GetnIterFSI_Ramp(void) const { return nIterFSI_Ramp; }
9312
9313 /*!
9314 * \brief Get Aitken's relaxation parameter for static relaxation cases.
9315 * \return Aitken's relaxation parameters.
9316 */
9317 su2double GetAitkenStatRelax(void) const { return AitkenStatRelax; }
9318
9319 /*!
9320 * \brief Get Aitken's maximum relaxation parameter for dynamic relaxation cases and first iteration.
9321 * \return Aitken's relaxation parameters.
9322 */
9323 su2double GetAitkenDynMaxInit(void) const { return AitkenDynMaxInit; }
9324
9325 /*!
9326 * \brief Get Aitken's maximum relaxation parameter for dynamic relaxation cases and first iteration.
9327 * \return Aitken's relaxation parameters.
9328 */
9329 su2double GetAitkenDynMinInit(void) const { return AitkenDynMinInit; }
9330
9331 /*!
9332 * \brief Decide whether to apply centrifugal forces to the model.
9333 */
9334 bool GetCentrifugalForce(void) const { return CentrifugalForce; }
9335
9336 /*!
9337 * \brief Identifies if the mesh is matching or not (temporary, while implementing interpolation procedures).
9338 * \return <code>TRUE</code> if the mesh is matching, <code>FALSE</code> otherwise.
9339 */
9340 bool GetPseudoStatic(void) const { return PseudoStatic; }
9341
9342 /*!
9343 * \brief Identifies if we want to restart from a steady or an unsteady solution.
9344 * \return <code>TRUE</code> if we restart from steady state solution, <code>FALSE</code> otherwise.
9345 */
9346 bool GetSteadyRestart(void) const { return SteadyRestart; }
9347
9348 /*!
9349 * \brief Get the current instance.
9350 * \return Current instance identifier.
9351 */
9352 unsigned short GetiInst(void) const { return iInst; }
9353
9354 /*!
9355 * \brief Set the current instance.
9356 * \param[in] iInst - current instance identifier.
9357 */
9358 void SetiInst(unsigned short val_iInst) { iInst = val_iInst; }
9359
9360 /*!
9361 * \brief Get Newmark alpha parameter.
9362 * \return Value of the Newmark alpha parameter.
9363 */
9364 su2double GetNewmark_beta(void) const { return Newmark_beta; }
9365
9366 /*!
9367 * \brief Get Newmark delta parameter.
9368 * \return Value of the Newmark delta parameter.
9369 */
9370 su2double GetNewmark_gamma(void) const { return Newmark_gamma; }
9371
9372 /*!
9373 * \brief Get the number of integration coefficients provided by the user.
9374 * \return Number of integration coefficients.
9375 */
9376 unsigned short GetnIntCoeffs(void) const { return nIntCoeffs; }
9377
9378 /*!
9379 * \brief Get the number of different materials for the elasticity solver.
9380 * \return Number of different materials.
9381 */
9382 unsigned short GetnElasticityMat(void) const { return nElasticityMod; }
9383
9384 /*!
9385 * \brief Get the integration coefficients for the Generalized Alpha - Newmark integration integration scheme.
9386 * \param[in] val_coeff - Index of the coefficient.
9387 * \return Alpha coefficient for the Runge-Kutta integration scheme.
9388 */
9389 su2double Get_Int_Coeffs(unsigned short val_coeff) const { return Int_Coeffs[val_coeff]; }
9390
9391 /*!
9392 * \brief Get the number of different values for the modulus of the electric field.
9393 * \return Number of different values for the modulus of the electric field.
9394 */
9395 unsigned short GetnElectric_Field(void) const { return nElectric_Field; }
9396
9397 /*!
9398 * \brief Get the dimensionality of the electric field.
9399 * \return Number of integration coefficients.
9400 */
9401 unsigned short GetnDim_Electric_Field(void) const { return nDim_Electric_Field; }
9402
9403 /*!
9404 * \brief Get the values for the electric field modulus.
9405 * \param[in] val_coeff - Index of the coefficient.
9406 * \return Alpha coefficient for the Runge-Kutta integration scheme.
9407 */
9408 su2double Get_Electric_Field_Mod(unsigned short val_coeff) const { return Electric_Field_Mod[val_coeff]; }
9409
9410 /*!
9411 * \brief Set the values for the electric field modulus.
9412 * \param[in] val_coeff - Index of the electric field.
9413 * \param[in] val_el_field - Value of the electric field.
9414 */
9415 void Set_Electric_Field_Mod(unsigned short val_coeff, su2double val_el_field) { Electric_Field_Mod[val_coeff] = val_el_field; }
9416
9417 /*!
9418 * \brief Get the direction of the electric field in reference configuration.
9419 * \param[in] val_coeff - Index of the coefficient.
9420 * \return Alpha coefficient for the Runge-Kutta integration scheme.
9421 */
9422 const su2double* Get_Electric_Field_Dir(void) const { return Electric_Field_Dir; }
9423
9424 /*!
9425 * \brief Check if the user wants to apply the load as a ramp.
9426 * \return <code>TRUE</code> means that the load is to be applied as a ramp.
9427 */
9428 bool GetRamp_Load(void) const { return Ramp_Load; }
9429
9430 /*!
9431 * \brief Get the maximum time of the ramp.
9432 * \return Value of the max time while the load is linearly increased
9433 */
9434 su2double GetRamp_Time(void) const { return Ramp_Time; }
9435
9436 /*!
9437 * \brief Check if the user wants to apply the load as a ramp.
9438 * \return <code>TRUE</code> means that the load is to be applied as a ramp.
9439 */
9440 bool GetRampAndRelease_Load(void) const { return RampAndRelease; }
9441
9442 /*!
9443 * \brief Check if the user wants to apply the load as a ramp.
9444 * \return <code>TRUE</code> means that the load is to be applied as a ramp.
9445 */
9446 bool GetSine_Load(void) const { return Sine_Load; }
9447
9448 /*!
9449 * \brief Get the sine load properties.
9450 * \param[in] val_index - Index corresponding to the load boundary.
9451 * \return The pointer to the sine load values.
9452 */
9453 const su2double* GetLoad_Sine(void) const { return sineload_coeff; }
9454
9455 /*!
9456 * \brief Get the kind of load transfer method we want to use for dynamic problems
9457 * \note This value is obtained from the config file, and it is constant
9458 * during the computation.
9459 * \return Kind of transfer method for multiphysics problems
9460 */
9461 unsigned short GetDynamic_LoadTransfer(void) const { return Dynamic_LoadTransfer; }
9462
9463 /*!
9464 * \brief Get the penalty weight value for the objective function.
9465 * \return Penalty weight value for the reference geometry objective function.
9466 */
9467 su2double GetRefGeom_Penalty(void) const { return RefGeom_Penalty; }
9468
9469 /*!
9470 * \brief Get the penalty weight value for the objective function.
9471 * \return Penalty weight value for the reference geometry objective function.
9472 */
9473 su2double GetTotalDV_Penalty(void) const { return DV_Penalty; }
9474
9475 /*!
9476 * \brief Get the maximum allowed VM stress and KS exponent for the stress penalty objective function.
9477 */
9478 array<su2double,2> GetStressPenaltyParam(void) const { return StressPenaltyParam; }
9479
9480 /*!
9481 * \brief Get whether a predictor is used for FSI applications.
9482 * \return Bool: determines if predictor is used or not
9483 */
9484 bool GetPredictor(void) const { return Predictor; }
9485
9486 /*!
9487 * \brief Get the order of the predictor for FSI applications.
9488 * \return Order of predictor
9489 */
9490 unsigned short GetPredictorOrder(void) const { return Pred_Order; }
9491
9492 /*!
9493 * \brief Get boolean for using Persson's shock capturing method in Euler flow DG-FEM
9494 * \return Boolean for using Persson's shock capturing method in Euler flow DG-FEM
9495 */
9496 bool GetEulerPersson(void) const { return EulerPersson; }
9497
9498 /*!
9499 * \brief Set boolean for using Persson's shock capturing method in Euler flow DG-FEM
9500 * \param[in] val_EulerPersson - Boolean for using Persson's shock capturing method in Euler flow DG-FEM
9501 */
9502 void SetEulerPersson(bool val_EulerPersson) { EulerPersson = val_EulerPersson; }
9503
9504 /*!
9505 * \brief Get whether a relaxation parameter is used for FSI applications.
9506 * \return Bool: determines if relaxation parameter is used or not
9507 */
9508 bool GetRelaxation(void) const { return Relaxation; }
9509
9510 /*!
9511 * \brief Check if the simulation we are running is a FSI simulation
9512 * \return Value of the physical time in an unsteady simulation.
9513 */
9514 bool GetFSI_Simulation(void) const { return FSI_Problem || (nMarker_Fluid_Load > 0); }
9515
9516 /*!
9517 * \brief Set that the simulation we are running is a multizone simulation
9518 * \param[in] MZ_problem - boolean that determines is Multizone_Problem is true/false.
9519 */
9520 void SetMultizone_Problem(bool MZ_problem) { Multizone_Problem = MZ_problem; }
9521
9522 /*!
9523 * \brief Get whether the simulation we are running is a multizone simulation
9524 * \return Multizone_Problem - boolean that determines is Multizone_Problem is true/false.
9525 */
9526 bool GetMultizone_Problem(void) const { return Multizone_Problem; }
9527
9528 /*!
9529 * \brief Get the ID for the FEA region that we want to compute the gradient for using direct differentiation
9530 * \return ID
9531 */
9532 unsigned short GetnID_DV(void) const { return nID_DV; }
9533
9534 /*!
9535 * \brief Check if we want to apply an incremental load to the nonlinear structural simulation
9536 * \return <code>TRUE</code> means that the load is to be applied in increments.
9537 */
9538 bool GetIncrementalLoad(void) const { return IncrementalLoad; }
9539
9540 /*!
9541 * \brief Get the number of increments for an incremental load.
9542 * \return Number of increments.
9543 */
9544 unsigned long GetNumberIncrements(void) const { return IncLoad_Nincrements; }
9545
9546 /*!
9547 * \brief Get the value of the criteria for applying incremental loading.
9548 * \return Value of the log10 of the residual.
9549 */
9550 su2double GetIncLoad_Criteria(unsigned short val_var) const { return inc_crit[val_var]; }
9551
9552 /*!
9553 * \brief Get the relaxation method chosen for the simulation
9554 * \return Value of the relaxation method
9555 */
9556 BGS_RELAXATION GetRelaxation_Method_BGS(void) const { return Kind_BGS_RelaxMethod; }
9557
9558 /*!
9559 * \brief Get the kind of Riemann solver for the DG method (FEM flow solver).
9560 * \note This value is obtained from the config file, and it is constant during the computation.
9561 * \return Kind of Riemann solver for the DG method (FEM flow solver).
9562 */
9563 UPWIND GetRiemann_Solver_FEM(void) const { return Riemann_Solver_FEM; }
9564
9565 /*!
9566 * \brief Get the factor applied during quadrature of straight elements.
9567 * \return The specified straight element quadrature factor.
9568 */
9569 su2double GetQuadrature_Factor_Straight(void) const { return Quadrature_Factor_Straight; }
9570
9571 /*!
9572 * \brief Get the factor applied during quadrature of curved elements.
9573 * \return The specified curved element quadrature factor.
9574 */
9575 su2double GetQuadrature_Factor_Curved(void) const { return Quadrature_Factor_Curved; }
9576
9577 /*!
9578 * \brief Get the factor applied during time quadrature for ADER-DG.
9579 * \return The specified ADER-DG time quadrature factor.
9580 */
9581 su2double GetQuadrature_Factor_Time_ADER_DG(void) const { return Quadrature_Factor_Time_ADER_DG; }
9582
9583 /*!
9584 * \brief Function to make available the multiplication factor theta of the
9585 * symmetrizing terms in the DG discretization of the viscous terms.
9586 * \return The specified factor for the DG discretization.
9587 */
9588 su2double GetTheta_Interior_Penalty_DGFEM(void) const { return Theta_Interior_Penalty_DGFEM; }
9589
9590 /*!
9591 * \brief Function to make available the matrix size in vectorization in
9592 order to optimize the gemm performance.
9593 * \return The matrix size in this direction.
9594 */
9595 unsigned short GetSizeMatMulPadding(void) const { return sizeMatMulPadding; }
9596
9597 /*!
9598 * \brief Function to make available whether or not the entropy must be computed.
9599 * \return The boolean whether or not the entropy must be computed.
9600 */
9601 bool GetCompute_Entropy(void) const { return Compute_Entropy; }
9602
9603 /*!
9604 * \brief Function to make available whether or not the lumped mass matrix
9605 must be used for steady computations.
9606 * \return The boolean whether or not to use the lumped mass matrix.
9607 */
9608 bool GetUse_Lumped_MassMatrix_DGFEM(void) const { return Use_Lumped_MassMatrix_DGFEM; }
9609
9610 /*!
9611 * \brief Function to make available whether or not only the exact Jacobian
9612 * of the spatial discretization must be computed.
9613 * \return The boolean whether or not the Jacobian must be computed.
9614 */
9615 bool GetJacobian_Spatial_Discretization_Only(void) const { return Jacobian_Spatial_Discretization_Only; }
9616
9617 /*!
9618 * \brief Get the interpolation method used for matching between zones.
9619 */
9620 INTERFACE_INTERPOLATOR GetKindInterpolation(void) const { return Kind_Interpolation; }
9621
9622 /*!
9623 * \brief Get option of whether to use conservative interpolation between zones.
9624 */
9625 bool GetConservativeInterpolation(void) const { return ConservativeInterpolation && GetStructuralProblem(); }
9626
9627 /*!
9628 * \brief Get the basis function to use for radial basis function interpolation for FSI.
9629 */
9630 RADIAL_BASIS GetKindRadialBasisFunction(void) const { return Kind_RadialBasisFunction; }
9631
9632 /*!
9633 * \brief Get option of whether to use polynomial terms in Radial Basis Function interpolation.
9634 */
9635 bool GetRadialBasisFunctionPolynomialOption(void) const { return RadialBasisFunction_PolynomialOption; }
9636
9637 /*!
9638 * \brief Get the basis function radius to use for radial basis function interpolation for FSI.
9639 */
9640 su2double GetRadialBasisFunctionParameter(void) const { return RadialBasisFunction_Parameter; }
9641
9642 /*!
9643 * \brief Get the tolerance used to prune the interpolation matrix (making it sparser).
9644 */
9645 su2double GetRadialBasisFunctionPruneTol(void) const { return RadialBasisFunction_PruneTol; }
9646
9647 /*!
9648 * \brief Get the number of donor points to use in Nearest Neighbor interpolation.
9649 */
9650 unsigned short GetNumNearestNeighbors(void) const { return NumNearestNeighbors; }
9651
9652 /*!
9653 * \brief Get the kind of inlet face interpolation function to use.
9654 */
9655 inline INLET_SPANWISE_INTERP GetKindInletInterpolationFunction(void) const { return Kind_InletInterpolationFunction; }
9656
9657 /*!
9658 * \brief Get the kind of inlet face interpolation data type.
9659 */
9660 inline INLET_INTERP_TYPE GetKindInletInterpolationType (void) const { return Kind_Inlet_InterpolationType; }
9661
9662 /*!
9663 * \brief Get whether to print inlet interpolated data or not.
9664 */
9665 bool GetPrintInlet_InterpolatedData(void) const { return PrintInlet_InterpolatedData; }
9666
9667 /*!
9668 * \brief Get the amount of eigenvalue perturbation to be done
9669 * \return Value of the uq_delta_b parameter
9670 */
9671 su2double GetUQ_Delta_B(void) const { return uq_delta_b; }
9672
9673 /*!
9674 * \brief Get the kind of eigenspace perturbation to be done
9675 * \return Value of the eig_val_comp
9676 */
9677 unsigned short GetEig_Val_Comp(void) const { return eig_val_comp; }
9678
9679 /*!
9680 * \brief Get the underelaxation factor
9681 * \return Value of the uq_urlx parameter
9682 */
9683 su2double GetUQ_URLX(void) const { return uq_urlx; }
9684
9685 /*!
9686 * \brief Get information about eigenspace perturbation
9687 * \return <code>TRUE</code> means eigenspace perterturbation will be used
9688 */
9689 bool GetUQ_Permute(void) const { return uq_permute; }
9690
9691 /*!
9692 * \brief Get information about whether to use wall functions.
9693 * \return <code>TRUE</code> if wall functions are on; otherwise <code>FALSE</code>.
9694 */
9695 bool GetWall_Functions(void) const { return Wall_Functions; }
9696
9697 /*!
9698 * \brief Get the AD support.
9699 */
9700 bool GetAD_Mode(void) const { return AD_Mode;}
9701
9702 /*!
9703 * \brief Set the maximum velocity^2 in the domain for the incompressible preconditioner.
9704 * \param[in] Value of the maximum velocity^2 in the domain for the incompressible preconditioner.
9705 */
9706 void SetMax_Vel2(su2double val_max_vel2) { Max_Vel2 = val_max_vel2; }
9707
9708 /*!
9709 * \brief Get the maximum pressure (pmax - pmin) in the domain.
9710 * \return Value of the maximum pressure in the domain.
9711 */
9712 su2double GetRangePressure(int minmax) const { return RangePressure[minmax]; }
9713
9714 /*!
9715 * \brief Set the maximum pressure in the domain.
9716 * \param[in] Value of the maximum pressure in the domain.
9717 */
9718 void SetRangePressure(su2double val_dp_min,su2double val_dp_max) { RangePressure[0] = val_dp_min;RangePressure[1]=val_dp_max; }
9719
9720 /*!
9721 * \brief Get the maximum velocity^2 in the domain for the incompressible preconditioner.
9722 * \return Value of the maximum velocity^2 in the domain for the incompressible preconditioner.
9723 */
9724 su2double GetMax_Vel2(void) const { return Max_Vel2; }
9725
9726 /*!
9727 * \brief Set the sum of the bandwidth for writing binary restarts (to be averaged later).
9728 * \param[in] Sum of the bandwidth for writing binary restarts.
9729 */
9730 void SetRestart_Bandwidth_Agg(su2double val_restart_bandwidth_sum) { Restart_Bandwidth_Agg = val_restart_bandwidth_sum; }
9731
9732 /*!
9733 * \brief Set the sum of the bandwidth for writing binary restarts (to be averaged later).
9734 * \return Sum of the bandwidth for writing binary restarts.
9735 */
9736 su2double GetRestart_Bandwidth_Agg(void) const { return Restart_Bandwidth_Agg; }
9737
9738 /*!
9739 * \brief Get the Kind of Hybrid RANS/LES.
9740 * \return Value of Hybrid RANS/LES method.
9741 */
9742 unsigned short GetKind_HybridRANSLES(void) const { return Kind_HybridRANSLES; }
9743
9744 /*!
9745 * \brief Get if the LES mode must be enforced.
9746 * \return TRUE if LES is enforced.
9747 */
9748 bool GetEnforceLES(void) const { return enforceLES; }
9749
9750 /*!
9751 * \brief Get the LES Filter Width.
9752 * \return Value of LES Filter Width.
9753 */
9754 su2double GetLES_FilterWidth(void) const { return LES_FilterWidth; }
9755
9756 /*!
9757 * \brief Get the Kind of Roe Low Dissipation Scheme for Unsteady flows.
9758 * \return Value of Low dissipation approach.
9759 */
9760 unsigned short GetKind_RoeLowDiss(void) const { return Kind_RoeLowDiss; }
9761
9762 /*!
9763 * \brief Get the Stochastic BackScatter (SBS) model parameters.
9764 * \return SBS model parameters.
9765 */
9766 const CStochBackScatParam& GetSBSParam(void) const { return SBSParam; }
9767
9768 /*!
9769 * \brief Get the DES Constant.
9770 * \return Value of DES constant.
9771 */
9772 su2double GetConst_DES(void) const { return Const_DES; }
9773
9774 /*!
9775 * \brief Get the type of tape that will be checked in a tape debug run.
9776 */
9777 CHECK_TAPE_TYPE GetAD_CheckTapeType(void) const { return AD_CheckTapeType; }
9778
9779 /*!
9780 * \brief Get the type of variables that will be checked for in a tape debug run.
9781 */
9782 CHECK_TAPE_VARIABLES GetAD_CheckTapeVariables(void) const { return AD_CheckTapeVariables; }
9783
9784 /*!
9785 * \brief Get if AD preaccumulation should be performed.
9786 */
9787 bool GetAD_Preaccumulation(void) const { return AD_Preaccumulation;}
9788
9789 /*!
9790 * \brief Get the heat equation.
9791 * \return YES if weakly coupled heat equation for inc. flow is enabled.
9792 */
9793 bool GetWeakly_Coupled_Heat(void) const { return Weakly_Coupled_Heat; }
9794
9795 /*!
9796 * \brief Get the CHT couling method.
9797 * \return Kind of the method.
9798 */
9799 CHT_COUPLING GetKind_CHT_Coupling() const { return Kind_CHT_Coupling; }
9800
9801 /*!
9802 * \brief Check if values passed to the BC_HeatFlux-Routine are already integrated.
9803 * \return YES if the passed values is the integrated heat flux over the marker's surface.
9804 */
9805 bool GetIntegrated_HeatFlux() const { return Integrated_HeatFlux; }
9806
9807 /*!
9808 * \brief Get Compute Average.
9809 * \return YES if start computing averages
9810 */
9811 bool GetCompute_Average(void) const { return Compute_Average;}
9812
9813 /*!
9814 * \brief Get the verification solution.
9815 * \return The verification solution to be used.
9816 */
9817 VERIFICATION_SOLUTION GetVerification_Solution(void) const { return Kind_Verification_Solution;}
9818
9819 /*!
9820 * \brief Get topology optimization.
9821 */
9822 bool GetTopology_Optimization(void) const { return topology_optimization; }
9823
9824 /*!
9825 * \brief Get name of output file for topology optimization derivatives.
9826 */
9827 string GetTopology_Optim_FileName(void) const { return top_optim_output_file; }
9828
9829 /*!
9830 * \brief Get exponent for density-based stiffness penalization.
9831 */
9832 su2double GetSIMP_Exponent(void) const { return simp_exponent; }
9833
9834 /*!
9835 * \brief Get lower bound for density-based stiffness penalization.
9836 */
9837 su2double GetSIMP_MinStiffness(void) const { return simp_minimum_stiffness; }
9838
9839 /*!
9840 * \brief Number of kernels to use in filtering the design density field.
9841 */
9842 unsigned short GetTopology_Optim_Num_Kernels(void) const { return top_optim_nKernel; }
9843
9844 /*!
9845 * \brief Get the i'th kernel to use, its parameter, and the radius.
9846 */
9847 void GetTopology_Optim_Kernel(const unsigned short iKernel, ENUM_FILTER_KERNEL &type,
9848 su2double &param, su2double &radius) const {
9849 type = top_optim_kernels[iKernel];
9850 param = top_optim_kernel_params[iKernel];
9851 radius = top_optim_filter_radius[iKernel];
9852 }
9853
9854 /*!
9855 * \brief Get the maximum "logical radius" (degree of neighborhood) to consider in the neighbor search.
9856 */
9857 unsigned short GetTopology_Search_Limit(void) const { return top_optim_search_lim; }
9858
9859 /*!
9860 * \brief Get the type and parameter for the projection function used in topology optimization
9861 */
9863 type = top_optim_proj_type; param = top_optim_proj_param;
9864 }
9865
9866 /*!
9867 * \brief Get the filenames of the individual config files
9868 * \return File name of the config file for zone "index"
9869 */
9870 string GetConfigFilename(unsigned short index) const { return Config_Filenames[index]; }
9871
9872 /*!
9873 * \brief Get the number of config files
9874 * \return Number of config filenames in CONFIG_LIST
9875 */
9876 unsigned short GetnConfigFiles(void) const { return nConfig_Files; }
9877
9878 /*!
9879 * \brief Check if the multizone problem is solved for time domain.
9880 * \return YES if time-domain is considered.
9881 */
9882 bool GetTime_Domain(void) const { return Time_Domain; }
9883
9884 /*!
9885 * \brief Get the number of inner iterations
9886 * \return Number of inner iterations on each multizone block
9887 */
9888 unsigned long GetnInner_Iter(void) const { return nInnerIter; }
9889
9890 /*!
9891 * \brief Get the number of outer iterations
9892 * \return Number of outer iterations for the multizone problem
9893 */
9894 unsigned long GetnOuter_Iter(void) const { return nOuterIter; }
9895
9896 /*!
9897 * \brief Get the number of time iterations
9898 * \return Number of time steps run
9899 */
9900 unsigned long GetnTime_Iter(void) const { return nTimeIter; }
9901
9902 /*!
9903 * \brief Set the number of time iterations
9904 * \param[in] val_iter - Number of time steps run
9905 */
9906 void SetnTime_Iter(unsigned long val_iter) { nTimeIter = val_iter; }
9907
9908 /*!
9909 * \brief Get the restart iteration
9910 * \return Iteration for the restart of multizone problems
9911 */
9912 unsigned long GetRestart_Iter(void) const { return Restart_Iter; }
9913
9914 /*!
9915 * \brief Get the time step for multizone problems
9916 * \return Time step for multizone problems, it is set on all the zones
9917 */
9918 su2double GetTime_Step(void) const { return Time_Step; }
9919
9920 /*!
9921 * \brief Get the maximum simulation time for time-domain problems
9922 * \return Simulation time for multizone problems, it is set on all the zones
9923 */
9924 su2double GetMax_Time(void) const { return Max_Time; }
9925
9926 /*!
9927 * \brief Get the level of MPI communications to be performed.
9928 * \return Level of MPI communications.
9929 */
9930 unsigned short GetComm_Level(void) const { return Comm_Level; }
9931
9932 /*!
9933 * \brief Check if the mesh read supports multiple zones.
9934 * \return YES if multiple zones can be contained in the mesh file.
9935 */
9936 bool GetMultizone_Mesh(void) const { return Multizone_Mesh; }
9937
9938 /*!
9939 * \brief Check if the mesh read supports multiple zones.
9940 * \return YES if multiple zones can be contained in the mesh file.
9941 */
9942 bool GetMultizone_Residual(void) const { return Multizone_Residual; }
9943
9944 /*!
9945 * \brief Get the Kind of Radiation model applied.
9946 * \return Kind of radiation model used.
9947 */
9948 RADIATION_MODEL GetKind_RadiationModel(void) const { return Kind_Radiation; }
9949
9950 /*!
9951 * \brief Get the Kind of P1 initialization method applied.
9952 * \return Kind of P1 initialization method used.
9953 */
9954 P1_INIT GetKind_P1_Init(void) const { return Kind_P1_Init; }
9955
9956 /*!
9957 * \brief Get the value of the absorption coefficient of the medium.
9958 * \return Value of the absorption coefficient of the medium.
9959 */
9960 su2double GetAbsorption_Coeff(void) const { return Absorption_Coeff; }
9961
9962 /*!
9963 * \brief Get the value of the scattering coefficient of the medium.
9964 * \return Value of the scattering coefficient of the medium.
9965 */
9966 su2double GetScattering_Coeff(void) const { return Scattering_Coeff; }
9967
9968 /*!
9969 * \brief Get the wall emissivity at a boundary.
9970 * \param[in] val_index - Index corresponding to the boundary.
9971 * \return The wall emissivity.
9972 */
9973 su2double GetWall_Emissivity(const string& val_index) const;
9974
9975 /*!
9976 * \brief Get if boundary is strong or weak.
9977 * \param[in] val_index - Index corresponding to the boundary.
9978 * \return true if strong BC.
9979 */
9980 bool GetMarker_StrongBC(const string& val_index) const;
9981
9982 /*!
9983 * \brief Get the value of the CFL condition for radiation solvers.
9984 * \return Value of the CFL condition for radiation solvers.
9985 */
9986 su2double GetCFL_Rad(void) const { return CFL_Rad; }
9987
9988 /*!
9989 * \brief Determines if radiation needs to be incorporated to the analysis.
9990 * \return Radiation boolean
9991 */
9992 bool AddRadiation(void) const { return Radiation; }
9993
9994 /*!
9995 * \brief Check if the convergence history of each individual zone is written to screen
9996 * \return YES if the zone convergence history of each individual zone must be written to screen
9997 */
9998 bool GetWrt_ZoneConv(void) const { return Wrt_ZoneConv; }
9999
10000 /*!
10001 * \brief Check if the convergence history of each individual zone is written to file
10002 * \return YES if the zone convergence history of each individual zone must be written to file
10003 */
10004 bool GetWrt_ZoneHist(void) const { return Wrt_ZoneHist; }
10005
10006 /*!
10007 * \brief Check if the special output is written
10008 * \return YES if the special output is written.
10009 */
10010 bool GetSpecial_Output(void) const { return SpecialOutput; }
10011
10012 /*!
10013 * \brief Check if the forces breakdown file is written
10014 * \return YES if the forces breakdown file is written.
10015 */
10016 bool GetWrt_ForcesBreakdown(void) const { return Wrt_ForcesBreakdown; }
10017
10018 /*!
10019 * \brief Get the number of grid points in the analytic RECTANGLE or BOX grid in the specified coordinate direction.
10020 * \return Number of grid points in the analytic RECTANGLE or BOX grid in the specified coordinate direction.
10021 */
10022 short GetMeshBoxSize(unsigned short val_iDim) const { return Mesh_Box_Size[val_iDim]; }
10023
10024 /*!
10025 * \brief Get the length of the analytic RECTANGLE or BOX grid in the specified coordinate direction.
10026 * \return Length the analytic RECTANGLE or BOX grid in the specified coordinate direction.
10027 */
10028 su2double GetMeshBoxLength(unsigned short val_iDim) const { return mesh_box_length[val_iDim]; }
10029
10030 /*!
10031 * \brief Get the offset from 0.0 of the analytic RECTANGLE or BOX grid in the specified coordinate direction.
10032 * \return Offset from 0.0 the analytic RECTANGLE or BOX grid in the specified coordinate direction.
10033 */
10034 su2double GetMeshBoxOffset(unsigned short val_iDim) const { return mesh_box_offset[val_iDim]; }
10035
10036 /*!
10037 * \brief Get the polynomial degree of the FEM solution for the analytic RECTANGLE or BOX.
10038 * \return The polynomial degree of the FEM solution.
10039 */
10040 unsigned short GetMeshBoxPSolFEM(void) const { return Mesh_Box_PSolFEM; }
10041
10042 /*!
10043 * \brief Get the number of screen output variables requested (maximum 6)
10044 */
10045 unsigned short GetnScreenOutput(void) const { return nScreenOutput; }
10046
10047 /*!
10048 * \brief Get the screen output field iField
10049 */
10050 string GetScreenOutput_Field(unsigned short iField) const { return ScreenOutput[iField]; }
10051
10052 /*!
10053 * \brief Get the number of history output variables requested
10054 */
10055 unsigned short GetnHistoryOutput(void) const { return nHistoryOutput; }
10056
10057 /*!
10058 * \brief Get the history output field iField
10059 */
10060 string GetHistoryOutput_Field(unsigned short iField) const { return HistoryOutput[iField]; }
10061
10062 /*!
10063 * \brief Get the number of history output variables requested
10064 */
10065 unsigned short GetnVolumeOutput(void) const { return nVolumeOutput; }
10066
10067 /*!
10068 * \brief Get the history output field iField
10069 */
10070 string GetVolumeOutput_Field(unsigned short iField) const { return VolumeOutput[iField]; }
10071
10072 /*!
10073 * \brief Get the convergence fields for monitoring
10074 * \param[in] iField - Index of the field
10075 * return Field name for monitoring convergence
10076 */
10077 string GetConv_Field(unsigned short iField) const { return ConvField[iField]; }
10078
10079 /*!
10080 * \brief Get functional that is going to be used to evaluate the convergence of the windowed time average of the unsteady problem.
10081 * \param[in] iField - Index of the field
10082 * \return Field name for monitoring convergence
10083 */
10084 string GetWndConv_Field(unsigned short iField) const { return WndConvField[iField]; }
10085
10086 /*!
10087 * \brief Get the number of iterations that are considered in the Cauchy convergence criteria for the windowed time average of the unsteady problem.
10088 * \return Number of elements in the Cauchy criteria windowed time average of the unsteady problem.
10089 */
10090 unsigned short GetWnd_Cauchy_Elems(void) const { return Wnd_Cauchy_Elems; }
10091
10092 /*!
10093 * \brief Get the value of convergence criteria for the Cauchy method for the time averaged
10094 * windowed objective functions for unsteady flows
10095 * \return Value of the convergence criteria.
10096 */
10097 su2double GetWnd_Cauchy_Eps(void) const { return Wnd_Cauchy_Eps; }
10098
10099 /*!
10100 * \brief Get the number of iterations that are not considered in the convergence criteria for the windowed average output function
10101 * \return Number of iterations before starting with the convergence criteria for the windowed average output function.
10102 */
10103 unsigned long GetWnd_StartConv_Iter(void) const { return Wnd_StartConv_Iter; }
10104
10105 /*!
10106 * \brief Get the boolean value, whether the the Cauchy method for the time averaged
10107 * windowed objective functions for unsteady flows is used or not.
10108 * \return Boolean value, if the criterion is used.
10109 */
10110 bool GetWnd_Cauchy_Crit(void) const { return Wnd_Cauchy_Crit; }
10111
10112 /*!
10113 * \brief Get the number of convergence monitoring fields for time convergence monitoring.
10114 * return Number of convergence monitoring fields.
10115 */
10116 unsigned short GetnWndConv_Field() const { return nWndConvField; }
10117
10118 /*!
10119 * \brief Get the number of convergence monitoring fields for inner convergence monitoring.
10120 * return Number of convergence monitoring fields.
10121 */
10122 unsigned short GetnConv_Field() const { return nConvField; }
10123
10124 /*!
10125 * \brief Set the start time to track a phase of the code (preprocessing, compute, output).
10126 * \param[in] Value of the start time to track a phase of the code.
10127 */
10128 void Set_StartTime(su2double starttime) { StartTime = starttime; }
10129
10130 /*!
10131 * \brief Get the start time to track a phase of the code (preprocessing, compute, output).
10132 * \return Value of the start time to track a phase of the code.
10133 */
10134 su2double Get_StartTime() const { return StartTime; }
10135
10136 /*!
10137 * \brief GetHistory_Wrt_Freq_Inner
10138 * \return
10139 */
10140 unsigned long GetHistory_Wrt_Freq(unsigned short iter) const { return HistoryWrtFreq[iter];}
10141
10142 /*!
10143 * \brief SetHistory_Wrt_Freq_Inner
10144 * \param[in] iter: index for Time (0), Outer (1), or Inner (2) iterations
10145 * \param[in] nIter: Number of iterations
10146 */
10147 void SetHistory_Wrt_Freq(unsigned short iter, unsigned long nIter) { HistoryWrtFreq[iter] = nIter;}
10148
10149 /*!
10150 * \brief GetScreen_Wrt_Freq_Inner
10151 * \param[in] iter: index for Time (0), Outer (1), or Inner (2) iterations
10152 * \return
10153 */
10154 unsigned long GetScreen_Wrt_Freq(unsigned short iter) const { return ScreenWrtFreq[iter]; }
10155
10156 /*!
10157 * \brief SetScreen_Wrt_Freq_Inner
10158 * \param[in] iter: index for Time (0), Outer (1), or Inner (2) iterations
10159 * \param[in] nIter: Number of iterations
10160 */
10161 void SetScreen_Wrt_Freq(unsigned short iter, unsigned long nIter) { ScreenWrtFreq[iter] = nIter; }
10162
10163 /*!
10164 * \brief GetVolumeOutputFiles
10165 */
10166 const OUTPUT_TYPE* GetVolumeOutputFiles() const { return VolumeOutputFiles; }
10167
10168 /*!
10169 * \brief GetnVolumeOutputFiles
10170 */
10171 unsigned short GetnVolumeOutputFiles() const { return nVolumeOutputFiles; }
10172
10173 /*!
10174 * \brief GetnVolumeOutputFrequencies
10175 */
10176 unsigned short GetnVolumeOutputFrequencies() const { return nVolumeOutputFrequencies; }
10177
10178 /*!
10179 * \brief GetVolumeOutputFrequency
10180 * \param[in] iFile: index of file number for which the writing frequency needs to be returned.
10181 */
10182 unsigned long GetVolumeOutputFrequency(unsigned short iFile) const { return VolumeOutputFrequencies[iFile]; }
10183
10184 /*!
10185 * \brief Get the desired factorization frequency for PaStiX
10186 * \return Number of calls to 'Build' that trigger re-factorization.
10187 */
10188 unsigned long GetPastixFactFreq(void) const { return pastix_fact_freq; }
10189
10190 /*!
10191 * \brief Get the desired level of verbosity for PaStiX
10192 * \return 0 - Quiet, 1 - During factorization and cleanup, 2 - Even more detail.
10193 */
10194 unsigned short GetPastixVerbLvl(void) const { return pastix_verb_lvl; }
10195
10196 /*!
10197 * \brief Get the desired level of fill for the PaStiX ILU
10198 * \return Level of fill.
10199 */
10200 unsigned short GetPastixFillLvl(void) const { return pastix_fill_lvl; }
10201
10202 /*!
10203 * \brief Check if an option is present in the config file
10204 * \param[in] - Name of the option
10205 * \return <TRUE> if option was set in the config file
10206 */
10207 bool OptionIsSet(string option) const { return all_options.find(option) == all_options.end(); }
10208
10209 /*!
10210 * \brief Get the name of the current case
10211 * \return the case name
10212 */
10213 const string& GetCaseName() const { return caseName; }
10214
10215 /*!
10216 * \brief Get the number of threads per rank to use for ILU and LU_SGS preconditioners.
10217 * \return Number of threads per rank.
10218 */
10219 unsigned long GetLinear_Solver_Prec_Threads(void) const { return Linear_Solver_Prec_Threads; }
10220
10221 /*!
10222 * \brief Get the size of the edge groups colored for OpenMP parallelization of edge loops.
10223 */
10224 unsigned long GetEdgeColoringGroupSize(void) const { return edgeColorGroupSize; }
10225
10226 /*!
10227 * \brief Check if the discrete adjoint is allowed to relax the coloring, that is, allow smaller edge color group sizes and allow more colors.
10228 */
10229 bool GetEdgeColoringRelaxDiscAdj() const { return edgeColoringRelaxDiscAdj; }
10230
10231 /*!
10232 * \brief Get the number of concurrent BFS fronts used to build the RCM reordering, see SetRCM_Ordering.
10233 */
10234 unsigned short GetRCM_NumSeeds(void) const { return rcmNumSeeds; }
10235
10236 /*!
10237 * \brief Get the ParMETIS load balancing tolerance.
10238 */
10239 passivedouble GetParMETIS_Tolerance() const { return SU2_TYPE::GetValue(ParMETIS_tolerance); }
10240
10241 /*!
10242 * \brief Get the ParMETIS load balancing weight for points.
10243 */
10244 long GetParMETIS_PointWeight() const { return ParMETIS_pointWgt; }
10245
10246 /*!
10247 * \brief Get the ParMETIS load balancing weight for edges
10248 */
10249 long GetParMETIS_EdgeWeight() const { return ParMETIS_edgeWgt; }
10250
10251 /*!
10252 * \brief Find the marker index (if any) that is part of a given interface pair.
10253 * \param[in] iInterface - Number of the interface pair being tested, starting at 0.
10254 * \return -1 if (on this mpi rank) the zone defined by config is not part of the interface.
10255 */
10256 short FindInterfaceMarker(unsigned short iInterface) const;
10257
10258 /*!
10259 * \brief Find the marker index (if any) that is part of a mixing plane interface pair.
10260 * \param[in] nMarker - Number of the marker in a zone being tested, starting at 0.
10261 * \return value > 1 if (on this mpi rank) the zone defined by config is part of the mixing plane.
10262 */
10263 short FindMixingPlaneInterfaceMarker(unsigned short nMarker, unsigned short iMarkerInt) const;
10264
10265 /*!
10266 * \brief Get whether or not to save solution data to libROM.
10267 * \return True if specified in config file.
10268 */
10269 bool GetSave_libROM(void) const {return libROM; }
10270
10271 /*!
10272 * \brief Get the name of the file for libROM to save.
10273 * \return Filename prefix for libROM to save to (default: "su2").
10274 */
10275 string GetlibROMbase_FileName(void) const { return libROMbase_FileName; }
10276
10277 /*!
10278 * \brief Static or incremental toggle for POD basis generation type.
10279 * \return Type of POD generation type
10280 */
10281 POD_KIND GetKind_PODBasis(void) const { return POD_Basis_Gen; }
10282
10283 /*!
10284 * \brief Get maximum number of POD basis dimensions (default: 100).
10285 * \return Maximum number of POD basis vectors.
10286 */
10287 unsigned short GetMax_BasisDim(void) const { return maxBasisDim; }
10288
10289 /*!
10290 * \brief Get frequency of unsteady time steps to save (default: 1).
10291 * \return Save frequency for unsteady time steps.
10292 */
10293 unsigned short GetRom_SaveFreq(void) const { return rom_save_freq; }
10294
10295 /*!
10296 * \brief Check if the gradient smoothing is active
10297 * \return true means that smoothing is applied to the sensitivities
10298 */
10299 bool GetSmoothGradient(void) const {return SmoothGradient; }
10300
10301 /*!
10302 * \brief Gets the factor epsilon in front of the Laplace term
10303 * \return epsilon
10304 */
10305 su2double GetSmoothingEps1(void) const { return SmoothingEps1; }
10306
10307 /*!
10308 * \brief Gets the factor zeta in front of the identity term
10309 * \return zeta
10310 */
10311 su2double GetSmoothingEps2(void) const { return SmoothingEps2; }
10312
10313 /*!
10314 * \brief Check if we split in the dimensions
10315 * \return true means that smoothing is for each dimension separate
10316 */
10317 bool GetSmoothSepDim(void) const { return SmoothSepDim; }
10318
10319 /*!
10320 * \brief Check if we assemble the operator on the surface
10321 * \return true means that smoothing is done on the surface level
10322 */
10323 bool GetSmoothOnSurface(void) const { return SmoothOnSurface; }
10324
10325 /*!
10326 * \brief Check if we use zero Dirichlet boundarys on the bound of the surface
10327 * \return true means that we use zero Dirichlet boundary
10328 */
10329 bool GetDirichletSurfaceBound(void) const { return SmoothDirichletSurfaceBound; }
10330
10331 /*!
10332 * \brief The modus of operation for the Sobolev solver
10333 * \return returns on what level we operate
10334 */
10335 ENUM_SOBOLEV_MODUS GetSobMode(void) const { return SmoothNumMode; }
10336
10337 /*!
10338 * \brief Get the name of the file with the hessian of the objective function.
10339 * \return Name of the file with the hessian of the objective function.
10340 */
10341 string GetObjFunc_Hess_FileName(void) const { return ObjFunc_Hess_FileName; }
10342
10343 /*!
10344 * \brief Get min error of the linear solver for the gradient smoothing.
10345 * \return Min error of the linear solver for the gradient smoothing.
10346 */
10347 su2double GetGrad_Linear_Solver_Error(void) const { return Grad_Linear_Solver_Error; }
10348
10349 /*!
10350 * \brief Get the kind of solver for the gradient smoothing.
10351 * \return Numerical solver for the gradient smoothing.
10352 */
10353 unsigned short GetKind_Grad_Linear_Solver(void) const { return Kind_Grad_Linear_Solver; }
10354
10355 /*!
10356 * \brief Get the kind of preconditioner for the gradient smoothing.
10357 * \return Numerical preconditioner for the gradient smoothing.
10358 */
10359 unsigned short GetKind_Grad_Linear_Solver_Prec(void) const { return Kind_Grad_Linear_Solver_Prec; }
10360
10361 /*!
10362 * \brief Get max number of iterations of the for the gradient smoothing.
10363 * \return Max number of iterations of the linear solver for the gradient smoothing.
10364 */
10365 unsigned long GetGrad_Linear_Solver_Iter(void) const { return Grad_Linear_Solver_Iter; }
10366
10367 /*!
10368 * \brief Get parsed SST option data structure.
10369 * \return SST option data structure.
10370 */
10371 SST_ParsedOptions GetSSTParsedOptions() const { return sstParsedOptions; }
10372
10373 /*!
10374 * \brief Get parsed SA option data structure.
10375 * \return SA option data structure.
10376 */
10377 SA_ParsedOptions GetSAParsedOptions() const { return saParsedOptions; }
10378
10379 /*!
10380 * \brief Get parsed LM option data structure.
10381 * \return LM option data structure.
10382 */
10383 LM_ParsedOptions GetLMParsedOptions() const { return lmParsedOptions; }
10384
10385 /*!
10386 * \brief Get rough-wall boundary conditions for SST.
10387 */
10388 ROUGHSST_MODEL GetKindRoughSSTModel() const { return Kind_RoughSST_Model; }
10389
10390 /*!
10391 * \brief Get parsed option data structure for data-driven fluid model.
10392 * \return option data structure for data-driven fluid model.
10393 */
10394 const DataDrivenFluid_ParsedOptions& GetDataDrivenParsedOptions() const { return datadriven_ParsedOptions; }
10395
10396 /*!
10397 * \brief Get parsed option data structure for the flamelet fluid model.
10398 * \return option data structure for the flamelet fluid model.
10399 */
10400 const FluidFlamelet_ParsedOptions& GetFlameletParsedOptions() const { return flamelet_ParsedOptions; }
10401
10402 /*!
10403 * \brief Get the enthalpy BC mode for the flamelet solver.
10404 * FLOW_MARKERS: derive enthalpy BCs from MARKER_ISOTHERMAL/MARKER_HEATFLUX/MARKER_INLET (temperature-based).
10405 * SPECIES_MARKERS: take enthalpy BCs directly from MARKER_WALL_SPECIES/MARKER_INLET_SPECIES.
10406 * \return FLAMELET_ENTHALPY_BC enum value.
10407 */
10408 FLAMELET_ENTHALPY_BC GetFlamelet_Enthalpy_BC() const { return flamelet_ParsedOptions.enthalpy_bc; }
10409
10410};
#define M(I, J)
A templated matrix/vector-like object.
Definition C2DContainer.hpp:374
static void Error(const std::string &ErrorMsg, const std::string &FunctionName)
Definition mpi_structure.cpp:131
int Comm
Definition mpi_structure.hpp:503
Main class for defining the problem; basically this class reads the configuration file,...
Definition CConfig.hpp:64
string GetMarker_ActDiskOutlet_TagBound(unsigned short val_marker) const
Get the index of the surface defined in the geometry file.
Definition CConfig.hpp:3489
su2double GetBulk_Modulus(void) const
Get the value of the bulk modulus.
Definition CConfig.hpp:1775
bool GetWrt_Volume_Overwrite(void) const
Flag for whether visualization files are overwritten.
Definition CConfig.hpp:5711
void SetRefOriginMoment_Z(unsigned short val_marker, su2double val_origin)
Set reference origin z-coordinate for moment computation.
Definition CConfig.hpp:1654
bool GetUpdate_BCThrust_Bool(void) const
Get information about whether to update the AoA for fixed lift mode.
Definition CConfig.hpp:9195
unsigned short GetKind_ConvNumScheme_AdjTurb(void) const
Get the kind of convective numerical scheme for the adjoint turbulence equations (centered or upwind)...
Definition CConfig.hpp:5123
void SetKind_ConvNumScheme(unsigned short val_kind_convnumscheme, CENTERED val_kind_centered, UPWIND val_kind_upwind, LIMITER val_kind_slopelimit, bool val_muscl, su2double val_muscl_kappa, unsigned short val_kind_fem)
Set the parameters of the convective numerical scheme.
Definition CConfig.cpp:9065
unsigned short GetFFD_CoordSystem(void) const
Get the coordinate system that we are going to use to define the FFD.
Definition CConfig.hpp:3097
bool GetFEMSolver(void) const
Return true if a high order FEM solver is in use.
Definition CConfig.hpp:3981
su2double GetTemperature_Critical(void) const
Get the value of the critical temperature.
Definition CConfig.hpp:4136
void SetInflow_MassFlow(unsigned short val_marker, su2double val_fanface_massflow)
Set the massflow at an engine inflow boundary.
Definition CConfig.hpp:7788
string GetVolume_FileName(void) const
Get the name of the file with the flow variables.
Definition CConfig.hpp:6010
su2double GetAeroelastic_Frequency_Pitch(void) const
Uncoupled Aeroelastic Frequency Pitch.
Definition CConfig.hpp:8955
su2double GetKt_PolyCoeff(unsigned short val_index) const
Get the temperature polynomial coefficient for thermal conductivity.
Definition CConfig.hpp:4315
void SetnDim()
Set the physical dimension of the problem.
unsigned short GetnSpanMaxAllZones(void) const
number span-wise sections to compute performance for turbomachinery.
Definition CConfig.hpp:5509
void SetDensity_FreeStream(su2double val_density_freestream)
Set the freestream density.
Definition CConfig.hpp:2727
WALL_FUNCTIONS GetWallFunction_Treatment(const string &val_marker) const
Get the wall function treatment for the given boundary marker.
Definition CConfig.cpp:9949
bool GetCentrifugalForce(void) const
Decide whether to apply centrifugal forces to the model.
Definition CConfig.hpp:9334
su2double GetActDiskInlet_Temperature(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10206
su2double GetAeroelastic_pitch(unsigned short val_marker) const
Value of pitching coordinate.
Definition CConfig.hpp:8989
unsigned short GetKind_GridMovement() const
Get the type of dynamic mesh motion. Each zone gets a config file.
Definition CConfig.hpp:6303
void SetSurface_TotalPressure(unsigned short val_marker, su2double val_surface_totalpressure)
Set the total pressure at the surface.
Definition CConfig.hpp:8370
void SetActDisk_NetThrust(unsigned short val_marker, su2double val_actdisk_netthrust)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8454
bool GetPlot_Section_Forces(void) const
Get information about writing sectional force files.
Definition CConfig.hpp:3458
su2double GetFan_Poly_Eff(void) const
Get the value of the reference viscosity for non-dimensionalization.
Definition CConfig.hpp:2003
void SetModVel_FreeStreamND(su2double val_modvel_freestreamnd)
Set the non-dimensional magnitude of the free-stream velocity.
Definition CConfig.hpp:2757
unsigned short GetWnd_Cauchy_Elems(void) const
Get the number of iterations that are considered in the Cauchy convergence criteria for the windowed ...
Definition CConfig.hpp:10090
su2double GetActDiskOutlet_Power(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10185
su2double GetViscosity_FreeStreamND(void) const
Get the value of the non-dimensionalized freestream viscosity.
Definition CConfig.hpp:2089
UPWIND GetKind_Upwind_Flow(void) const
Get the kind of upwind convective numerical scheme for the flow equations.
Definition CConfig.hpp:4928
unsigned long GetInnerIter(void) const
Get the current FSI iteration number.
Definition CConfig.hpp:3405
unsigned short GetnMarker_Fluid_InterfaceBound(void) const
Get the total number of boundary markers.
Definition CConfig.hpp:3243
su2double GetHarmonicBalance_Period(void) const
Retrieves the period of oscillations to be used with Harmonic Balance.
Definition CConfig.hpp:3357
const string & GetCustomObjFunc() const
Get the user expression for the custom objective function.
Definition CConfig.hpp:5629
short GetMeshBoxSize(unsigned short val_iDim) const
Get the number of grid points in the analytic RECTANGLE or BOX grid in the specified coordinate direc...
Definition CConfig.hpp:10022
bool GetActDisk_SU2_DEF(void) const
Actuator disk defined with a double surface.
Definition CConfig.hpp:6245
bool GetEnergy_Equation(void) const
Flag for whether to solve the energy equation for incompressible flows.
Definition CConfig.hpp:4106
bool GetFinite_Difference_Mode(void) const
Get whether at the end of finite differencing (Fixed CL mode)
Definition CConfig.hpp:9213
string GetRestart_AdjFileName(void) const
Get the name of the restart file for the adjoint variables (drag objective function).
Definition CConfig.hpp:6074
su2double GetRangePressure(int minmax) const
Get the maximum pressure (pmax - pmin) in the domain.
Definition CConfig.hpp:9712
su2double GetMarkerPitching_Phase(unsigned short iMarkerMoving, unsigned short iDim) const
Get pitching phase of the marker.
Definition CConfig.hpp:6472
su2double GetTurb2LamViscRatio_FreeStream(void) const
Get the value of the turbulent to laminar viscosity ratio.
Definition CConfig.hpp:2197
unsigned long GetnInner_Iter(void) const
Get the number of inner iterations.
Definition CConfig.hpp:9888
su2double GetInflow_ReverseMassFlow(const string &val_marker) const
Get the percentage of reverse flow at an engine inflow boundary.
Definition CConfig.cpp:10010
su2double GetRelaxation_Factor_CHT(void) const
Get the relaxation coefficient of the CHT coupling.
Definition CConfig.hpp:4488
bool GetHeatSource(void) const
Get information about the volumetric heat source.
Definition CConfig.hpp:6640
void SetnMarker_All(unsigned short val_nmarker)
Stores the number of marker in the simulation.
Definition CConfig.hpp:3333
su2double GetActDisk_Force(const string &val_marker) const
Get the origin of the actuator disk.
Definition CConfig.cpp:9289
su2double GetActDisk_BCThrust_Old(const string &val_marker) const
Get the origin of the actuator disk.
Definition CConfig.cpp:9305
string GetDV_Sens_Filename(void) const
Get name of the unordered ASCII surface sensitivity file.
Definition CConfig.hpp:8875
unsigned short GetPastixVerbLvl(void) const
Get the desired level of verbosity for PaStiX.
Definition CConfig.hpp:10194
su2double GetDelta_UnstTimeND(void) const
If we are prforming an unsteady simulation, there is only one value of the time step for the complete...
Definition CConfig.hpp:6187
su2double GetMixedout_Coeff(unsigned short iCoeff) const
Get mixedout coefficients.
Definition CConfig.hpp:5372
void SetForce_Ref(su2double val_force_ref)
Set the reference Force for nondimensionalization.
Definition CConfig.hpp:2661
su2double GetGamma(void) const
Get the value of the Gamma of fluid (ratio of specific heats).
Definition CConfig.hpp:1734
su2double GetMarkerRotationRate(unsigned short iMarkerMoving, unsigned short iDim) const
Get the rotation rate of the marker.
Definition CConfig.hpp:6417
unsigned short GetMarker_CfgFile_Turbomachinery(const string &val_marker) const
Get the TurboPerformance information from the config definition for the marker val_marker.
Definition CConfig.cpp:8512
const su2double * GetHeatSource_Axes(void) const
Get the radius of the ellipsoid that introduces a volumetric heat source.
Definition CConfig.hpp:6680
su2double GetMaterialDensity(unsigned short id_val) const
Get the Material Density.
Definition CConfig.hpp:2446
unsigned short GetnMarker_PyCustom(void) const
Get the total number of Python customizable markers.
Definition CConfig.hpp:3291
string GetHistoryOutput_Field(unsigned short iField) const
Get the history output field iField.
Definition CConfig.hpp:10060
array< su2double, 2 > GetStressPenaltyParam(void) const
Get the maximum allowed VM stress and KS exponent for the stress penalty objective function.
Definition CConfig.hpp:9478
void SetVelocity_FreeStreamND(su2double val_velocity_freestreamnd, unsigned short val_dim)
Set the non-dimensional free-stream velocity.
Definition CConfig.hpp:2801
unsigned short GetKind_DiscAdj_Linear_Solver(void) const
Get the kind of solver for the implicit solver.
Definition CConfig.hpp:4563
unsigned short GetCauchy_Func_AdjFlow(void) const
Get functional that is going to be used to evaluate the adjoint flow convergence.
Definition CConfig.hpp:6161
su2double GetOutlet_Pressure(const string &val_index) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:9641
string GetInlet_FileName(void) const
Get name of the input file for the specified inlet profile.
Definition CConfig.hpp:5960
su2double GetRefSharpEdges(void) const
Get the reference coefficient for detecting sharp edges.
Definition CConfig.hpp:2492
void SetCFL(unsigned short val_mesh, su2double val_cfl)
Get the Courant Friedrich Levi number for each grid.
Definition CConfig.hpp:2996
void SetActDiskInlet_Force(unsigned short val_marker, su2double val_actdisk_force)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8517
su2double GetCoordFFDBox(unsigned short val_ffd, unsigned short val_index) const
Get the coordinates of the FFD corner points.
Definition CConfig.hpp:3030
void SetActDisk_BCThrust_Old(unsigned short val_marker, su2double val_actdisk_bcthrust_old)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8482
bool GetUseVectorization(void) const
Get whether to use vectorized numerics (if available).
Definition CConfig.hpp:4516
su2double GetScattering_Coeff(void) const
Get the value of the scattering coefficient of the medium.
Definition CConfig.hpp:9966
string GetMarker_Fluid_Load_TagBound(unsigned short val_marker) const
Get the name of the Fluid_Load boundary defined in the geometry file.
Definition CConfig.hpp:7272
string GetSolution_AdjFileName(void) const
Get the name of the file with the solution of the adjoint flow problem with drag objective function.
Definition CConfig.hpp:5882
su2double GetNewmark_gamma(void) const
Get Newmark delta parameter.
Definition CConfig.hpp:9370
unsigned short GetKind_FluidModel(void) const
Fluid model that we are using.
Definition CConfig.hpp:4083
su2double GetRefNode_Penalty(void) const
Get the penalty weight value for the objective function.
Definition CConfig.hpp:2367
unsigned short GetKind_ADER_Predictor(void) const
Get the kind of scheme (aliased or non-aliased) to be used in the predictor step of ADER-DG.
Definition CConfig.hpp:4823
unsigned long GetVolumeOutputFrequency(unsigned short iFile) const
GetVolumeOutputFrequency.
Definition CConfig.hpp:10182
string GetScreenOutput_Field(unsigned short iField) const
Get the screen output field iField.
Definition CConfig.hpp:10050
bool GetPseudoStatic(void) const
Identifies if the mesh is matching or not (temporary, while implementing interpolation procedures).
Definition CConfig.hpp:9340
su2double * GetVelocity_FreeStreamND(void)
Get the vector of the non-dimensionalized freestream velocity.
Definition CConfig.hpp:2076
bool GetHold_GridFixed(void) const
Provides information about the the nodes that are going to be moved on a deformation volumetric grid ...
Definition CConfig.hpp:5596
const string & GetCaseName() const
Get the name of the current case.
Definition CConfig.hpp:10213
su2double GetActDiskInlet_Power(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10150
su2double GetGas_ConstantND(void) const
Get the value of specific gas constant.
Definition CConfig.hpp:1793
bool GetMultizone_Residual(void) const
Check if the mesh read supports multiple zones.
Definition CConfig.hpp:9942
su2double GetMotion_Origin(unsigned short iDim) const
Get the mesh motion origin.
Definition CConfig.hpp:6329
bool GetBoolGiles(void) const
Verify if there is any Giles Boundary Condition option specified from config file.
Definition CConfig.hpp:5456
su2double GetAverageMachLimit(void) const
Get mach limit for average massflow-based procedure .
Definition CConfig.hpp:5384
su2double GetGust_Ampl(void) const
Value of the gust amplitude.
Definition CConfig.hpp:9042
unsigned short GetnScreenOutput(void) const
Get the number of screen output variables requested (maximum 6)
Definition CConfig.hpp:10045
su2double GetMarkerPitching_Omega(unsigned short iMarkerMoving, unsigned short iDim) const
Get pitching rate of the marker.
Definition CConfig.hpp:6442
su2double GetMu_S(unsigned short val_index=0) const
Get the value of the reference S for Sutherland model.
Definition CConfig.hpp:4262
unsigned short GetnMGLevels(void) const
Get the number of multigrid levels.
Definition CConfig.hpp:2950
su2double GetTke_FreeStreamND(void) const
Get the value of the non-dimensionalized freestream viscosity.
Definition CConfig.hpp:2107
su2double GetActDisk_NetThrust(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8125
unsigned short GetFFD_Continuity(void) const
Get the required continuity level at the surface intersection with the FFD.
Definition CConfig.hpp:3091
const su2double * GetWallFunction_DoubleInfo(const string &val_marker) const
Get the additional double info for the wall function treatment for the given boundary marker.
Definition CConfig.cpp:9976
bool GetSteadyRestart(void) const
Identifies if we want to restart from a steady or an unsteady solution.
Definition CConfig.hpp:9346
unsigned short GetMarker_CfgFile_GeoEval(const string &val_marker) const
Get the monitoring information from the config definition for the marker val_marker.
Definition CConfig.cpp:8477
STRUCT_2DFORM GetElas2D_Formulation() const
Formulation for 2D elasticity (plane stress - strain)
Definition CConfig.hpp:2395
unsigned short GetMarker_CfgFile_Giles(const string &val_marker) const
Get the Giles boundary information from the config definition for the marker val_marker.
Definition CConfig.cpp:8533
su2double GetdCMx_dCL(void) const
Value of the weight of the CD, CL, CM optimization.
Definition CConfig.hpp:7011
string GetSurfCoeff_FileName(void) const
Get the name of the file with the surface information for the flow problem.
Definition CConfig.hpp:6109
unsigned short GetDirectDiff() const
Get the direct differentation method.
Definition CConfig.hpp:9293
unsigned short GetKind_InitOption(void) const
free stream option to initialize the solution
Definition CConfig.hpp:4118
unsigned short GetnMarker_Shroud(void) const
Get number of shroud markers.
Definition CConfig.hpp:5474
passivedouble GetParMETIS_Tolerance() const
Get the ParMETIS load balancing tolerance.
Definition CConfig.hpp:10239
su2double GetUQ_Delta_B(void) const
Get the amount of eigenvalue perturbation to be done.
Definition CConfig.hpp:9671
bool GetVorticityConfinement(void) const
Get information about the Vorticity Confinement.
Definition CConfig.hpp:6587
su2double GetIncTemperature_BC() const
Get the inlet temperature imposed as BC for incompressible flow.
Definition CConfig.cpp:9864
bool GetCatalytic(void) const
Determines if problem has catalytic walls.
Definition CConfig.hpp:6914
unsigned short GetnMarker_Fluid_Load(void) const
Get the total number of markers in which the flow load is computed/employed.
Definition CConfig.hpp:3237
unsigned long GetIter_Avg_Objective(void) const
Number of iterations to average (reverse time integration).
Definition CConfig.hpp:3345
unsigned short GetMarker_CfgFile_Plotting(const string &val_marker) const
Get the plotting information from the config definition for the marker val_marker.
Definition CConfig.cpp:8491
su2double GetPitching_Phase(unsigned short iDim) const
Get the pitching phase of the mesh.
Definition CConfig.hpp:6464
bool GetSpecies_Clipping() const
Get the flag for activating species transport clipping.
Definition CConfig.hpp:2283
string GetMarker_Deform_Mesh_Sym_Plane_TagBound(unsigned short val_marker) const
Get the name of the DEFORM_MESH_SYM_PLANE boundary defined in the geometry file.
Definition CConfig.hpp:7264
void SetMarker_All_TurbomachineryFlag(unsigned short val_marker, unsigned short val_turboflag)
Set a flag to the marker val_marker part of the Turbomachinery (read from the config file).
Definition CConfig.hpp:3637
su2double GetEA_ScaleFactor(void) const
Get the integration limits for the equivalent area computation.
Definition CConfig.hpp:1675
bool GetExhaustToInlet_Engine(void) const
Get the flag to use exhaust mass flow as inlet mass flow.
Definition CConfig.hpp:2173
unsigned short GetKind_ActDisk(void) const
Get the kind of inlet boundary condition treatment (total conditions or mass flow).
Definition CConfig.hpp:5566
bool GetIncrementalLoad(void) const
Check if we want to apply an incremental load to the nonlinear structural simulation.
Definition CConfig.hpp:9538
su2double GetCent_Jac_Fix_Factor(void) const
Factor by which to multiply the dissipation contribution to Jacobians of central schemes.
Definition CConfig.hpp:5013
su2double GetOpt_LineSearch_Bound(void) const
Get the bound for the line search.
Definition CConfig.hpp:9111
DEFORM_KIND GetDeform_Kind() const
Get the type of mesh deformation method.
Definition CConfig.hpp:4651
unsigned short GetFinestMesh(void) const
Get the index of the finest grid.
Definition CConfig.hpp:2969
su2double GetTheta_Interior_Penalty_DGFEM(void) const
Function to make available the multiplication factor theta of the symmetrizing terms in the DG discre...
Definition CConfig.hpp:9588
bool GetWrt_AD_Statistics(void) const
Get information about the computational graph (e.g. memory usage) when using AD in reverse mode.
Definition CConfig.hpp:3429
bool GetPrestretch(void) const
Decide whether it's necessary to read a reference geometry.
Definition CConfig.hpp:2401
su2double GetGas_Constant(void) const
Get the value of specific gas constant.
Definition CConfig.hpp:1787
su2double GetWnd_Cauchy_Eps(void) const
Get the value of convergence criteria for the Cauchy method for the time averaged windowed objective ...
Definition CConfig.hpp:10097
void SetInletPtotal(su2double val_pressure, const string &val_marker)
Set the total pressure at an inlet boundary.
Definition CConfig.cpp:9566
void SetVelocity_Ref(su2double val_velocity_ref)
Set the reference velocity for nondimensionalization.
Definition CConfig.hpp:2613
void SetSurface_Movement(unsigned short iMarker, unsigned short kind_movement)
Set a surface movement marker.
Definition CConfig.cpp:8636
unsigned short GetiZone(void) const
Provides the zone index the configuration belongs to.
Definition CConfig.hpp:5735
string GetSolution_FileName(void) const
Get the name of the file with the solution of the flow problem.
Definition CConfig.hpp:5864
bool GetSolid_Wall(unsigned short iMarker) const
Determines whether a marker with index iMarker is a solid boundary.
Definition CConfig.cpp:8630
const CMUSCLRampParam & GetMUSCLRampParam(void) const
Get MUSCL ramp paramaters.
Definition CConfig.hpp:5358
string GetMarker_PerBound(unsigned short val_marker) const
get outlet bounds name for Turbomachinery performance calculation.
Definition CConfig.hpp:5554
bool GetContinuous_Adjoint(void) const
Determines if problem is adjoint.
Definition CConfig.hpp:6902
string GetHistory_FileName(void) const
Get the name of the file with the convergence history of the problem.
Definition CConfig.hpp:5928
unsigned short GetMarker_All_Plotting(unsigned short val_marker) const
Get the plotting information for a marker val_marker.
Definition CConfig.hpp:3769
su2double GetMarkerMotion_Origin(unsigned short iMarkerMoving, unsigned short iDim) const
Get the mesh motion origin.
Definition CConfig.hpp:6344
string GetMarker_Shroud(unsigned short val_marker) const
Get the marker shroud.
Definition CConfig.hpp:5480
unsigned short GetRef_Inc_NonDim(void) const
Get the kind of incompressible non-dimensionalization.
Definition CConfig.hpp:4675
bool GetSpecies_StrongBC() const
Get the flag for using strong BC's for in- and outlets in the species solver.
Definition CConfig.hpp:2307
void SetInflow_Temperature(unsigned short val_marker, su2double val_fanface_temperature)
Set the fan face static temperature at an engine inflow boundary.
Definition CConfig.hpp:7809
su2double GetActDisk_DeltaTemp(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8090
unsigned short GetMarker_CfgFile_TagBound(const string &val_marker) const
Get the index in the config information of the marker val_marker.
Definition CConfig.cpp:8447
void SetMultizone_Problem(bool MZ_problem)
Set that the simulation we are running is a multizone simulation.
Definition CConfig.hpp:9520
su2double GetPnormHeat(void) const
Get the p-norm for heat-flux objective functions (adjoint problem).
Definition CConfig.hpp:1823
su2double GetTemperature_Ref(void) const
Get the value of the reference temperature for non-dimensionalization.
Definition CConfig.hpp:1961
unsigned short GetKind_TimeIntScheme_Species() const
Get the kind of integration scheme (implicit) for the Species equations.
Definition CConfig.hpp:5132
TRANSCOEFFMODEL GetKind_TransCoeffModel(void) const
Get the transport coefficient model.
Definition CConfig.hpp:4057
void SetActDiskOutlet_Torque_BEM(unsigned short val_marker, su2double val_actdisk_torque_bem)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8792
void SetActDisk_BCThrust_Old(const string &val_marker, su2double val_actdisk_bcthrust_old)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:9321
const unsigned short & GetActDiskBem_Frequency(void) const
Get the frequency of updating the actuator disk with BEM.
Definition CConfig.hpp:7163
unsigned short GetGeo_Description(void) const
Get Description of the geometry to be analyzed.
Definition CConfig.hpp:1710
unsigned long GetPoisson_Linear_Solver_Iter(void) const
Get max number of iterations of the linear solver for the poisson equation.
Definition CConfig.hpp:4443
unsigned short GetnVolumeOutputFiles() const
GetnVolumeOutputFiles.
Definition CConfig.hpp:10171
unsigned long GetnTime_Iter(void) const
Get the number of time iterations.
Definition CConfig.hpp:9900
su2double GetExhaust_MassFlow(const string &val_marker) const
Get the massflow at an engine exhaust boundary.
Definition CConfig.cpp:10080
su2double GetDeform_PoissonRatio(void) const
Get Poisson's ratio for deformation (constant stiffness deformation) .
Definition CConfig.hpp:4628
const su2double * GetHeatSource_Center(void) const
Get the position of the center of the volumetric heat source.
Definition CConfig.hpp:6664
const su2double * GetPeriodicRotAngles(const string &val_marker) const
Angles of rotation for a rotational periodic boundary.
Definition CConfig.cpp:9225
void SetExhaust_Pressure(unsigned short val_marker, su2double val_exhaust_pressure)
Set the back pressure (static) at an engine exhaust boundary.
Definition CConfig.hpp:7844
su2double GetMaxUpdateFractionFlow(void) const
Get the maximum update ratio for flow variables- density and energy.
Definition CConfig.hpp:4494
void SetExhaust_MassFlow(unsigned short val_marker, su2double val_exhaust_massflow)
Set the back pressure (static) at an engine exhaust boundary.
Definition CConfig.hpp:7858
void GEMMProfilingCSV(void)
Write a CSV file containing the results of the profiling.
Definition CConfig.cpp:10420
su2double GetTemperature_ve_FreeStream(void) const
Get the value of the freestream vibrational-electronic temperature.
Definition CConfig.hpp:1846
su2double GetSurface_Density(unsigned short val_marker) const
Get the density at an outlet boundary.
Definition CConfig.hpp:8594
string GetConfigFilename(unsigned short index) const
Get the filenames of the individual config files.
Definition CConfig.hpp:9870
void SetMotion_Origin(const su2double *val)
Set the mesh motion origin.
Definition CConfig.hpp:6336
unsigned short GetMarker_All_Fluid_Load(unsigned short val_marker) const
Get whether marker val_marker is a Fluid_Load marker.
Definition CConfig.hpp:3874
su2double GetMax_Time(void) const
Get the maximum simulation time for time-domain problems.
Definition CConfig.hpp:9924
unsigned short GetRef_NonDim(void) const
Get the kind of non-dimensionalization.
Definition CConfig.hpp:4669
bool GetFrozen_Limiter_Disc(void) const
Provides information about the way in which the limiter will be treated by the disc....
Definition CConfig.hpp:5223
su2double GetAoS(void) const
Get the angle of sideslip of the body. It relates to the rotation of the aircraft centerline from the...
Definition CConfig.hpp:2938
bool GetEquivArea(void) const
Information about computing and plotting the equivalent area distribution.
Definition CConfig.hpp:5774
tuple< bool, unsigned short, unsigned short > GetFFD_IntPrev(void) const
Get information about whether to do a check on self-intersections within the FFD box based on value o...
Definition CConfig.hpp:9087
void SetAeroelastic_plunge(unsigned short val_marker, su2double val)
Value of plunging coordinate.
Definition CConfig.hpp:8996
su2double GetDomainVolume(void) const
Get the volume of the whole domain using the fine grid, this value is common for all the grids in the...
Definition CConfig.hpp:2499
su2double GetSIMP_Exponent(void) const
Get exponent for density-based stiffness penalization.
Definition CConfig.hpp:9832
su2double GetTemperature_ve_FreeStreamND(void) const
Get the value of the non-dimensionalized vibrational-electronic freestream temperature.
Definition CConfig.hpp:2064
unsigned short GetMarker_Fluid_Load(const string &val_marker) const
Get the internal index for a Fluid_Load boundary val_marker.
Definition CConfig.cpp:9504
unsigned short GetnLevels_TimeAccurateLTS(void) const
Get the number of time levels for time accurate local time stepping.
Definition CConfig.hpp:3141
su2double GetInletPtotal(const string &val_index) const
Get the total pressure at an inlet boundary.
Definition CConfig.cpp:9559
void GEMM_Tick(double *val_start_time) const
Start the timer for profiling subroutines.
Definition CConfig.cpp:10358
void SetSurface_SecondaryStrength(unsigned short val_marker, su2double val_surface_secondarystrength)
Set the secondary flow strength at the surface.
Definition CConfig.hpp:8342
const su2double * Get_Electric_Field_Dir(void) const
Get the direction of the electric field in reference configuration.
Definition CConfig.hpp:9422
su2double GetActDisk_ReverseMassFlow(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8160
unsigned long GetUpdate_AoA_Iter_Limit(void) const
Get the maximum number of iterations between AoA updates for fixed C_L mode.
Definition CConfig.hpp:9207
~CConfig(void)
Destructor of the class.
Definition CConfig.cpp:8662
su2double GetOmega_FreeStream(void) const
Get the value of the non-dimensionalized freestream viscosity.
Definition CConfig.hpp:2125
su2double GetDeform_Coeff(void) const
Get factor to multiply smallest volume for deform tolerance.
Definition CConfig.hpp:4611
bool OptionIsSet(string option) const
Check if an option is present in the config file.
Definition CConfig.hpp:10207
bool GetMarker_Deform_Mesh_Bool(const string &val_marker) const
Get a bool for whether the marker is deformed. val_marker.
Definition CConfig.hpp:7225
const CMGOptions & GetMGOptions() const
Get the multigrid options struct.
Definition CConfig.hpp:3900
unsigned short GetKind_TimeIntScheme_Turb(void) const
Get the kind of integration scheme (implicit) for the turbulence equations.
Definition CConfig.hpp:5080
bool GetPrintInlet_InterpolatedData(void) const
Get whether to print inlet interpolated data or not.
Definition CConfig.hpp:9665
void SetActDisk_Area(unsigned short val_marker, su2double val_actdisk_area)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8496
void SetThermalConductivity_FreeStreamND(su2double val_thermalconductivity_freestreamnd)
Set the non-dimensional free-stream thermal conductivity.
Definition CConfig.hpp:2813
unsigned short GetnMarker_Turbomachinery(void) const
number Turbomachinery performance option specified from config file.
Definition CConfig.hpp:5468
su2double GetDensity_FreeStream(void) const
Get the value of the freestream density.
Definition CConfig.hpp:1876
su2double GetDisp_Dir_Value(const string &val_index) const
Get the force value at a load boundary defined in cartesian coordinates.
Definition CConfig.cpp:10283
UPWIND GetKind_Upwind_Species() const
Get the kind of upwind convective numerical scheme for the Species equations.
Definition CConfig.hpp:5157
string GetMarker_EngineInflow_TagBound(unsigned short val_marker) const
Get the index of the surface defined in the geometry file.
Definition CConfig.hpp:3505
void SetHeatSource_Center(su2double x_cent, su2double y_cent, su2double z_cent)
Set the position of the center of the volumetric heat source.
Definition CConfig.hpp:6672
su2double GetInitial_BCThrust(void) const
Get the value of the non-dimensionalized actuator disk turbulence intensity.
Definition CConfig.hpp:2185
unsigned short GetMarker_ZoneInterface(const string &val_marker) const
Get the name of the marker val_marker.
Definition CConfig.cpp:8596
unsigned long GetLimiterIter(void) const
Freeze the value of the limiter after a number of iterations.
Definition CConfig.hpp:2563
su2double GetmaxTurkelBeta() const
Get the minimum value of Beta for Roe-Turkel preconditioner.
Definition CConfig.hpp:6545
unsigned short GetKind_TimeIntScheme_Template(void)
Get the kind of integration scheme (explicit or implicit) for the template equations.
void SetActDiskInlet_MassFlow(unsigned short val_marker, su2double val_actdisk_massflow)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8048
void SetActDiskOutlet_Power(unsigned short val_marker, su2double val_actdisk_power)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8776
void SetActDiskOutlet_Thrust_BEM(unsigned short val_marker, su2double val_actdisk_thrust_bem)
Set the thrust at the outlet (actuator disk) boundary.
Definition CConfig.hpp:8783
su2double GetInflow_Pressure(const string &val_marker) const
Get the back pressure (static) at an engine inflow boundary.
Definition CConfig.cpp:9996
su2double GetPosition_Plane(void) const
Value of the position of the Near Field (y coordinate for 2D, and z coordinate for 3D).
Definition CConfig.hpp:6975
unsigned short GetnVolumeOutput(void) const
Get the number of history output variables requested.
Definition CConfig.hpp:10065
su2double GetSurface_IDC_Mach(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8685
void SetHistory_Wrt_Freq(unsigned short iter, unsigned long nIter)
SetHistory_Wrt_Freq_Inner.
Definition CConfig.hpp:10147
void SetSurface_SecondOverUniform(unsigned short val_marker, su2double val_surface_secondaryoverstream)
Set the relative secondary flow strength at the surface.
Definition CConfig.hpp:8349
su2double GetExhaust_GrossThrust(const string &val_marker) const
Get the gross thrust at an engine exhaust boundary.
Definition CConfig.cpp:10101
su2double GetwallModel_RelFac() const
Get the value of the relaxation factor for turbulence wall modeling.
Definition CConfig.hpp:1918
void SetSurface_Enthalpy(unsigned short val_marker, su2double val_surface_enthalpy)
Set the enthalpy at the surface.
Definition CConfig.hpp:8321
su2double GetPitching_Ampl(unsigned short iDim) const
Get the pitching amplitude of the mesh.
Definition CConfig.hpp:6449
bool GetSubsonicEngine(void) const
Divide the rectbles and hexahedron.
Definition CConfig.hpp:6227
unsigned short GetMarker_All_Giles(unsigned short val_marker) const
Get the Giles boundary information for a marker val_marker.
Definition CConfig.hpp:3811
su2double GetGeo_Waterline_Location(void) const
Get the location of the waterline.
Definition CConfig.hpp:5589
unsigned short GetnDV_Value(unsigned short iDV) const
Get the number of design variables.
Definition CConfig.hpp:3064
bool GetCFL_Adapt(void) const
Get the value of the CFL adaption flag.
Definition CConfig.hpp:1752
const su2double * GetBody_Force_Vector(void) const
Get a pointer to the body force vector.
Definition CConfig.hpp:6599
string GetMarker_EngineExhaust_TagBound(unsigned short val_marker) const
Get the index of the surface defined in the geometry file.
Definition CConfig.hpp:3513
su2double GetViscosity_FreeStream(void) const
Get the value of the freestream viscosity.
Definition CConfig.hpp:1858
su2double GetChargeCoeff(void) const
Get the charge coefficient that is used in the poissonal potential simulation.
Definition CConfig.hpp:2944
unsigned long GetEdgeColoringGroupSize(void) const
Get the size of the edge groups colored for OpenMP parallelization of edge loops.
Definition CConfig.hpp:10224
unsigned short GetMax_BasisDim(void) const
Get maximum number of POD basis dimensions (default: 100).
Definition CConfig.hpp:10287
LIMITER GetKind_SlopeLimit_Flow(void) const
Get the method for limiting the spatial gradients.
Definition CConfig.hpp:4964
unsigned short GetKind_Data_Giles(const string &val_marker) const
Get Kind Data for the Giles BC.
Definition CConfig.cpp:9725
POD_KIND GetKind_PODBasis(void) const
Static or incremental toggle for POD basis generation type.
Definition CConfig.hpp:10281
unsigned short GetnMarker_SobolevBC(void) const
Get the total number of markers for gradient treatment.
Definition CConfig.hpp:3285
unsigned long GetExtIter_OffSet(void) const
Get the current internal iteration number.
Definition CConfig.hpp:3393
void SetMarker_All_Deform_Mesh_Sym_Plane(unsigned short val_marker, unsigned short val_deform)
Set if a marker val_marker allows deformation at the boundary.
Definition CConfig.hpp:3688
void SetSurface_MomentumDistortion(unsigned short val_marker, su2double val_surface_momentumdistortion)
Set the momentum distortion at the surface.
Definition CConfig.hpp:8356
su2double GetCFL(unsigned short val_mesh) const
Get the Courant Friedrich Levi number for each grid.
Definition CConfig.hpp:2989
su2double GetQuadrature_Factor_Curved(void) const
Get the factor applied during quadrature of curved elements.
Definition CConfig.hpp:9575
const DataDrivenFluid_ParsedOptions & GetDataDrivenParsedOptions() const
Get parsed option data structure for data-driven fluid model.
Definition CConfig.hpp:10394
void SetAoA(su2double val_AoA)
Set the angle of attack.
Definition CConfig.hpp:2907
void SetAeroelastic_n1(void)
Value of Aeroelastic solution coordinate at time n-1 from time n.
Definition CConfig.hpp:8940
BGS_RELAXATION GetRelaxation_Method_BGS(void) const
Get the relaxation method chosen for the simulation.
Definition CConfig.hpp:9556
bool GetLeastSquaresRequired(void) const
Get flag for whether a least-squares gradient method is being applied.
Definition CConfig.hpp:4378
unsigned short GetnFFD_Fix_JDir(void) const
Get the number of planes to fix in the J direction.
Definition CConfig.hpp:3933
void SetOutlet_Pressure(su2double val_pressure, const string &val_marker)
Set the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:9648
void SetActDisk_MassFlow(unsigned short val_marker, su2double val_actdisk_massflow)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8216
std::array< su2double, 3 > GetRefOriginMoment(unsigned short val_marker) const
Get reference origin for moment computation.
Definition CConfig.hpp:1604
unsigned short GetKind_Poisson_Linear_Solver_Prec(void) const
Get the kind of preconditioner for the linear solver of the poisson problem.
Definition CConfig.hpp:4401
unsigned long GetNonphysical_Points(void) const
Get the current number of non-physical nodes in the solution.
Definition CConfig.hpp:9230
su2double GetInlet_Pressure(const string &val_index) const
Get the pressure at a supersonic inlet boundary.
Definition CConfig.cpp:9587
su2double GetCurrent_UnstTime(void) const
If we are performing an unsteady simulation, this is the value of current time.
Definition CConfig.hpp:6221
su2double GetActDisk_TotalTempRatio(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8104
CHECK_TAPE_VARIABLES GetAD_CheckTapeVariables(void) const
Get the type of variables that will be checked for in a tape debug run.
Definition CConfig.hpp:9782
bool GetReconstructionGradientRequired(void) const
Get flag for whether a second gradient calculation is required for upwind reconstruction alone.
Definition CConfig.hpp:4372
void SetIncTemperature_BC(su2double val_temperature)
Set the inlet temperature imposed as BC for incompressible flow.
Definition CConfig.cpp:9874
short GetMarker_All_PerBound(unsigned short val_marker) const
Get an internal index that identify the periodic boundary conditions.
Definition CConfig.hpp:3741
su2double GetGust_Begin_Time(void) const
Value of the time at which to begin the gust.
Definition CConfig.hpp:9047
unsigned short GetAeroelasticIter(void) const
Aeroelastic solve every x inner iteration.
Definition CConfig.hpp:8975
const su2double & GetDV_Value(unsigned short val_dv, unsigned short val_val=0) const
Definition CConfig.hpp:6254
bool GetNewtonKrylov(void) const
Get whether to use a Newton-Krylov method.
Definition CConfig.hpp:4521
void SetActDisk_BCThrust(const string &val_marker, su2double val_actdisk_bcthrust)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:9313
DIFFUSIVITYMODEL GetKind_Diffusivity_Model(void) const
Get the value of the mass diffusivity model.
Definition CConfig.hpp:4172
su2double GetdCD_dCL(void) const
Value of the weight of the CD, CL, CM optimization.
Definition CConfig.hpp:6999
void SetSpecificHeatCp_FreeStream(su2double val_specificheatCp_freestream)
Set the freestream specific heat capacity at constant pressure.
Definition CConfig.hpp:2745
su2double GetSIMP_MinStiffness(void) const
Get lower bound for density-based stiffness penalization.
Definition CConfig.hpp:9837
unsigned short GetnMarker_MixingPlaneInterface(void) const
number mixing plane interface specified from config file.
Definition CConfig.hpp:5426
long GetUnst_AdjointIter(void) const
Get the starting direct iteration number for the unsteady adjoint (reverse time integration).
Definition CConfig.hpp:3339
bool GetIonization(void) const
Indicates whether electron gas is present in the gas mixture.
Definition CConfig.hpp:5753
void SetMarker_All_Turbomachinery(unsigned short val_marker, unsigned short val_turbo)
Set if a marker val_marker is part of the Turbomachinery (read from the config file).
Definition CConfig.hpp:3630
su2double GetCFLRedCoeff_Species() const
Value of the CFL reduction in species problems.
Definition CConfig.hpp:7400
void SetMarker_All_Deform_Mesh(unsigned short val_marker, unsigned short val_deform)
Set if a marker val_marker allows deformation at the boundary.
Definition CConfig.hpp:3681
su2double GetLoad_Value(const string &val_index) const
Get the force value at an load boundary.
Definition CConfig.cpp:10255
su2double GetEntropyFix_Coeff(void) const
Get the entropy fix.
Definition CConfig.hpp:4581
array< su2double, 5 > GetNewtonKrylovDblParam() const
Get Newton-Krylov floating-point parameters.
Definition CConfig.hpp:4531
su2double GetGust_WaveLength(void) const
Value of the gust wavelength.
Definition CConfig.hpp:9032
su2double GetActDiskBem_CG(unsigned short iDim, string val_marker, unsigned short val_index) const
Get the Center of the actuator disk with BEM.
Definition CConfig.cpp:9369
su2double GetOutlet_MassFlow(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:9385
string GetlibROMbase_FileName(void) const
Get the name of the file for libROM to save.
Definition CConfig.hpp:10275
su2double GetAeroelastic_Flutter_Speed_Index(void) const
Aeroelastic Flutter Speed Index.
Definition CConfig.hpp:8945
su2double GetVenkat_LimiterCoeff(void) const
Get the value of limiter coefficient.
Definition CConfig.hpp:2557
su2double GetSpecificHeatCp_FreeStream(void) const
Get the value of the freestream heat capacity at constant pressure.
Definition CConfig.hpp:1870
void SetnLevels_TimeAccurateLTS(unsigned short val_nLevels)
Set the number of time levels for time accurate local time stepping.
Definition CConfig.hpp:3147
void SetTime_Ref(su2double val_time_ref)
Set the reference time for nondimensionalization.
Definition CConfig.hpp:2643
bool GetUse_Accurate_Jacobians(void) const
Get whether to "Use Accurate Jacobians" for AUSM+up(2) and SLAU(2).
Definition CConfig.hpp:4801
bool GetMultizone_Mesh(void) const
Check if the mesh read supports multiple zones.
Definition CConfig.hpp:9936
VERIFICATION_SOLUTION GetVerification_Solution(void) const
Get the verification solution.
Definition CConfig.hpp:9817
void SetMarker_All_TagBound(unsigned short val_marker, string val_index)
Set the value of the index val_index (read from the geometry file) for the marker val_marker.
Definition CConfig.hpp:3572
void SetGlobalParam(MAIN_SOLVER val_solver, unsigned short val_system)
Set the global parameters of each simulation for each runtime system.
Definition CConfig.cpp:9079
su2double GetOutlet_Density(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:9392
su2double GetExhaust_Temperature(const string &val_marker) const
Get the temperature (static) at an engine exhaust boundary.
Definition CConfig.cpp:10073
bool GetAUSMMethod(void) const
Return true if an AUSM method is in use.
Definition CConfig.hpp:4006
su2double GetCFL_Rad(void) const
Get the value of the CFL condition for radiation solvers.
Definition CConfig.hpp:9986
unsigned short GetnMarker_Analyze(void) const
Get the total number of moving markers.
Definition CConfig.hpp:3303
string GetMarker_TurboPerf_BoundOut(unsigned short index) const
get outlet bounds name for Turbomachinery performance calculation.
Definition CConfig.hpp:5536
void SetActDisk_TotalTempRatio(unsigned short val_marker, su2double val_actdisk_tempratio)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8433
su2double GetExhaust_Temperature_Target(const string &val_index) const
Get the total temperature at a nacelle boundary.
Definition CConfig.cpp:9524
su2double GetRotation_Rate(unsigned short iDim) const
Get the rotation rate of the mesh.
Definition CConfig.hpp:6391
su2double GetDensity_Ref(void) const
Get the value of the reference density for non-dimensionalization.
Definition CConfig.hpp:1973
su2double GetPressureOut_BC() const
Get the outlet pressure imposed as BC for internal flow.
Definition CConfig.cpp:9732
su2double GetRiemann_Var2(const string &val_marker) const
Get the var 2 at Riemann boundary.
Definition CConfig.cpp:9662
string GetMarker_TurboPerf_BoundIn(unsigned short index) const
get inlet bounds name for Turbomachinery performance calculation.
Definition CConfig.hpp:5530
su2double GetdNetThrust_dBCThrust(void) const
Get the value of NetThrust_dBCThrust.
Definition CConfig.hpp:9171
su2double GetMUSCL_Kappa_Flow(void) const
Get the blending coefficient for the MUSCL scheme.
Definition CConfig.hpp:4795
void SetPhysicalTime(su2double val_t)
Set the current physical time.
Definition CConfig.hpp:3411
su2double GetActDisk_BCThrust(const string &val_marker) const
Get the origin of the actuator disk.
Definition CConfig.cpp:9297
void SetViscosity_Ref(su2double val_viscosity_ref)
Set the reference viscosity for nondimensionalization.
Definition CConfig.hpp:2685
void SetMarker_All_Designing(unsigned short val_marker, unsigned short val_designing)
Set if a marker val_marker is going to be designed val_designing (read from the config file).
Definition CConfig.hpp:3599
void SetMarkers(SU2_COMPONENT val_software)
Config file markers processing.
Definition CConfig.cpp:6021
void SetThermalDiffusivity(su2double val_thermal_diffusivity)
Set the thermal diffusivity for solids.
Definition CConfig.hpp:2867
su2double GetHeatSource_Rot_Z(void) const
Get the rotation angle of the volumetric heat source in axis Z.
Definition CConfig.hpp:6652
unsigned short GetMarker_CfgFile_Fluid_Load(const string &val_marker) const
Get the Fluid_Load information from the config definition for the marker val_marker.
Definition CConfig.cpp:8575
su2double GetViscosity_Ref(void) const
Get the value of the reference viscosity for non-dimensionalization.
Definition CConfig.hpp:1991
bool GetSmoothSepDim(void) const
Check if we split in the dimensions.
Definition CConfig.hpp:10317
su2double GetSurface_TotalPressure(unsigned short val_marker) const
Get the total pressure at an outlet boundary.
Definition CConfig.hpp:8650
bool GetEnforceLES(void) const
Get if the LES mode must be enforced.
Definition CConfig.hpp:9748
TURB_MODEL GetKind_Turb_Model(void) const
Get the kind of the turbulence model.
Definition CConfig.hpp:4693
void SetRate(su2double val)
General interface for setting the rate of motion in grid ramps.
Definition CConfig.hpp:6406
unsigned short GetnMarker_DV(void) const
Get the total number of DV markers.
Definition CConfig.hpp:3273
su2double GetExhaust_TotalTemperature(const string &val_marker) const
Get the total temperature at an engine exhaust boundary.
Definition CConfig.cpp:10094
FLAMELET_ENTHALPY_BC GetFlamelet_Enthalpy_BC() const
Get the enthalpy BC mode for the flamelet solver. FLOW_MARKERS: derive enthalpy BCs from MARKER_ISOTH...
Definition CConfig.hpp:10408
string GetVolumeOutput_Field(unsigned short iField) const
Get the history output field iField.
Definition CConfig.hpp:10070
void SetNonphysical_Points(unsigned long val_nonphys_points)
Set the current number of non-physical nodes in the solution.
Definition CConfig.hpp:9224
VISCOSITYMODEL GetKind_ViscosityModel() const
Get the value of the viscosity model.
Definition CConfig.hpp:4148
unsigned short GetKind_PerformanceAverageProcess(void) const
Get the kind of mixing process for averaging quantities at the boundaries.
Definition CConfig.hpp:5301
bool GetInvDesign_Cp(void) const
Information about computing and plotting the equivalent area distribution.
Definition CConfig.hpp:5780
su2double GetMu_PolyCoeff(unsigned short val_index) const
Get the temperature polynomial coefficient for viscosity.
Definition CConfig.hpp:4295
CENTERED GetKind_Centered_AdjTurb(void) const
Get the kind of center convective numerical scheme for the adjoint turbulence equations.
Definition CConfig.hpp:5188
bool GetUse_Accurate_Turb_Jacobians(void) const
Get whether to "Use Accurate Jacobians" for Standard SA turbulence model.
Definition CConfig.hpp:4807
string GetMarker_Monitoring_TagBound(unsigned short val_marker) const
Get the name of the surface defined in the geometry file.
Definition CConfig.hpp:3521
su2double GetThermal_Expansion_Coeff(void) const
Get the thermal expansion coefficient.
Definition CConfig.hpp:2217
void SetActDiskOutlet_Force(unsigned short val_marker, su2double val_actdisk_force)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8769
su2double GetKnowles_B(void) const
Get the value of the B constant in the Knowles material model.
Definition CConfig.hpp:2337
unsigned short GetnMarker_All(void) const
Get the total number of boundary markers of the local process including send/receive domains.
Definition CConfig.hpp:3183
unsigned short GetCauchy_Elems(void) const
Get the number of iterations that are considered in the Cauchy convergence criteria.
Definition CConfig.hpp:6167
const su2double * GetFreeStreamTurboNormal(void) const
Set freestream turbonormal for initializing solution.
Definition CConfig.hpp:9270
bool SetRunTime_Parsing(char case_filename[MAX_STRING_SIZE])
Set the config file parsing.
Definition CConfig.cpp:3480
bool GetInconsistent_Disc(void) const
Provides information about using an inconsistent (primal/dual) discrete adjoint formulation.
Definition CConfig.hpp:5216
su2double GetActDisk_Area(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8153
su2double GetActDisk_TotalPressRatio(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8097
string GetSurfAdjCoeff_FileName(void) const
Get the name of the file with the surface information for the adjoint problem.
Definition CConfig.hpp:6115
void SetAeroelastic_np1(unsigned short iMarker, vector< vector< su2double > > solution)
Value of Aeroelastic solution coordinate at time n+1.
Definition CConfig.hpp:8930
const su2double * GetLoad_Sine(void) const
Get the sine load properties.
Definition CConfig.hpp:9453
void SetnSpanMaxAllZones(unsigned short val_nSpna_max)
set number of maximum span-wise sections among all zones .
Definition CConfig.hpp:5503
void SetOutput(SU2_COMPONENT val_software, unsigned short val_izone)
Config file output.
Definition CConfig.cpp:6594
su2double GetActDiskOutlet_Temperature(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10220
void SetMach(su2double val_mach)
Set the Mach number.
Definition CConfig.hpp:2595
unsigned short GetMarker_All_Turbomachinery(unsigned short val_marker) const
Get the Turbomachinery information for a marker val_marker.
Definition CConfig.hpp:3797
TURB_SGS_MODEL GetKind_SGS_Model(void) const
Get the kind of the subgrid scale model.
Definition CConfig.hpp:4723
void SetMUSCLRampValue(su2double ramp_value)
Set MUSCL ramp value.
Definition CConfig.hpp:5346
bool GetWall_Functions(void) const
Get information about whether to use wall functions.
Definition CConfig.hpp:9695
su2double GetInflow_MassFlow(const string &val_marker) const
Get the mass flow rate at an engine inflow boundary.
Definition CConfig.cpp:10003
su2double GetMaterialThermalExpansion(unsigned short id_val) const
Get the thermal expansion coefficient.
Definition CConfig.hpp:2451
const su2double * GetKt_PolyCoeffND(void) const
Get the temperature polynomial coefficients for thermal conductivity.
Definition CConfig.hpp:4328
void SetHeatSource_Rot_Z(su2double val_rot)
Set the rotation angle of the volumetric heat source in axis Z.
Definition CConfig.hpp:6658
unsigned short GetnInc_Inlet(void) const
Get the total number of types in Kind_Inc_Inlet list.
Definition CConfig.hpp:5265
bool GetPyCustomSource(void) const
Get the Python custom source term activation.
Definition CConfig.hpp:3297
bool GetSpecial_Output(void) const
Check if the special output is written.
Definition CConfig.hpp:10010
su2double GetRefGeom_Penalty(void) const
Get the penalty weight value for the objective function.
Definition CConfig.hpp:9467
su2double GetTotal_UnstTime(void) const
If we are performing an unsteady simulation, this is the value of max physical time for which we run ...
Definition CConfig.hpp:6214
string GetObjFunc_Value_FileName(void) const
Get the name of the file with the gradient of the objective function.
Definition CConfig.hpp:6103
su2double GetConstant_Lewis_Number(unsigned short val_index=0) const
Get the value of the Lewis number for each species.
Definition CConfig.hpp:4230
void SetTotal_UnstTimeND(su2double val_total_unsttimend)
Set the non-dimensional total time for unsteady simulations.
Definition CConfig.hpp:2873
TAB_OUTPUT GetTabular_FileFormat(void) const
Get the format of the output solution.
Definition CConfig.hpp:5910
su2double GetTarget_CL(void) const
Get the value specified for the target CL.
Definition CConfig.hpp:9147
unsigned long GetLinear_Solver_Iter(void) const
Get max number of iterations of the linear solver for the implicit formulation.
Definition CConfig.hpp:4437
unsigned short GetnDV_Total(void) const
Get the total number of design variables.
Definition CConfig.hpp:3072
su2double GetPrandtl_Turb(unsigned short val_index=0) const
Get the value of the turbulent Prandtl number.
Definition CConfig.hpp:1900
su2double GetInflow_TotalTemperature(const string &val_marker) const
Get the total temperature at an engine inflow boundary.
Definition CConfig.cpp:10031
unsigned short GetKind_TimeIntScheme_AdjFlow(void) const
Get the kind of integration scheme (explicit or implicit) for the adjoint flow equations.
Definition CConfig.hpp:5028
INLET_TYPE GetKind_Inlet(void) const
Get the kind of inlet boundary condition treatment (total conditions or mass flow).
Definition CConfig.hpp:5235
bool GetWrt_Restart_Compact(void) const
Flag for whether restart files contain only necessary variables.
Definition CConfig.hpp:5684
su2double GetLength_Ref(void) const
Get the value of the reference length for non-dimensionalization. This value should always be 1 inter...
Definition CConfig.hpp:1943
unsigned short GetnMarker_CfgFile(void) const
Get the total number of boundary markers in the config file.
Definition CConfig.hpp:3189
su2double GetTime_Ref(void) const
Get the value of the reference time for non-dimensionalization.
Definition CConfig.hpp:1985
unsigned long GetLinear_Solver_Restart_Frequency(void) const
Get restart frequency of the linear solver for the implicit formulation.
Definition CConfig.hpp:4466
void SetOmega_Ref(su2double val_omega_ref)
Set the reference Omega for nondimensionalization.
Definition CConfig.hpp:2655
const su2double * GetTimeIntegrationADER_DG(void) const
Get the location of the time integration points for ADER-DG on the interval [-1..1].
Definition CConfig.hpp:3171
short GetFFD_Fix_KDir(unsigned short val_index) const
plane of the FFD (K axis) that should be fixed.
Definition CConfig.hpp:3921
const su2double * GetHold_GridFixed_Coord(void) const
Get the coordinates where of the box where the grid is going to be deformed.
Definition CConfig.hpp:1687
unsigned short GetnWall_Catalytic(void) const
Get the total number of heat flux markers.
Definition CConfig.hpp:4063
unsigned short GetMarker_All_Analyze(unsigned short val_marker) const
Get the plotting information for a marker val_marker.
Definition CConfig.hpp:3776
string GetTagFFDBox(unsigned short val_ffd) const
Get the FFD Tag of a particular FFD box.
Definition CConfig.hpp:3052
bool GetMonoatomic(void) const
Indicates if mixture is monoatomic.
Definition CConfig.hpp:5763
su2double GetPhysicalTime(void) const
Get the current physical time.
Definition CConfig.hpp:3417
su2double GetRadialBasisFunctionParameter(void) const
Get the basis function radius to use for radial basis function interpolation for FSI.
Definition CConfig.hpp:9640
su2double GetPrandtl_Lam(unsigned short val_index=0) const
Get the value of the laminar Prandtl number.
Definition CConfig.hpp:1894
unsigned short GetnLocationStations(void) const
Get the number of sections.
Definition CConfig.hpp:5577
void SetOmega_FreeStream(su2double val_omega_freestream)
Set the freestream specific dissipation rate omega.
Definition CConfig.hpp:2843
bool GetAxisymmetric(void) const
Get information about the axisymmetric frame.
Definition CConfig.hpp:6692
unsigned short GetnSpanWiseSections(void) const
number span-wise sections to compute 3D BC and performance for turbomachinery.
Definition CConfig.hpp:5498
su2double GetwallModel_Kappa() const
Get the value of the von Karman constant kappa for turbulence wall modeling.
Definition CConfig.hpp:1906
su2double GetRefArea(void) const
Get the reference area for non dimensional coefficient computation. If the value from the is 0 then,...
Definition CConfig.hpp:2211
unsigned short GetKind_ConvNumScheme_AdjFlow(void) const
Get the kind of convective numerical scheme for the adjoint flow equations (centered or upwind).
Definition CConfig.hpp:5037
su2double GetPressure_Critical(void) const
Get the value of the critical pressure.
Definition CConfig.hpp:4130
string GetDV_Unordered_Sens_Filename(void) const
Get name of the unordered ASCII volume sensitivity file.
Definition CConfig.hpp:8869
void SetDamp_Correc_Prolong(su2double val)
Set the damping factor for the correction prolongation (used by adaptive MG damping).
Definition CConfig.hpp:6969
static unsigned short CheckOpenSU2BinFile(const string &val_mesh_filename, bool readnDim)
Helper function, which checks and opens a binary SU2 file.
Definition CConfig.cpp:602
su2double GetCFLRedCoeff_Turb(void) const
Value of the CFL reduction in turbulence problems.
Definition CConfig.hpp:7394
void SetInflow_Power(unsigned short val_marker, su2double val_fanface_power)
Set the power at an engine inflow boundary.
Definition CConfig.hpp:7837
UPWIND GetKind_Upwind_AdjFlow(void) const
Get the kind of upwind convective numerical scheme for the adjoint flow equations.
Definition CConfig.hpp:5053
unsigned short GetTopology_Optim_Num_Kernels(void) const
Number of kernels to use in filtering the design density field.
Definition CConfig.hpp:9842
su2double GetTemperature_FreeStream(void) const
Get the value of the freestream temperature.
Definition CConfig.hpp:1841
su2double GetSurface_SecondaryStrength(unsigned short val_marker) const
Get the secondary flow strength at the surface.
Definition CConfig.hpp:8622
unsigned short GetNumNearestNeighbors(void) const
Get the number of donor points to use in Nearest Neighbor interpolation.
Definition CConfig.hpp:9650
void SetModVel_FreeStream(su2double val_modvel_freestream)
Set the magnitude of the free-stream velocity.
Definition CConfig.hpp:2751
unsigned short GetiInst(void) const
Get the current instance.
Definition CConfig.hpp:9352
void SetSurface_IDC(unsigned short val_marker, su2double val_surface_distortion)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8398
void SetSurface_Pressure(unsigned short val_marker, su2double val_surface_pressure)
Set the pressure at the surface.
Definition CConfig.hpp:8307
su2double GetMach_Motion(void) const
Get the mach number based on the mesh velocity and freestream quantities.
Definition CConfig.hpp:6322
MIXINGVISCOSITYMODEL GetKind_MixingViscosityModel() const
Get the value of the mixing model for viscosity.
Definition CConfig.hpp:4154
unsigned short GetKind_Matrix_Coloring(void) const
Get the kind of matrix coloring used for the sparse Jacobian computation.
Definition CConfig.hpp:4952
su2double GetNacelleLocation(unsigned short val_index) const
Get the defintion of the nacelle location.
Definition CConfig.hpp:3895
void SetEnergy_Ref(su2double val_energy_ref)
Set the reference energy for nondimensionalization.
Definition CConfig.hpp:2649
su2double GetCauchy_Eps(void) const
Get the value of convergence criteria for the Cauchy method in the direct, adjoint or linearized prob...
Definition CConfig.hpp:6180
su2double GetNewtonKrylovRelaxation() const
Get the Newton-Krylov relaxation.
Definition CConfig.hpp:4536
su2double GetMeshBoxLength(unsigned short val_iDim) const
Get the length of the analytic RECTANGLE or BOX grid in the specified coordinate direction.
Definition CConfig.hpp:10028
bool GetInletUseNormal(void) const
Flag for whether the local boundary normal is used as the flow direction for an incompressible pressu...
Definition CConfig.hpp:5271
unsigned short GetnMarker_Max(void) const
Get the total number of boundary markers in the cfg plus the possible send/receive domains.
Definition CConfig.hpp:3207
su2double GetSurface_TotalTemperature(unsigned short val_marker) const
Get the total temperature at an outlet boundary.
Definition CConfig.hpp:8643
unsigned short GetKind_TimeIntScheme_Flow(void) const
Get the kind of integration scheme (explicit or implicit) for the flow equations.
Definition CConfig.hpp:4816
su2double GetActDisk_ReverseMassFlow(const string &val_marker) const
Get the tip radius of th actuator disk.
Definition CConfig.cpp:9337
su2double GetConfinement_Param(void) const
Get the value of the Confinement Parameter.
Definition CConfig.hpp:1740
MG_CYCLE GetMGCycle(void) const
Get the kind of multigrid (V, W or FULLMG).
Definition CConfig.hpp:2976
unsigned short GetDynamic_LoadTransfer(void) const
Get the kind of load transfer method we want to use for dynamic problems.
Definition CConfig.hpp:9461
su2double GetActDiskInlet_Pressure(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10122
string GetMultizone_FileName(string val_filename, int val_iZone, const string &ext) const
Append the zone index to the restart or the solution files.
Definition CConfig.cpp:8947
su2double GetReynolds(void) const
Get the Reynolds number. Dimensionless number that gives a measure of the ratio of inertial forces to...
Definition CConfig.hpp:2577
void SetMarker_All_Giles(unsigned short val_marker, unsigned short val_giles)
Set if a marker val_marker is part of the Giles boundary (read from the config file).
Definition CConfig.hpp:3651
unsigned short GetKind_ConvNumScheme_Template(void) const
Get the kind of convective numerical scheme for the template equations (centered or upwind).
Definition CConfig.hpp:4904
unsigned short GetDV_FEA(void) const
Get the kind of design variable for FEA.
Definition CConfig.hpp:2349
void SetnSpan_iZones(unsigned short nSpan, unsigned short iZone)
set number span-wise sections to compute 3D BC and performance for turbomachinery.
Definition CConfig.hpp:5524
vector< string > fields
Tags for the different fields in a restart file.
Definition CConfig.hpp:1496
unsigned short GetnIntCoeffs(void) const
Get the number of integration coefficients provided by the user.
Definition CConfig.hpp:9376
su2double GetParamDV(unsigned short val_dv, unsigned short val_param) const
Get a parameter of the particular design variable.
Definition CConfig.hpp:3022
void SetGas_Constant_Ref(su2double val_gas_constant_ref)
Set the reference gas-constant for nondimensionalization.
Definition CConfig.hpp:2667
su2double GetSemiSpan(void) const
Get the wing semi span.
Definition CConfig.hpp:4557
su2double GetMach(void) const
Get the value of the Mach number (velocity divided by speed of sound).
Definition CConfig.hpp:1728
CHECK_TAPE_TYPE GetAD_CheckTapeType(void) const
Get the type of tape that will be checked in a tape debug run.
Definition CConfig.hpp:9777
bool GetBoolRelFrame_SlidingPlane(void) const
Verify if a sliding plane for relative frame is specified from config file.
Definition CConfig.hpp:5438
su2double GetInlet_Temperature(const string &val_index) const
Get the temperature at a supersonic inlet boundary.
Definition CConfig.cpp:9580
su2double GetActDisk_Mach(const string &val_marker) const
Get the origin of the actuator disk.
Definition CConfig.cpp:9281
su2double GetRamp_Time(void) const
Get the maximum time of the ramp.
Definition CConfig.hpp:9434
unsigned short GetMarker_CfgFile_SobolevBC(const string &val_marker) const
Get the gradient boundary information from the config definition for the marker val_marker.
Definition CConfig.cpp:8603
unsigned short GetnTurbVar(void) const
Get the number of Turbulence Variables.
Definition CConfig.hpp:4687
void SetActDiskInlet_Temperature(unsigned short val_marker, su2double val_actdisk_temp)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7985
void SetMarker_All_ZoneInterface(unsigned short val_marker, unsigned short val_fsiinterface)
Set if a marker val_marker is part of the FSI interface val_plotting (read from the config file).
Definition CConfig.hpp:3623
bool GetSpatialFourier(void) const
Verify if there is mixing plane interface specified from config file.
Definition CConfig.hpp:5420
const su2double * GetSupercatalytic_Wall_Composition(void) const
Provides the gas mass fractions at the wall for supercat wall.
Definition CConfig.hpp:5666
unsigned short GetnMarker_ZoneInterface(void) const
Get the number of markers in the multizone interface.
Definition CConfig.hpp:6875
bool GetAD_Preaccumulation(void) const
Get if AD preaccumulation should be performed.
Definition CConfig.hpp:9787
CENTERED GetKind_Centered_Turb(void) const
Get the kind of center convective numerical scheme for the turbulence equations.
Definition CConfig.hpp:5097
unsigned short GetKind_Grad_Linear_Solver(void) const
Get the kind of solver for the gradient smoothing.
Definition CConfig.hpp:10353
void SetTemperature_FreeStream(su2double val_temperature_freestream)
Set the freestream temperature.
Definition CConfig.hpp:2763
const su2double * GetMu_PolyCoeffND(void) const
Get the temperature polynomial coefficients for viscosity.
Definition CConfig.hpp:4308
unsigned short GetKind_SpanWise(void) const
Get the kind of turbomachinery architecture.
Definition CConfig.hpp:5402
void SetInflow_Force(unsigned short val_marker, su2double val_fanface_force)
Set the force balance at an engine inflow boundary.
Definition CConfig.hpp:7830
unsigned short GetnElectric_Field(void) const
Get the number of different values for the modulus of the electric field.
Definition CConfig.hpp:9395
su2double GetActDiskOutlet_Pressure(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10157
void SetActDiskInlet_TotalTemperature(unsigned short val_marker, su2double val_actdisk_totaltemp)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7992
su2double GetSchmidt_Number_Laminar(void) const
Get the value of the laminar Schmidt number for scalar transport.
Definition CConfig.hpp:4218
unsigned short GetnPolyCoeffs(void) const
Get the number of coefficients in the temperature polynomial models.
Definition CConfig.hpp:4274
void SetExtIter_OffSet(unsigned long val_iter)
Set the current external iteration number.
Definition CConfig.hpp:3363
su2double GetThermalDiffusivity(void) const
Get the value of the thermal diffusivity for solids.
Definition CConfig.hpp:1936
su2double GetInc_Velocity_Ref(void) const
Get the value of the reference velocity for custom incompressible non-dimensionalization.
Definition CConfig.hpp:2247
string GetConv_Field(unsigned short iField) const
Get the convergence fields for monitoring.
Definition CConfig.hpp:10077
su2double GetKappa_4th_AdjFlow(void) const
Value of the calibrated constant for the high order method (center scheme).
Definition CConfig.hpp:5065
ENUM_SOBOLEV_MODUS GetSobMode(void) const
The modus of operation for the Sobolev solver.
Definition CConfig.hpp:10335
su2double GetExhaust_Pressure_Target(const string &val_index) const
Get the total pressure at an nacelle boundary.
Definition CConfig.cpp:9531
su2double GetActDiskInlet_TotalPressure(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10129
void SetTke_FreeStream(su2double val_tke_freestream)
Set the freestream turbulent kinetic energy.
Definition CConfig.hpp:2837
bool GetHeatProblem(void) const
Return true if a heat solver is in use.
Definition CConfig.hpp:3974
string GetTopology_Optim_FileName(void) const
Get name of output file for topology optimization derivatives.
Definition CConfig.hpp:9827
bool GetCompute_Entropy(void) const
Function to make available whether or not the entropy must be computed.
Definition CConfig.hpp:9601
su2double GetMarkerTranslationRate(unsigned short iMarkerMoving, unsigned short iDim) const
Get the translational velocity of the marker.
Definition CConfig.hpp:6375
su2double GetRestart_Bandwidth_Agg(void) const
Set the sum of the bandwidth for writing binary restarts (to be averaged later).
Definition CConfig.hpp:9736
su2double GetAoS_Offset(void) const
Get the off set sideslip angle of the body. The solution and the geometry file are able to modifity t...
Definition CConfig.hpp:2895
su2double GetActDisk_NetThrust(const string &val_marker) const
Get the origin of the actuator disk.
Definition CConfig.cpp:9257
su2double GetActDisk_Omega(const string &val_marker, unsigned short val_index) const
Get the rev / min of the actuator disk.
Definition CConfig.cpp:9361
unsigned short GetnVar(void)
Provides the number of variables.
su2double GetWeight_ObjFunc(unsigned short val_obj) const
Get the weight of objective function. There are several options: Drag coefficient,...
Definition CConfig.hpp:5615
su2double GetEngine_Mach(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7942
string GetSurfSens_FileName(void) const
Get the name of the file with the surface sensitivity (discrete adjoint).
Definition CConfig.hpp:6121
su2double GetAdjointLimit(void) const
Get the limit value for the adjoint variables.
Definition CConfig.hpp:1681
short GetMarker_All_SendRecv(unsigned short val_marker) const
Get the send-receive information for a marker val_marker.
Definition CConfig.hpp:3734
void SetEngine_Mach(unsigned short val_marker, su2double val_engine_mach)
Set the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7900
bool GetDE_Effects(void) const
Decide whether to apply DE effects to the model.
Definition CConfig.hpp:2319
bool GetTurb_Fixed_Values(void) const
Get whether fixed values for turbulence quantities are applied.
Definition CConfig.hpp:9058
su2double GetAitkenDynMinInit(void) const
Get Aitken's maximum relaxation parameter for dynamic relaxation cases and first iteration.
Definition CConfig.hpp:9329
void SetdNetThrust_dBCThrust(su2double val_dnetthrust_dbcthrust)
Value of the damping factor for the Thrust BC (actuator disk).
su2double GetFFD_Tol(void) const
Get the tolerance of the point inversion algorithm.
Definition CConfig.hpp:9078
bool GetDynamic_Grid(void) const
Get information about dynamic grids.
Definition CConfig.hpp:6276
su2double GetSurface_NormalVelocity(unsigned short val_marker) const
Get the normal velocity at an outlet boundary.
Definition CConfig.hpp:8608
su2double GetSmoothingEps2(void) const
Gets the factor zeta in front of the identity term.
Definition CConfig.hpp:10311
void SetExhaust_Power(unsigned short val_marker, su2double val_exhaust_power)
Set the power at an engine exhaust boundary.
Definition CConfig.hpp:7893
unsigned long GetStartWindowIteration(void) const
Get the Starting Iteration for the windowing approach in Sensitivity Analysis for period-averaged out...
Definition CConfig.hpp:5992
string GetMarker_Outlet_TagBound(unsigned short val_marker) const
Get the index of the surface defined in the geometry file.
Definition CConfig.hpp:3497
string GetWndConv_Field(unsigned short iField) const
Get functional that is going to be used to evaluate the convergence of the windowed time average of t...
Definition CConfig.hpp:10084
void SetActDisk_TotalPressRatio(unsigned short val_marker, su2double val_actdisk_pressratio)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8426
su2double GetGust_Periods(void) const
Value of the number of gust periods.
Definition CConfig.hpp:9037
void SetKind_SU2(SU2_COMPONENT val_kind_su2)
Set the kind of SU2 software component.
Definition CConfig.hpp:4681
void SetMarker_All_Moving(unsigned short val_marker, unsigned short val_moving)
Set if a marker val_marker is going to be moved val_moving (read from the config file).
Definition CConfig.hpp:3667
short FindInterfaceMarker(unsigned short iInterface) const
Find the marker index (if any) that is part of a given interface pair.
Definition CConfig.cpp:10328
bool GetFFD_Symmetry_Plane(void) const
Define the FFD box with a symetry plane.
Definition CConfig.hpp:4645
su2double GetEngine_NetThrust(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7964
void SetActDiskInlet_Power(unsigned short val_marker, su2double val_actdisk_power)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8524
unsigned short GetnFFDBox(void) const
Get the number of FFD boxes.
Definition CConfig.hpp:3085
su2double GetKappa_2nd_Flow(void) const
Value of the calibrated constant for the JST method (center scheme).
Definition CConfig.hpp:5001
SA_ParsedOptions GetSAParsedOptions() const
Get parsed SA option data structure.
Definition CConfig.hpp:10377
string GetMarkerTag_ZoneInterface(unsigned short val_iMarker) const
Get the name of the marker val_iMarker.
Definition CConfig.hpp:6869
bool GetBoolRiemann(void) const
Verify if there is any Riemann Boundary Condition option specified from config file.
Definition CConfig.hpp:5462
void SetFinite_Difference_Mode(bool val_fd_mode)
Set whether at the end of finite differencing (Fixed CL mode)
Definition CConfig.hpp:9218
su2double GetNewmark_beta(void) const
Get Newmark alpha parameter.
Definition CConfig.hpp:9364
unsigned short GetMarker_CfgFile_Analyze(const string &val_marker) const
Get the plotting information from the config definition for the marker val_marker.
Definition CConfig.cpp:8498
bool GetRampMotionFrame(void) const
Get Motion Frame Ramp option.
Definition CConfig.hpp:5319
bool GetFrozen_Visc_Disc(void) const
Provides information about the way in which the turbulence will be treated by the disc....
Definition CConfig.hpp:5210
unsigned long GetLinear_Solver_Restart_Deflation(void) const
Get the number of vectors used for deflated restarts.
Definition CConfig.hpp:4471
const su2double * GetDisp_Dir(const string &val_index) const
Get the force direction at a loaded boundary in cartesian coordinates.
Definition CConfig.cpp:10304
bool GetFrozen_Visc_Cont(void) const
Provides information about the way in which the turbulence will be treated by the cont....
Definition CConfig.hpp:5203
string GetRefGeom_FEMFileName(void) const
Get the name of the file with the reference geometry of the structural problem.
Definition CConfig.hpp:2383
void GEMM_Tock(double val_start_time, int M, int N, int K) const
Stop the timer for the GEMM profiling and store results.
Definition CConfig.cpp:10372
void SetInflow_Pressure(unsigned short val_marker, su2double val_fanface_pressure)
Set the fan face static pressure at an engine inflow boundary.
Definition CConfig.hpp:7781
su2double GetCFLRedCoeff_AdjTurb(void) const
Get CFL reduction factor for adjoint turbulence model.
Definition CConfig.hpp:4587
void SetExhaust_GrossThrust(unsigned short val_marker, su2double val_exhaust_grossthrust)
Set the gross thrust at an engine exhaust boundary.
Definition CConfig.hpp:7879
string GetUnsteady_FileName(string val_filename, int val_iter, const string &ext) const
Append the input filename with the iteration number for an unsteady file.
Definition CConfig.cpp:8921
unsigned short GetnMarker_ActDiskInlet(void) const
Get the total number of boundary markers.
Definition CConfig.hpp:3249
void SetDensity_FreeStreamND(su2double val_density_freestreamnd)
Set the nondimensionalized freestream density.
Definition CConfig.hpp:2721
TURBO_PERF_KIND GetKind_TurboPerf(unsigned short val_iZone) const
get marker kind for Turbomachinery performance calculation.
Definition CConfig.hpp:5542
void SetAoS(su2double val_AoS)
Set the angle of attack.
Definition CConfig.hpp:2931
void SetRefOriginMoment_Y(unsigned short val_marker, su2double val_origin)
Set reference origin y-coordinate for moment computation.
Definition CConfig.hpp:1647
su2double GetGiles_Var1(const string &val_marker) const
Get the var 1 for the Giels BC.
Definition CConfig.cpp:9683
unsigned short GetnTimeInstances(void) const
Retrieves the number of periodic time instances for Harmonic Balance.
Definition CConfig.hpp:3351
void SetKt_PolyCoeffND(su2double val_coeff, unsigned short val_index)
Set the temperature polynomial coefficient for thermal conductivity.
Definition CConfig.hpp:4349
short GetMarker_All_TagBound(const string &val_tag)
Get the tag if the iMarker defined in the geometry file.
Definition CConfig.hpp:3544
bool GetReorientElements(void) const
Get information about element reorientation.
Definition CConfig.hpp:3008
void SetMarker_All_PyCustom(unsigned short val_marker, unsigned short val_PyCustom)
Set if a marker val_marker is going to be customized in Python val_PyCustom (read from the config fil...
Definition CConfig.hpp:3710
su2double GetInflow_Mach(const string &val_marker) const
Get the fan face Mach number at an engine inflow boundary.
Definition CConfig.cpp:10059
const string & GetBEM_prop_filename(void) const
Get the filename of the propeller.
Definition CConfig.hpp:7173
bool GetWeakly_Coupled_Heat(void) const
Get the heat equation.
Definition CConfig.hpp:9793
void SetRefOriginMoment_X(unsigned short val_marker, su2double val_origin)
Set reference origin x-coordinate for moment computation.
Definition CConfig.hpp:1640
unsigned short GetnID_DV(void) const
Get the ID for the FEA region that we want to compute the gradient for using direct differentiation.
Definition CConfig.hpp:9532
su2double GetWall_Emissivity(const string &val_index) const
Get the wall emissivity at a boundary.
Definition CConfig.cpp:10311
su2double GetStreamwise_Periodic_PressureDrop(void) const
Get the value of the pressure delta from which body force vector is computed.
Definition CConfig.hpp:6623
su2double GetMarkerPlunging_Ampl(unsigned short iMarkerMoving, unsigned short iDim) const
Get plunging amplitude of the marker.
Definition CConfig.hpp:6502
void SetdCL_dAlpha(su2double val_dcl_dalpha)
Value of the weight of the CD, CL, CM optimization.
Definition CConfig.hpp:7047
void SetActDiskOutlet_MassFlow(unsigned short val_marker, su2double val_actdisk_massflow)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8062
string GetMarker_Analyze_TagBound(unsigned short val_marker) const
Get the name of the surface defined in the geometry file.
Definition CConfig.hpp:7288
void SetiInst(unsigned short val_iInst)
Set the current instance.
Definition CConfig.hpp:9358
unsigned short GetnMarker_Euler(void) const
Get the number of Euler boundary markers.
Definition CConfig.hpp:3195
unsigned short GetnMarker_Monitoring(void) const
Get the total number of monitoring markers.
Definition CConfig.hpp:3267
su2double GetMaxUpdateFractionSA(void) const
Get the maximum update ratio for SA variable nu_tilde.
Definition CConfig.hpp:4500
void SetRefArea(su2double val_area)
In case the RefArea is equal to 0 then, it is necessary to compute a reference area,...
Definition CConfig.hpp:2506
su2double GetActDiskOutlet_TotalPressure(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10164
su2double GetAeroelastic_Frequency_Plunge(void) const
Uncoupled Aeroelastic Frequency Plunge.
Definition CConfig.hpp:8950
void SetFinestMesh(unsigned short val_finestmesh)
Set the finest mesh in a multigrid strategy.
Definition CConfig.hpp:2528
unsigned long GetIter_dCL_dAlpha(void) const
Number of iterations to evaluate dCL_dAlpha.
Definition CConfig.hpp:9159
su2double GetBEM_blade_angle(void) const
Get the blade angle of the propeller.
Definition CConfig.hpp:7168
unsigned short GetnMarker_TurboPerformance(void) const
number Turbomachinery performance option specified from config file.
Definition CConfig.hpp:5486
void SetReynolds(su2double val_reynolds)
Set the Reynolds number.
Definition CConfig.hpp:2601
unsigned short GetMarker_SobolevBC(const string &val_marker) const
Get the internal index for a gradient boundary condition val_marker.
Definition CConfig.cpp:9514
su2double GetInc_Density_Init(void) const
Get the value of the initial density for incompressible flows.
Definition CConfig.hpp:2259
bool GetRampOutflow(void) const
Get outflow ramp option.
Definition CConfig.hpp:5325
void SetNewtonKrylovRelaxation(const su2double &relaxation)
Set the Newton-Krylov relaxation.
Definition CConfig.hpp:4541
unsigned short GetMarker_CfgFile_Deform_Mesh_Internal(const string &val_marker) const
Get the DEFORM_MESH_INTERNAL information from the config definition for the marker val_marker.
Definition CConfig.cpp:8568
CENTERED GetKind_Centered(void) const
Get kind of center scheme for the convective terms.
Definition CConfig.hpp:4750
unsigned short GetMarker_All_Monitoring(unsigned short val_marker) const
Get the monitoring information for a marker val_marker.
Definition CConfig.hpp:3748
su2double GetStreamwise_Periodic_TargetMassFlow(void) const
Get the value of the massflow from which body force vector is computed.
Definition CConfig.hpp:6634
su2double GetPressure_FreeStreamND(void) const
Get the value of the non-dimensionalized freestream pressure.
Definition CConfig.hpp:2033
std::vector< string > GetMarkerCreateCopy() const
Get the list of markers for which to create copies.
Definition CConfig.hpp:3534
bool GetUQ_Permute(void) const
Get information about eigenspace perturbation.
Definition CConfig.hpp:9689
void SetSurface_IDR(unsigned short val_marker, su2double val_surface_distortion)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8412
unsigned short GetKind_TimeStep_Heat(void) const
Get the kind of time stepping for the heat equation.
Definition CConfig.hpp:4841
su2double GetExhaust_TotalPressure(const string &val_marker) const
Get the total pressure at an engine exhaust boundary.
Definition CConfig.cpp:10087
su2double GetBuffet_k(void) const
Get the buffet sensor sharpness coefficient.
Definition CConfig.hpp:6717
su2double GetDeform_Linear_Solver_Error(void) const
Get min error of the linear solver for the implicit formulation.
Definition CConfig.hpp:4425
void SetAeroelastic_n(void)
Value of Aeroelastic solution coordinate at time n from time n+1.
Definition CConfig.hpp:8935
void SetGiles_Var1(su2double newVar1, const string &val_marker)
Set the var 1 for Giles BC.
Definition CConfig.cpp:9690
su2double GetActDisk_StaticTempRatio(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8118
string GetMarker_HeatFlux_TagBound(unsigned short val_marker) const
Get the name of the surface defined in the geometry file.
Definition CConfig.hpp:3529
void SetOutlet_Density(unsigned short val_marker, su2double val_density)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8258
SPECIES_MODEL GetKind_Species_Model(void) const
Get the kind of the species model.
Definition CConfig.hpp:4717
unsigned long GetNonphysical_Reconstr(void) const
Get the current number of non-physical reconstructions for 2nd-order upwinding.
Definition CConfig.hpp:9242
su2double GetMu_SND(unsigned short val_index=0) const
Get the value of the non-dimensional reference S for Sutherland model.
Definition CConfig.hpp:4268
bool GetDeform_Mesh(void) const
Get information about whether the mesh will be deformed using pseudo linear elasticity.
Definition CConfig.hpp:4599
su2double GetAeroelastic_plunge(unsigned short val_marker) const
Value of plunging coordinate.
Definition CConfig.hpp:8982
bool GetDiscrete_Adjoint_Debug(void) const
Get the indicator whether a debug run for the discrete adjoint solver will be started.
Definition CConfig.hpp:9305
void SetSpecificHeatCp_FreeStreamND(su2double val_specificheatCp_freestreamnd)
Set the non-dimensional free-stream specific heat capacity at constant pressure.
Definition CConfig.hpp:2819
void SetActDisk_Power(unsigned short val_marker, su2double val_actdisk_power)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8209
su2double GetPressure_Ref(void) const
Get the value of the reference pressure for non-dimensionalization.
Definition CConfig.hpp:1949
su2double GetSurface_SecondOverUniform(unsigned short val_marker) const
Get the relative secondary flow strength at the surface.
Definition CConfig.hpp:8629
su2double GetWallTemperature(void) const
Get the value of wall temperature.
Definition CConfig.hpp:1817
unsigned short GetMeshBoxPSolFEM(void) const
Get the polynomial degree of the FEM solution for the analytic RECTANGLE or BOX.
Definition CConfig.hpp:10040
void SetGas_Constant(su2double val_gas_constant)
Set the gas-constant.
Definition CConfig.hpp:2673
MAIN_SOLVER GetKind_Solver(void) const
Governing equations of the flow (it can be different from the run time equation).
Definition CConfig.hpp:3946
unsigned short GetTopology_Search_Limit(void) const
Get the maximum "logical radius" (degree of neighborhood) to consider in the neighbor search.
Definition CConfig.hpp:9857
UPWIND GetKind_Upwind_AdjTurb(void) const
Get the kind of upwind convective numerical scheme for the adjoint turbulence equations.
Definition CConfig.hpp:5196
void SetMarkerRotationRate(unsigned short iMarkerMoving, unsigned short iDim, su2double val)
Set the rotation rate of the marker.
Definition CConfig.hpp:6425
unsigned short GetnHistoryOutput(void) const
Get the number of history output variables requested.
Definition CConfig.hpp:10055
su2double GetSurface_Temperature(unsigned short val_marker) const
Get the temperature at an outlet boundary.
Definition CConfig.hpp:8580
ENUM_MULTIZONE GetKind_MZSolver(void) const
Kind of Multizone Solver.
Definition CConfig.hpp:4019
RADIATION_MODEL GetKind_RadiationModel(void) const
Get the Kind of Radiation model applied.
Definition CConfig.hpp:9948
su2double GetSpecies_Clipping_Min(unsigned short iVar) const
Get the minimum bound for scalar transport clipping.
Definition CConfig.hpp:2295
STRUCT_TIME_INT GetKind_TimeIntScheme_FEA(void) const
Get the kind of integration scheme (explicit or implicit) for the flow equations.
Definition CConfig.hpp:4850
unsigned short GetMarker_All_MixingPlaneInterface(unsigned short val_marker) const
Get the MixingPlane interface information for a marker val_marker.
Definition CConfig.hpp:3790
void SetThermal_Expansion_CoeffND(su2double val_thermal_expansionnd)
Set the non-dim. thermal expansion coefficient.
Definition CConfig.hpp:2235
unsigned short GetMarker_All_Deform_Mesh_Sym_Plane(unsigned short val_marker) const
Get whether marker val_marker is a DEFORM_MESH_SYM_PLANE marker.
Definition CConfig.hpp:3860
su2double GetTemperature_ve_Ref(void) const
Get the value of the reference temperature for non-dimensionalization.
Definition CConfig.hpp:1967
su2double GetSpecificHeatCp_FreeStreamND(void) const
Get the value of the non-dimensionalized freestream heat capacity at constant pressure.
Definition CConfig.hpp:2101
void SetMu_PolyCoeffND(su2double val_coeff, unsigned short val_index)
Set the temperature polynomial coefficient for viscosity.
Definition CConfig.hpp:4342
void SetInflow_ReverseMassFlow(unsigned short val_marker, su2double val_fanface_reversemassflow)
Set the reverse flow at an engine inflow boundary.
Definition CConfig.hpp:7795
string GetPrestretch_FEMFileName(void) const
Get the name of the file with the reference geometry of the structural problem.
Definition CConfig.hpp:2434
unsigned short GetMarker_n_ZoneInterface(void) const
Get the number of FSI interface markers val_marker.
Definition CConfig.hpp:3818
su2double GetOutlet_Area(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:9399
su2double GetBuffet_lambda(void) const
Get the buffet sensor offset parameter.
Definition CConfig.hpp:6723
su2double GetRefElemLength(void) const
Get the reference element length for computing the slope limiting epsilon.
Definition CConfig.hpp:2486
su2double GetDeform_StiffLayerSize(void) const
Get the size of the layer of highest stiffness for wall distance-based mesh stiffness.
Definition CConfig.hpp:4639
unsigned short GetDesign_Variable(unsigned short val_dv) const
Obtain the kind of design variable.
Definition CConfig.hpp:6711
void GetTopology_Optim_Kernel(const unsigned short iKernel, ENUM_FILTER_KERNEL &type, su2double &param, su2double &radius) const
Get the i'th kernel to use, its parameter, and the radius.
Definition CConfig.hpp:9847
su2double GetSurface_IDC(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8678
unsigned short GetnVolumeOutputFrequencies() const
GetnVolumeOutputFrequencies.
Definition CConfig.hpp:10176
bool GetSurface_Movement(unsigned short kind_movement) const
Get information about deforming markers.
Definition CConfig.cpp:9456
void SetPressureOut_BC(su2double val_press)
Set the outlet pressure imposed as BC for internal flow.
Definition CConfig.cpp:9748
INCOMP_SYSTEM GetKind_Incomp_System(void) const
Kind of incompressible solver formulation.
Definition CConfig.hpp:4032
string GetMarker_Deform_Mesh_TagBound(unsigned short val_marker) const
Get the name of the DEFORM_MESH boundary defined in the geometry file.
Definition CConfig.hpp:7256
unsigned short GetActDisk_Jump(void) const
Get the format of the output solution.
Definition CConfig.hpp:5922
bool GetMUSCL(void) const
Get if the upwind scheme used MUSCL or not.
Definition CConfig.hpp:4768
unsigned short GetPastixFillLvl(void) const
Get the desired level of fill for the PaStiX ILU.
Definition CConfig.hpp:10200
unsigned long GetNumberIncrements(void) const
Get the number of increments for an incremental load.
Definition CConfig.hpp:9544
su2double GetMu_Temperature_RefND(unsigned short val_index=0) const
Get the value of the non-dimensional reference temperature for Sutherland model.
Definition CConfig.hpp:4254
void SetPostprocessing(SU2_COMPONENT val_software, unsigned short val_izone, unsigned short val_nDim)
Config file postprocessing.
Definition CConfig.cpp:3670
void SetActDisk_StaticTempRatio(unsigned short val_marker, su2double val_actdisk_tempratio)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8447
void SetPressure_Thermodynamic(su2double val_pressure_thermodynamic)
Set the thermodynamic pressure for low Mach problems.
Definition CConfig.hpp:2715
string GetVolSens_FileName(void) const
Get the name of the file with the volume sensitivity (discrete adjoint).
Definition CConfig.hpp:6127
bool GetBoolMixingPlaneInterface(void) const
Verify if there is mixing plane interface specified from config file.
Definition CConfig.hpp:5408
string GetFEA_FileName(void) const
Get the name of the file with the element properties for structural problems.
Definition CConfig.hpp:2407
void SetnZone()
Set the number of zones.
Definition CConfig.cpp:3610
su2double GetSpecies_Clipping_Max(unsigned short iVar) const
Get the maximum bound for scalar transport clipping.
Definition CConfig.hpp:2289
unsigned short GetnFFD_Fix_KDir(void) const
Get the number of planes to fix in the K direction.
Definition CConfig.hpp:3939
void SetIncInlet_BC(su2double val_in)
Set the inlet velocity or pressure imposed as BC for incompressible flow.
Definition CConfig.cpp:9854
su2double GetAeroelastic_Radius_Gyration_Squared(void) const
Aeroelastic radius of gyration squared.
Definition CConfig.hpp:8970
void SetRangePressure(su2double val_dp_min, su2double val_dp_max)
Set the maximum pressure in the domain.
Definition CConfig.hpp:9718
void SetMarker_All_Analyze(unsigned short val_marker, unsigned short val_analyze)
Set if a marker val_marker is going to be plot val_plotting (read from the config file).
Definition CConfig.hpp:3615
su2double GetActDisk_MassFlow(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8538
void SetMarker_All_SendRecv(unsigned short val_marker, short val_index)
Set if a marker val_marker is going to be sent or receive val_index from another domain.
Definition CConfig.hpp:3726
unsigned short GetSizeMatMulPadding(void) const
Function to make available the matrix size in vectorization in order to optimize the gemm performance...
Definition CConfig.hpp:9595
bool GetRead_Binary_Restart(void) const
Flag for whether binary SU2 native restart files are read.
Definition CConfig.hpp:5678
su2double GetSurface_Uniformity(unsigned short val_marker) const
Get the streamwise flow uniformity at the surface.
Definition CConfig.hpp:8615
su2double GetOpt_RelaxFactor(void) const
Get the scale factor for the line search.
Definition CConfig.hpp:9105
unsigned short GetMarker_CfgFile_PerBound(const string &val_marker) const
Get the periodic information from the config definition of the marker val_marker.
Definition CConfig.cpp:8589
void SetActDiskInlet_TotalPressure(unsigned short val_marker, su2double val_actdisk_totalpress)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8195
void SetOuterIter(unsigned long val_iter)
Set the current FSI iteration number.
Definition CConfig.hpp:3369
unsigned short GetKind_Gradient_Method(void) const
Get the kind of method for computation of spatial gradients used for viscous and source terms.
Definition CConfig.hpp:4360
unsigned short GetMarker_CfgFile_EngineExhaust(const string &val_marker) const
Get Actuator Disk Outlet for boundary val_marker (actuator disk inlet).
Definition CConfig.cpp:9422
su2double GetPoissonRatio(unsigned short id_val) const
Get the Poisson's ratio.
Definition CConfig.hpp:2440
void SetActDiskInlet_Pressure(unsigned short val_marker, su2double val_actdisk_press)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8188
su2double GetTke_FreeStream(void) const
Get the value of the non-dimensionalized freestream viscosity.
Definition CConfig.hpp:2119
long GetParMETIS_EdgeWeight() const
Get the ParMETIS load balancing weight for edges.
Definition CConfig.hpp:10249
su2double GetActDiskOutlet_Force(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10178
const su2double * GetSubsonicEngine_Cyl(void) const
Get the cycle of a subsonic engine.
Definition CConfig.hpp:1699
short GetFFD_Fix_JDir(unsigned short val_index) const
plane of the FFD (J axis) that should be fixed.
Definition CConfig.hpp:3914
su2double GetLocationStations(unsigned short val_section) const
Get the airfoil sections in the slicing process.
Definition CConfig.hpp:3888
bool GetTime_Domain(void) const
Check if the multizone problem is solved for time domain.
Definition CConfig.hpp:9882
const su2double * GetVelocity_FreeStream(void) const
Definition CConfig.hpp:2052
bool GetRamp_Load(void) const
Check if the user wants to apply the load as a ramp.
Definition CConfig.hpp:9428
void SetActDiskOutlet_Pressure(unsigned short val_marker, su2double val_actdisk_press)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8748
su2double GetKnowles_N(void) const
Get the value of the N constant in the Knowles material model.
Definition CConfig.hpp:2343
void SetTemperature_Ref(su2double val_temperature_ref)
Set the reference temperature for nondimensionalization.
Definition CConfig.hpp:2631
const su2double * GetVelocity_FreeStreamND(void) const
Definition CConfig.hpp:2077
bool GetDirichletSurfaceBound(void) const
Check if we use zero Dirichlet boundarys on the bound of the surface.
Definition CConfig.hpp:10329
unsigned short GetMarker_Deform_Mesh(const string &val_marker) const
Get the internal index for a DEFORM_MESH boundary val_marker.
Definition CConfig.cpp:9475
bool GetSmoothOnSurface(void) const
Check if we assemble the operator on the surface.
Definition CConfig.hpp:10323
su2double GetActDisk_DeltaPress(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8083
su2double GetCp_PolyCoeffND(unsigned short val_index) const
Get the temperature polynomial coefficient for specific heat Cp.
Definition CConfig.hpp:4288
void SetMarkerMotion_Origin(const su2double *val, unsigned short iMarkerMoving)
Set the mesh motion origin.
Definition CConfig.hpp:6351
su2double GetActDiskOutlet_MassFlow(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10241
void SetTemperature_ve_Ref(su2double val_temperature_ve_ref)
Set the reference temperature.
Definition CConfig.hpp:2637
void SetMonitorValue(su2double newMon_val)
Generic interface for setting monitor outlet values for the ramp.
Definition CConfig.hpp:5363
void SetMarker_All_GeoEval(unsigned short val_marker, unsigned short val_geoeval)
Set if a marker val_marker is going to be monitored val_monitoring (read from the config file).
Definition CConfig.hpp:3590
const su2double * GetGas_Composition(void) const
Provides the gas mass fractions of the flow.
Definition CConfig.hpp:5660
unsigned short GetMarker_All_Designing(unsigned short val_marker) const
Get the design information for a marker val_marker.
Definition CConfig.hpp:3762
unsigned short GetnWingStations(void) const
Get the number of sections for computing internal volume.
Definition CConfig.hpp:5583
unsigned short GetRefGeom_FileFormat(void) const
Get the format of the reference geometry file.
Definition CConfig.hpp:2389
bool GetViscous_Wall(unsigned short iMarker) const
Determines whether a marker with index iMarker is a viscous no-slip boundary.
Definition CConfig.cpp:8610
pair< WALL_TYPE, su2double > GetWallRoughnessProperties(const string &val_marker) const
Get the type of wall and roughness height on a wall boundary (Heatflux or Isothermal).
Definition CConfig.cpp:9938
const CStochBackScatParam & GetSBSParam(void) const
Get the Stochastic BackScatter (SBS) model parameters.
Definition CConfig.hpp:9766
unsigned long GetnOuter_Iter(void) const
Get the number of outer iterations.
Definition CConfig.hpp:9894
su2double GetConst_DES(void) const
Get the DES Constant.
Definition CConfig.hpp:9772
unsigned short GetMarker_CfgFile_PyCustom(const string &val_marker) const
Get the Python customization information from the config definition for the marker val_marker.
Definition CConfig.cpp:8582
su2double Get_Alpha_RKStep(unsigned short val_step) const
Get the alpha (convective) coefficients for the Runge-Kutta integration scheme.
Definition CConfig.hpp:3465
SU2_COMPONENT GetKind_SU2(void) const
Get the kind of SU2 software component.
Definition CConfig.hpp:4663
const su2double * GetInletFlowDir(const string &val_index) const
Get the flow direction unit vector at an inlet boundary.
Definition CConfig.cpp:9573
void SetThermal_Expansion_Coeff(su2double val_thermal_expansion)
Set the thermal expansion coefficient.
Definition CConfig.hpp:2229
void SetActDiskInlet_RamDrag(unsigned short val_marker, su2double val_actdisk_ramdrag)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8510
su2double GetEngine_Power(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7956
su2double GetMu_Constant(unsigned short val_index=0) const
Get the value of the constant viscosity.
Definition CConfig.hpp:4178
bool GetVTTransferResidualLimiting(void) const
Indicates whether the VT source residual is limited.
Definition CConfig.hpp:5758
unsigned short GetKind_Deform_Linear_Solver_Prec(void) const
Get the kind of preconditioner for the implicit solver.
Definition CConfig.hpp:4575
su2double GetActDisk_Power(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8531
const su2double * GetSubsonicEngine_Values(void) const
Get the values of subsonic engine.
Definition CConfig.hpp:1693
bool GetMarker_StrongBC(const string &val_index) const
Get if boundary is strong or weak.
Definition CConfig.cpp:10318
void SetSurface_MassFlow(unsigned short val_marker, su2double val_surface_massflow)
Set the massflow at the surface.
Definition CConfig.hpp:8286
bool GetCUDA(void) const
Get information about GPU support.
Definition CConfig.hpp:6698
unsigned short GetnMarker_Moving(void) const
Get the total number of moving markers.
Definition CConfig.hpp:3279
unsigned short GetnMarker_Periodic(void) const
Get the total number of periodic markers.
Definition CConfig.hpp:3309
void SetLength_Ref(su2double val_length_ref)
Set the reference length for nondimensionalization.
Definition CConfig.hpp:2607
bool GetWind_Gust(void) const
Get information about the wind gust.
Definition CConfig.hpp:9015
void SetdCMz_dCL(su2double val_dcmz_dcl)
Value of the weight of the CD, CL, CM optimization.
Definition CConfig.hpp:7041
const string & GetCustomOutputs() const
Get the user expressions for custom outputs.
Definition CConfig.hpp:5634
void SetOmega_FreeStreamND(su2double val_omega_freestreamnd)
Set the non-dimensional freestream specific dissipation rate omega.
Definition CConfig.hpp:2831
unsigned short GetMesh_FileFormat(void) const
Get the format of the input grid.
Definition CConfig.hpp:5898
su2double GetMUSCLRampValue(void) const
Get MUSCL ramp value.
Definition CConfig.hpp:5352
string GetMultiInstance_FileName(string val_filename, int val_iInst, const string &ext) const
Append the instance index to the restart or the solution files.
Definition CConfig.cpp:8961
su2double GetSpecific_Heat_Cp(unsigned short val_index=0) const
Get the value of specific heat at constant pressure.
Definition CConfig.hpp:1805
LIMITER GetKind_SlopeLimit_Species() const
Get the method for limiting the spatial gradients.
Definition CConfig.hpp:4976
su2double GetEA_IntLimit(unsigned short index) const
Get the integration limits for the equivalent area computation.
Definition CConfig.hpp:1668
su2double GetStations_Bounds(unsigned short val_var) const
Get the value of the limits for the sections.
Definition CConfig.hpp:1763
unsigned short GetEig_Val_Comp(void) const
Get the kind of eigenspace perturbation to be done.
Definition CConfig.hpp:9677
void SetMPICommunicator(SU2_MPI::Comm Communicator)
Set the MPI communicator for SU2.
Definition CConfig.cpp:276
void SetConductivity_Ref(su2double val_conductivity_ref)
Set the reference conductivity for nondimensionalization.
Definition CConfig.hpp:2691
bool GetBody_Force(void) const
Get information about the body force.
Definition CConfig.hpp:6593
su2double GetMarkerPlunging_Omega(unsigned short iMarkerMoving, unsigned short iDim) const
Get plunging rate of the marker.
Definition CConfig.hpp:6487
void SetSurface_Mach(unsigned short val_marker, su2double val_surface_mach)
Set the mach number at the surface.
Definition CConfig.hpp:8293
bool GetAdiabaticWall(void)
Get information about the adibatic wall condition.
void SetTemperature_ve_FreeStream(su2double val_temperature_ve_freestream)
Set the freestream vibrational-electronic temperature.
Definition CConfig.hpp:2775
bool GetGrid_Movement(void) const
Get information about the grid movement.
Definition CConfig.hpp:6268
su2double GetForce_Ref(void) const
Get the value of the reference force for non-dimensionalization.
Definition CConfig.hpp:2021
unsigned short GetKind_MixingPlaneInterface(void) const
Get the kind of mixing process for averaging quantities at the boundaries.
Definition CConfig.hpp:5390
su2double GetDispl_Value(const string &val_index) const
Get the displacement value at an displacement boundary.
Definition CConfig.cpp:10248
void SetEnergy_FreeStream(su2double val_energy_freestream)
Set the freestream energy.
Definition CConfig.hpp:2861
STRUCT_DEFORMATION GetGeometricConditions(void) const
Geometric conditions for the structural solver.
Definition CConfig.hpp:2474
unsigned short GetKind_AverageProcess(void) const
Get the kind of mixing process for averaging quantities at the boundaries.
Definition CConfig.hpp:5295
unsigned short GetMarker_CfgFile_ZoneInterface(const string &val_marker) const
Get the multi-physics interface information from the config definition for the marker val_marker.
Definition CConfig.cpp:8505
INTERFACE_INTERPOLATOR GetKindInterpolation(void) const
Get the interpolation method used for matching between zones.
Definition CConfig.hpp:9620
su2double GetdCMz_dCL(void) const
Value of the weight of the CD, CL, CM optimization.
Definition CConfig.hpp:7035
su2double GetInc_Inlet_Damping(void) const
Get the damping factor applied to velocity updates at incompressible pressure inlets.
Definition CConfig.hpp:5283
UPWIND GetKind_Upwind_Turb(void) const
Get the kind of upwind convective numerical scheme for the turbulence equations.
Definition CConfig.hpp:5105
su2double GetKappa_1st_Flow(void) const
Value of the calibrated constant for the Lax method (center scheme).
Definition CConfig.hpp:4995
unsigned short GetKind_ConvNumScheme_Turb(void) const
Get the kind of convective numerical scheme for the turbulence equations (upwind).
Definition CConfig.hpp:5089
void SetEngine_Area(unsigned short val_marker, su2double val_engine_area)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7935
su2double GetCFL_AdaptParam(unsigned short val_index) const
Get the values of the CFL adaption parameters.
Definition CConfig.hpp:1746
bool GetBounded_Turb() const
Returns true if bounded scalar mode is on for turbulence transport.
Definition CConfig.hpp:5167
void SetDamp_Res_Restric(su2double val)
Set the damping factor for the residual restriction (used by adaptive MG damping).
Definition CConfig.hpp:6957
INLET_TYPE GetKind_Inc_Inlet(const string &val_marker) const
Get the type of incompressible inlet from the list.
Definition CConfig.cpp:9538
su2double GetMolecular_Weight(unsigned short val_index=0) const
Get the value of the molecular weight for an incompressible ideal gas (g/mol).
Definition CConfig.hpp:1799
ROUGHSST_MODEL GetKindRoughSSTModel() const
Get rough-wall boundary conditions for SST.
Definition CConfig.hpp:10388
string GetObjFunc_Hess_FileName(void) const
Get the name of the file with the hessian of the objective function.
Definition CConfig.hpp:10341
unsigned short GetnQuasiNewtonSamples(void) const
Get the number of samples used in quasi-Newton methods.
Definition CConfig.hpp:4511
su2double GetDelta_UnstTime(void) const
If we are prforming an unsteady simulation, there is only one value of the time step for the complete...
Definition CConfig.hpp:6201
su2double GetDamp_Correc_Prolong(void) const
Value of the damping factor for the correction prolongation.
Definition CConfig.hpp:6963
bool GetWrt_Performance(void) const
Get information about writing the performance summary at the end of a calculation.
Definition CConfig.hpp:3423
unsigned short GetKind_DiscAdj_Linear_Prec(void) const
Get the kind of preconditioner for the implicit solver.
Definition CConfig.hpp:4569
su2double GetReThetaT_FreeStream() const
Get the value of the freestream momentum thickness Reynolds number.
Definition CConfig.hpp:2137
su2double GetActDisk_MassFlow(const string &val_marker) const
Get the origin of the actuator disk.
Definition CConfig.cpp:9273
unsigned long GetRefNode_ID(void) const
Get the ID of the reference node.
Definition CConfig.hpp:2355
void SetAoA_Sens(su2double val_AoA_sens)
Set the angle of attack.
Definition CConfig.hpp:2925
bool GetWrt_ZoneHist(void) const
Check if the convergence history of each individual zone is written to file.
Definition CConfig.hpp:10004
bool GetMUSCL_Flow(void) const
Get if the upwind scheme used MUSCL or not.
Definition CConfig.hpp:4774
string GetObjFunc_Grad_FileName(void) const
Get the name of the file with the gradient of the objective function.
Definition CConfig.hpp:6097
unsigned short GetMesh_Out_FileFormat(void) const
Get the format of the output grid.
Definition CConfig.hpp:5904
unsigned short GetnElasticityMat(void) const
Get the number of different materials for the elasticity solver.
Definition CConfig.hpp:9382
bool GetPredictor(void) const
Get whether a predictor is used for FSI applications.
Definition CConfig.hpp:9484
unsigned short GetMarker_All_ZoneInterface(unsigned short val_marker) const
Get the FSI interface information for a marker val_marker.
Definition CConfig.hpp:3783
unsigned short GetKind_ObjFunc(unsigned short val_obj=0) const
Get the kind of objective function. There are several options: Drag coefficient, Lift coefficient,...
Definition CConfig.hpp:5606
unsigned short GetnMarker_HeatFlux(void) const
Get the total (local) number of heat flux markers.
Definition CConfig.hpp:3315
void SetRestart_Bandwidth_Agg(su2double val_restart_bandwidth_sum)
Set the sum of the bandwidth for writing binary restarts (to be averaged later).
Definition CConfig.hpp:9730
su2double GetMu_PolyCoeffND(unsigned short val_index) const
Get the temperature polynomial coefficient for viscosity.
Definition CConfig.hpp:4302
su2double GetDiffusivity_Constant(void) const
Get the value of the constant mass diffusivity for scalar transport.
Definition CConfig.hpp:4206
unsigned long GetOuterIter(void) const
Get the current FSI iteration number.
Definition CConfig.hpp:3399
su2double GetGiles_Var2(const string &val_marker) const
Get the var 2 for the Giles boundary.
Definition CConfig.cpp:9697
const su2double * GetInlet_TurbVal(const string &val_index) const
Get the turbulent properties values at an inlet boundary.
Definition CConfig.cpp:9630
su2double GetThermal_Conductivity_ConstantND(unsigned short val_index=0) const
Get the value of the non-dimensional thermal conductivity.
Definition CConfig.hpp:4198
unsigned long GetGrad_Linear_Solver_Iter(void) const
Get max number of iterations of the for the gradient smoothing.
Definition CConfig.hpp:10365
void SetAeroelastic_pitch(unsigned short val_marker, su2double val)
Value of pitching coordinate.
Definition CConfig.hpp:9003
bool GetBoolTurbMixingPlane(void) const
Verify if there is mixing plane interface specified from config file.
Definition CConfig.hpp:5414
su2double GetWall_HeatFlux(const string &val_index) const
Get the wall heat flux on a constant heat flux boundary.
Definition CConfig.cpp:9911
su2double GetdCL_dAlpha(void) const
Get the value for the lift curve slope for fixed CL mode.
Definition CConfig.hpp:9153
void SetTranslation_Rate(unsigned short iDim, su2double val)
Set the translational velocity of the mesh.
Definition CConfig.hpp:6367
void SetnTime_Iter(unsigned long val_iter)
Set the number of time iterations.
Definition CConfig.hpp:9906
su2double GetSchmidt_Number_Turbulent(void) const
Get the value of the turbulent Schmidt number for scalar transport.
Definition CConfig.hpp:4224
su2double GetDeform_ElasticityMod(void) const
Get Young's modulus for deformation (constant stiffness deformation)
Definition CConfig.hpp:4622
unsigned short GetMarker_All_SobolevBC(unsigned short val_marker) const
Get the information if gradient treatment uses a marker val_marker.
Definition CConfig.hpp:3846
string GetMesh_Out_FileName(void) const
Get name of the output grid, this parameter is important for grid adaptation and deformation.
Definition CConfig.hpp:5830
void SetReThetaT_FreeStream(su2double val_ReThetaT_freestream)
Set the freestream momentum thickness Reynolds number.
Definition CConfig.hpp:2849
void SetDelta_UnstTimeND(su2double val_delta_unsttimend)
Set the value of the unsteadty time step using the CFL number.
Definition CConfig.hpp:6207
su2double GetRefNode_Displacement(unsigned short val_coeff) const
Get the values for the reference node displacement.
Definition CConfig.hpp:2361
unsigned short GetnMarker_SymWall(void) const
Get the number of symmetry boundary markers.
Definition CConfig.hpp:3201
bool GetBoolTurbomachinery(void) const
Verify if there is Turbomachinery performance option specified from config file.
Definition CConfig.hpp:5432
void SetMarker_All_Monitoring(unsigned short val_marker, unsigned short val_monitoring)
Set if a marker val_marker is going to be monitored val_monitoring (read from the config file).
Definition CConfig.hpp:3581
P1_INIT GetKind_P1_Init(void) const
Get the Kind of P1 initialization method applied.
Definition CConfig.hpp:9954
su2double GetGust_Begin_Loc(void) const
Value of the location ath which the gust begins.
Definition CConfig.hpp:9052
su2double GetOmegaFactor_LowerLimit(void) const
Get the w constant factor define a lower limit by multiplication with values in SST turbulencemodel.
Definition CConfig.hpp:2161
unsigned short GetMarker_CfgFile_DV(const string &val_marker) const
Get the DV information from the config definition for the marker val_marker.
Definition CConfig.cpp:8540
bool GetWnd_Cauchy_Crit(void) const
Get the boolean value, whether the the Cauchy method for the time averaged windowed objective functio...
Definition CConfig.hpp:10110
unsigned short GetnDim_Electric_Field(void) const
Get the dimensionality of the electric field.
Definition CConfig.hpp:9401
su2double GetOmega_FreeStreamND(void) const
Get the value of the non-dimensionalized freestream viscosity.
Definition CConfig.hpp:2113
bool GetRadialBasisFunctionPolynomialOption(void) const
Get option of whether to use polynomial terms in Radial Basis Function interpolation.
Definition CConfig.hpp:9635
unsigned short GetMarker_CfgFile_Monitoring(const string &val_marker) const
Get the monitoring information from the config definition for the marker val_marker.
Definition CConfig.cpp:8470
void SetInflow_TotalPressure(unsigned short val_marker, su2double val_fanface_totalpressure)
Set the fan face total pressure at an engine inflow boundary.
Definition CConfig.hpp:7802
su2double GetThermal_Conductivity_Ref(void) const
Get the value of the reference thermal conductivity for non-dimensionalization.
Definition CConfig.hpp:2009
LIMITER GetKind_SlopeLimit(void) const
Get the method for limiting the spatial gradients.
Definition CConfig.hpp:4958
unsigned short GetSensitivity_Format(void) const
Get information about the format for the input volume sensitvities.
Definition CConfig.hpp:3452
su2double GetThermal_Expansion_CoeffND(void) const
Get the non-dim. thermal expansion coefficient.
Definition CConfig.hpp:2223
const su2double * GetInlet_Velocity(const string &val_index) const
Get the velocity vector at a supersonic inlet boundary.
Definition CConfig.cpp:9594
unsigned short GetwallModel_MaxIter() const
Get the value of the max. number of Newton iterations for turbulence wall modeling.
Definition CConfig.hpp:1912
void SetSurface_TotalTemperature(unsigned short val_marker, su2double val_surface_totaltemperature)
Set the total temperature at the surface.
Definition CConfig.hpp:8363
TURB_TRANS_MODEL GetKind_Trans_Model(void) const
Get the kind of the transition model.
Definition CConfig.hpp:4699
unsigned short GetKind_TimeIntScheme_AdjTurb(void) const
Get the kind of integration scheme (explicit or implicit) for the adjoint turbulence equations.
Definition CConfig.hpp:5114
void SetNonphysical_Reconstr(unsigned long val_nonphys_reconstr)
Set the current number of non-physical reconstructions for 2nd-order upwinding.
Definition CConfig.hpp:9236
unsigned short GetnMarker_NearFieldBound(void) const
Get the total number of boundary markers.
Definition CConfig.hpp:3225
unsigned short GetKind_Linear_Solver_Prec(void) const
Get the kind of preconditioner for the implicit solver.
Definition CConfig.hpp:4395
UPWIND GetRiemann_Solver_FEM(void) const
Get the kind of Riemann solver for the DG method (FEM flow solver).
Definition CConfig.hpp:9563
unsigned short GetnTimeIntegrationADER_DG(void) const
Get the number time integration points for ADER-DG.
Definition CConfig.hpp:3165
bool GetWrt_Surface_Overwrite(void) const
Flag for whether visualization files are overwritten.
Definition CConfig.hpp:5705
void SetEulerPersson(bool val_EulerPersson)
Set boolean for using Persson's shock capturing method in Euler flow DG-FEM.
Definition CConfig.hpp:9502
void SetPressure_ThermodynamicND(su2double val_pressure_thermodynamicnd)
Set the non-dimensionalized thermodynamic pressure for low Mach problems.
Definition CConfig.hpp:2709
unsigned short GetComm_Level(void) const
Get the level of MPI communications to be performed.
Definition CConfig.hpp:9930
bool GetBounded_Species() const
Returns true if bounded scalar mode is on for species transport.
Definition CConfig.hpp:5162
void SetMGLevels(unsigned short val_nMGLevels)
Set the number of multigrid levels.
Definition CConfig.hpp:2956
STRUCT_MODEL GetMaterialModel(void) const
Compressibility/incompressibility of the solids analysed using the structural solver.
Definition CConfig.hpp:2468
su2double GetTotal_UnstTimeND(void) const
If we are prforming an unsteady simulation, there is only one value of the time step for the complete...
Definition CConfig.hpp:6194
short GetFFD_Fix_IDir(unsigned short val_index) const
plane of the FFD (I axis) that should be fixed.
Definition CConfig.hpp:3907
void SetPressure_Ref(su2double val_pressure_ref)
Set the reference pressure for nondimensionalization.
Definition CConfig.hpp:2619
su2double GetInc_Density_Ref(void) const
Get the value of the reference density for custom incompressible non-dimensionalization.
Definition CConfig.hpp:2241
su2double GetKappa_2nd_AdjFlow(void) const
Value of the calibrated constant for the high order method (center scheme).
Definition CConfig.hpp:5059
unsigned long GetLinear_Solver_Prec_Threads(void) const
Get the number of threads per rank to use for ILU and LU_SGS preconditioners.
Definition CConfig.hpp:10219
void SetEngine_GrossThrust(unsigned short val_marker, su2double val_engine_grossthrust)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7928
su2double GetInflow_RamDrag(const string &val_marker) const
Get the ram drag at an engine inflow boundary.
Definition CConfig.cpp:10038
unsigned short GetKind_Deform_Linear_Solver(void) const
Get the kind of solver for the implicit solver.
Definition CConfig.hpp:4407
INLET_INTERP_TYPE GetKindInletInterpolationType(void) const
Get the kind of inlet face interpolation data type.
Definition CConfig.hpp:9660
su2double GetInflow_Force(const string &val_marker) const
Get the force balance at an engine inflow boundary.
Definition CConfig.cpp:10045
su2double GetHeatSource_Val(void) const
Get information about the volumetric heat source.
Definition CConfig.hpp:6646
void SetTke_FreeStreamND(su2double val_tke_freestreamnd)
Set the non-dimensional freestream turbulent kinetic energy.
Definition CConfig.hpp:2825
unsigned short GetMoveMotion_Origin(unsigned short val_marker) const
Get if we should update the motion origin.
Definition CConfig.hpp:6533
su2double GetActDisk_StaticPressRatio(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8111
CONDUCTIVITYMODEL_TURB GetKind_ConductivityModel_Turb() const
Get the value of the turbulent thermal conductivity model.
Definition CConfig.hpp:4166
void SetPressure_FreeStreamND(su2double val_pressure_freestreamnd)
Set the nondimensionalized freestream pressure.
Definition CConfig.hpp:2697
su2double GetAoA(void) const
Get the angle of attack of the body. This is the angle between a reference line on a lifting body (of...
Definition CConfig.hpp:2881
unsigned short GetMarker_All_GeoEval(unsigned short val_marker) const
Get the monitoring information for a marker val_marker.
Definition CConfig.hpp:3755
bool GetStructuralProblem(void) const
Return true if a structural solver is in use.
Definition CConfig.hpp:3967
su2double GetModVel_FreeStreamND(void) const
Get the non-dimensional magnitude of the free-stream velocity of the fluid.
Definition CConfig.hpp:1888
su2double GetLength_Reynolds(void) const
Get the value of the Reynolds length.
Definition CConfig.hpp:2203
su2double GetActDiskOutlet_GrossThrust(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10171
unsigned short GetMarker_All_Moving(unsigned short val_marker) const
Get the motion information for a marker val_marker.
Definition CConfig.hpp:3839
su2double GetRiemann_Var1(const string &val_marker) const
Get the var 1 at Riemann boundary.
Definition CConfig.cpp:9655
unsigned short GetnMarker_ActDiskOutlet(void) const
Get the total number of boundary markers.
Definition CConfig.hpp:3255
unsigned short GetGust_Type(void) const
Get the type of gust to simulate.
Definition CConfig.hpp:9021
const su2double * GetInlet_MassFrac() const
Get the mass fraction vector for a NEMO inlet boundary.
Definition CConfig.hpp:7330
su2double GetEngineInflow_Target(const string &val_marker) const
Get the target (pressure, massflow, etc) at an engine inflow boundary.
Definition CConfig.cpp:9989
su2double GetMax_DeltaTime(void) const
Get the Courant Friedrich Levi number for unsteady simulations.
Definition CConfig.hpp:3014
unsigned short GetMarker_All_DV(unsigned short val_marker) const
Get the DV information for a marker val_marker.
Definition CConfig.hpp:3832
su2double GetLinear_Solver_Smoother_Relaxation(void) const
Get the relaxation factor for iterative linear smoothers.
Definition CConfig.hpp:4477
su2double GetSmoothingEps1(void) const
Gets the factor epsilon in front of the Laplace term.
Definition CConfig.hpp:10305
su2double GetGiles_RelaxFactorAverage(const string &val_marker) const
Get the relax factor for the average component for the Giles BC.
Definition CConfig.cpp:9704
bool GetCompute_Average(void) const
Get Compute Average.
Definition CConfig.hpp:9811
void Set_Electric_Field_Mod(unsigned short val_coeff, su2double val_el_field)
Set the values for the electric field modulus.
Definition CConfig.hpp:9415
array< unsigned short, 4 > GetNewtonKrylovIntParam() const
Get Newton-Krylov integer parameters.
Definition CConfig.hpp:4526
su2double GetInflow_Power(const string &val_marker) const
Get the power at an engine inflow boundary.
Definition CConfig.cpp:10052
void SetStreamwise_Periodic_PressureDrop(su2double Streamwise_Periodic_PressureDrop_)
Set the value of the pressure delta from which body force vector is computed. Necessary for Restart m...
Definition CConfig.hpp:6628
unsigned short GetKind_Grad_Linear_Solver_Prec(void) const
Get the kind of preconditioner for the gradient smoothing.
Definition CConfig.hpp:10359
su2double GetCatalytic_Efficiency(void) const
Get wall catalytic efficiency.
Definition CConfig.hpp:4077
su2double GetEnergy_Ref(void) const
Get the value of the reference energy for non-dimensionalization.
Definition CConfig.hpp:1955
unsigned short GetMarker_CfgFile_Deform_Mesh_Sym_Plane(const string &val_marker) const
Get the DEFORM_MESH_SYM_PLANE information from the config definition for the marker val_marker.
Definition CConfig.cpp:8561
unsigned short GetKind_Engine_Inflow(void) const
Get the kind of inlet boundary condition treatment (total conditions or mass flow).
Definition CConfig.hpp:5560
void SetTemperature_ve_FreeStreamND(su2double val_temperature_ve_freestreamnd)
Set the non-dimensional freestream vibrational-electronic temperature.
Definition CConfig.hpp:2781
unsigned short GetnObj(void) const
Get the total number of objectives in kind_objective list.
Definition CConfig.hpp:3327
su2double GetMSW_Alpha(void) const
Returns the MSW alpha (coefficient of the state blending weight).
Definition CConfig.hpp:4546
su2double GetIsothermal_Temperature(const string &val_index) const
Get the wall temperature (static) at an isothermal boundary.
Definition CConfig.cpp:9902
void SetExhaust_Temperature(unsigned short val_marker, su2double val_exhaust_temp)
Set the temperature (static) at an engine exhaust boundary.
Definition CConfig.hpp:7851
su2double GetTurbulenceIntensity_FreeStream(void) const
Get the value of the non-dimensionalized freestream turbulence intensity.
Definition CConfig.hpp:2143
su2double GetFixAzimuthalLine(void) const
Value of the azimuthal line to fix due to a misalignments of the nearfield.
Definition CConfig.hpp:6993
su2double GetSurface_MassFlow(unsigned short val_marker) const
Get the massflow at an outlet boundary.
Definition CConfig.hpp:8566
ENUM_STREAMWISE_PERIODIC GetKind_Streamwise_Periodic(void) const
Get information about the streamwise periodicity (None, Pressure_Drop, Massflow).
Definition CConfig.hpp:6605
su2double GetRefOriginMoment_Z(unsigned short val_marker) const
Get reference origin z-coordinate for moment computation.
Definition CConfig.hpp:1633
su2double GetDamp_Engine_Inflow(void) const
Value of the damping factor for the engine inlet bc.
Definition CConfig.hpp:6939
string GetMesh_Out_FileExtension(void) const
Get the extension (including the leading dot) associated with the current mesh output format.
Definition CConfig.hpp:5848
vector< vector< su2double > > GetAeroelastic_np1(unsigned short iMarker) const
Value of Aeroelastic solution coordinate at time n+1.
Definition CConfig.hpp:8915
su2double GetElectric_Constant(unsigned short iVar) const
Get the value of the DE modulus.
Definition CConfig.hpp:2331
bool GetMUSCLRamp(void) const
Get MUSCL ramp option.
Definition CConfig.hpp:5331
bool GetTopology_Optimization(void) const
Get topology optimization.
Definition CConfig.hpp:9822
su2double GetDamper_Constant(const string &val_index) const
Get the constant value at a damper boundary.
Definition CConfig.cpp:10262
bool GetInlet_Profile_From_File(void) const
Check if the inlet profile(s) are specified in an input file.
Definition CConfig.hpp:5241
su2double GetnBlades(unsigned short val_iZone) const
number Turbomachinery blades computed using the pitch information.
Definition CConfig.hpp:5444
su2double GetKt_PolyCoeffND(unsigned short val_index) const
Get the temperature polynomial coefficient for thermal conductivity.
Definition CConfig.hpp:4322
unsigned short GetnTimeDOFsADER_DG(void) const
Get the number time DOFs for ADER-DG.
Definition CConfig.hpp:3153
su2double GetInflow_ReverseMassFlow(unsigned short val_marker) const
Get the percentage of reverse flow at an engine inflow boundary.
Definition CConfig.hpp:7669
unsigned short GetnConfigFiles(void) const
Get the number of config files.
Definition CConfig.hpp:9876
const su2double * GetDistortionRack(void) const
Get the distortion rack.
Definition CConfig.hpp:1705
LM_ParsedOptions GetLMParsedOptions() const
Get parsed LM option data structure.
Definition CConfig.hpp:10383
su2double GetHighlite_Area(void) const
Get the value of the reference viscosity for non-dimensionalization.
Definition CConfig.hpp:1997
unsigned short GetSystemMeasurements(void) const
Governing equations of the flow (it can be different from the run time equation).
Definition CConfig.hpp:4045
bool GetEval_dOF_dCX(void) const
Get information about whether to use fixed CL mode.
Definition CConfig.hpp:9135
su2double GetActDisk_Force(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8552
void SetSurface_PressureDrop(unsigned short val_marker, su2double val_surface_pressuredrop)
Set the pressure drop between two surfaces.
Definition CConfig.hpp:8377
tuple< bool, unsigned short, unsigned short > GetConvexityCheck(void) const
Get information about whether to do a check on convexity of the mesh elements.
Definition CConfig.hpp:9097
STRUCT_COMPRESS GetMaterialCompressibility(void) const
Compressibility/incompressibility of the solids analysed using the structural solver.
Definition CConfig.hpp:2462
string GetPlaneTag(unsigned short index) const
Get index of the upper and lower horizontal plane.
Definition CConfig.hpp:1661
su2double GetContactResistance(unsigned short val_interface) const
Get the contact resistance value of a specified interface.
Definition CConfig.hpp:3825
void SetActDisk_BCThrust(unsigned short val_marker, su2double val_actdisk_bcthrust)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8468
void SetActDisk_StaticPressRatio(unsigned short val_marker, su2double val_actdisk_pressratio)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8440
UPWIND GetKind_Upwind(void) const
Get kind of upwind scheme for the convective terms.
Definition CConfig.hpp:4759
const su2double * GetPeriodicTranslation(const string &val_marker) const
Translation vector for a translational periodic boundary.
Definition CConfig.cpp:9232
bool GetSens_Remove_Sharp(void) const
Provides information about if the sharp edges are going to be removed from the sensitivity.
Definition CConfig.hpp:5229
bool GetDiscrete_Adjoint(void) const
Get the indicator whether we are solving an discrete adjoint problem.
Definition CConfig.hpp:9299
su2double GetOmega_Ref(void) const
Get the value of the reference angular velocity for non-dimensionalization.
Definition CConfig.hpp:2015
void SetActDisk_Force(unsigned short val_marker, su2double val_actdisk_force)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8230
su2double GetActDiskOutlet_Thrust_BEM(string val_marker) const
Get the thrust at the actuator disk outlet boundary.
Definition CConfig.cpp:10192
bool GetFSI_Simulation(void) const
Check if the simulation we are running is a FSI simulation.
Definition CConfig.hpp:9514
unsigned long GetGridDef_Nonlinear_Iter(void) const
Get the number of nonlinear increments for mesh deformation.
Definition CConfig.hpp:4593
void SetDV_Value(unsigned short val_dv, unsigned short val_ind, su2double val)
Set the value of the design variable step, we use this value in design problems.
Definition CConfig.hpp:6262
su2double GetInc_Temperature_Init(void) const
Get the value of the initial temperature for incompressible flows.
Definition CConfig.hpp:2271
su2double GetDamp_Engine_Exhaust(void) const
Value of the damping factor for the engine exhaust inlet bc.
Definition CConfig.hpp:6945
unsigned short GetMarker_CfgFile_KindBC(const string &val_marker) const
Get the boundary information (kind of boundary) in the config information of the marker val_marker.
Definition CConfig.cpp:8463
su2double GetElasticyMod(unsigned short id_val) const
Get the Young's modulus of elasticity.
Definition CConfig.hpp:2313
su2double GetPitching_Omega(unsigned short iDim) const
Get the pitching rate of the mesh.
Definition CConfig.hpp:6434
void SetKindWall(string val_marker, unsigned short val_kindwall)
Set the kind of wall - rough or smooth.
bool GetMarker_Moving_Bool(const string &val_marker) const
Get a bool for whether a marker is moving. val_marker.
Definition CConfig.hpp:7198
su2double GetTotalDV_Penalty(void) const
Get the penalty weight value for the objective function.
Definition CConfig.hpp:9473
const su2double * GetGiles_FlowDir(const string &val_marker) const
Get the Flowdir for the Giles BC.
Definition CConfig.cpp:9718
bool GetDiscard_InFiles(void) const
Get information about whether to use fixed CL mode.
Definition CConfig.hpp:9141
unsigned short GetKind_ConvNumScheme_Species() const
Get the kind of convective numerical scheme for the Species equations (upwind).
Definition CConfig.hpp:5141
void SetnSpanWiseSections(unsigned short nSpan)
set number span-wise sections to compute 3D BC and performance for turbomachinery.
Definition CConfig.hpp:5514
void GetTopology_Optim_Projection(ENUM_PROJECTION_FUNCTION &type, su2double &param) const
Get the type and parameter for the projection function used in topology optimization.
Definition CConfig.hpp:9862
bool GetIsothermalWall(void)
Get information about the isothermal wall condition.
unsigned short GetDeform_Stiffness_Type(void) const
Get the type of stiffness to impose for FEA mesh deformation.
Definition CConfig.hpp:4634
unsigned short GetKind_Poisson_Linear_Solver(void) const
Get the kind of solver for the poisson equation.
Definition CConfig.hpp:4413
su2double GetTemperatureLimits(int iVar) const
Get Temperature limits for incompressible flows.
Definition CConfig.hpp:2277
unsigned short GetnMarker_EngineInflow(void) const
Get the total number of boundary markers.
Definition CConfig.hpp:3213
unsigned short GetnZone(void) const
Provides the total number of zones.
Definition CConfig.hpp:5729
void SetSurface_IDC_Mach(unsigned short val_marker, su2double val_surface_distortion)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8405
su2double GetDiffusivity_ConstantND(void) const
Get the value of the non-dimensional constant mass diffusivity.
Definition CConfig.hpp:4212
void SetExhaust_Force(unsigned short val_marker, su2double val_exhaust_force)
Set the force balance at an engine exhaust boundary.
Definition CConfig.hpp:7886
void SetSurface_Species_0(unsigned short val_marker, su2double val_surface_species_0)
Set the average of species_0 at the surface.
Definition CConfig.hpp:8384
su2double GetLoad_Dir_Value(const string &val_index) const
Get the force value at a load boundary defined in cartesian coordinates.
Definition CConfig.cpp:10269
bool TokenizeString(string &str, string &option_name, vector< string > &option_value)
breaks an input line from the config file into a set of tokens
Definition CConfig.cpp:8292
su2double GetIncLoad_Criteria(unsigned short val_var) const
Get the value of the criteria for applying incremental loading.
Definition CConfig.hpp:9550
string GetMarker_All_TagBound(unsigned short val_marker) const
Get the index of the surface defined in the geometry file.
Definition CConfig.hpp:3473
const su2double * GetInlet_SpeciesVal(const string &val_index) const
Get the species values at an inlet boundary.
Definition CConfig.cpp:9601
bool GetSmoothGradient(void) const
Check if the gradient smoothing is active.
Definition CConfig.hpp:10299
su2double GetHeat_Flux_Ref(void) const
Get the reference value for the heat flux.
Definition CConfig.hpp:1835
void SetMarker_All_SobolevBC(unsigned short val_marker, unsigned short val_sobolev)
Set if a marker how val_marker is going to be applied in gradient treatment.
Definition CConfig.hpp:3674
void SetPressure_FreeStream(su2double val_pressure_freestream)
Set the freestream pressure.
Definition CConfig.hpp:2703
void SetActDiskOutlet_TotalPressure(unsigned short val_marker, su2double val_actdisk_totalpress)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8755
LIMITER GetKind_SlopeLimit_AdjFlow(void) const
Get the method for limiting the spatial gradients.
Definition CConfig.hpp:4988
bool GetMultizone_Problem(void) const
Get whether the simulation we are running is a multizone simulation.
Definition CConfig.hpp:9526
const unsigned long * GetOutlierMitigationParam() const
Get the outlier mitigation parameters.
Definition CConfig.hpp:1757
const CSIMPLE_Options & GetSIMPLE_Options(void) const
Get the SIMPLE (and PISO) algorithm options, see CSIMPLE_Options.
Definition CConfig.hpp:4460
su2double GetExhaust_Pressure(const string &val_marker) const
Get the back pressure (static) at an engine exhaust boundary.
Definition CConfig.cpp:10066
void SetActDisk_GrossThrust(unsigned short val_marker, su2double val_actdisk_grossthrust)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8489
void SetFreeStreamTurboNormal(const su2double *turboNormal)
Set freestream turbonormal for initializing solution.
Definition CConfig.cpp:10585
bool Low_Mach_Correction(void) const
Get information about the Low Mach Correction.
Definition CConfig.hpp:6569
su2double GetSurface_IDR(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8692
string GetFluid_Name(void) const
Returns the name of the fluid we are using in CoolProp.
Definition CConfig.hpp:4088
su2double GetTurb_Fixed_Values_MaxScalarProd(void) const
Get shift of the upstream half-plane where fixed values for turbulence quantities are applied.
Definition CConfig.hpp:9066
su2double GetRelaxation_Factor_Adjoint(void) const
Get the relaxation factor for solution updates of adjoint solvers.
Definition CConfig.hpp:4482
unsigned short GetOutput_Precision(void) const
Get the output precision to be used in <ofstream>.precision(value) for history and SU2_DOT output.
Definition CConfig.hpp:5916
string GetGasModel(void) const
Gas model that we are using.
Definition CConfig.hpp:4051
bool GetRefGeom(void) const
Decide whether it's necessary to read a reference geometry.
Definition CConfig.hpp:2372
const unsigned short * GetWallFunction_IntInfo(const string &val_marker) const
Get the additional integer info for the wall function treatment for the given boundary marker.
Definition CConfig.cpp:9963
void SetActDiskOutlet_GrossThrust(unsigned short val_marker, su2double val_actdisk_grossthrust)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8762
su2double GetQuadrature_Factor_Time_ADER_DG(void) const
Get the factor applied during time quadrature for ADER-DG.
Definition CConfig.hpp:9581
SST_ParsedOptions GetSSTParsedOptions() const
Get parsed SST option data structure.
Definition CConfig.hpp:10371
short FindMixingPlaneInterfaceMarker(unsigned short nMarker, unsigned short iMarkerInt) const
Find the marker index (if any) that is part of a mixing plane interface pair.
Definition CConfig.cpp:10341
unsigned short GetDegreeFFDBox(unsigned short val_ffd, unsigned short val_index) const
Get the degree of the FFD corner points.
Definition CConfig.hpp:3038
su2double GetAeroelastic_Airfoil_Mass_Ratio(void) const
Aeroelastic Airfoil Mass Ratio.
Definition CConfig.hpp:8960
unsigned short GetKind_HybridRANSLES(void) const
Get the Kind of Hybrid RANS/LES.
Definition CConfig.hpp:9742
su2double GetAbsorption_Coeff(void) const
Get the value of the absorption coefficient of the medium.
Definition CConfig.hpp:9960
vector< vector< su2double > > GetAeroelastic_n(unsigned short iMarker) const
Value of Aeroelastic solution coordinate at time n.
Definition CConfig.hpp:8920
su2double GetMu_Ref(unsigned short val_index=0) const
Get the value of the reference viscosity for Sutherland model.
Definition CConfig.hpp:4236
unsigned short GetKind_SensSmooth(void) const
Get the kind of sensitivity smoothing technique.
Definition CConfig.hpp:5640
su2double GetPressure_FreeStream(void) const
Get the value of the non-dimensionalized freestream pressure.
Definition CConfig.hpp:2027
bool GetEngine_HalfModel(void) const
Only halg of the engine is in the compputational grid.
Definition CConfig.hpp:6239
bool GetConservativeInterpolation(void) const
Get option of whether to use conservative interpolation between zones.
Definition CConfig.hpp:9625
bool GetActDisk_DoubleSurface(void) const
Actuator disk defined with a double surface.
Definition CConfig.hpp:6233
void SetEnergy_FreeStreamND(su2double val_energy_freestreamnd)
Set the non-dimensional freestream energy.
Definition CConfig.hpp:2855
su2double GetFroude(void) const
Get the Froude number for free surface problems.
Definition CConfig.hpp:2583
su2double GetGrad_Linear_Solver_Error(void) const
Get min error of the linear solver for the gradient smoothing.
Definition CConfig.hpp:10347
unsigned short GetRom_SaveFreq(void) const
Get frequency of unsteady time steps to save (default: 1).
Definition CConfig.hpp:10293
string GetDV_Filename(void) const
Get name of the arbitrary mesh motion input file.
Definition CConfig.hpp:8863
bool GetSine_Load(void) const
Check if the user wants to apply the load as a ramp.
Definition CConfig.hpp:9446
su2double GetNuFactor_FreeStream(void) const
Get the value of the non-dimensionalized freestream turbulence intensity.
Definition CConfig.hpp:2149
bool GetHB_Precondition(void) const
Get if harmonic balance source term is to be preconditioned.
Definition CConfig.hpp:6526
void SetInflow_RamDrag(unsigned short val_marker, su2double val_fanface_ramdrag)
Set the ram drag temperature at an engine inflow boundary.
Definition CConfig.hpp:7823
unsigned short GetnIterFSI_Ramp(void) const
Get the number of subiterations while a ramp is applied.
Definition CConfig.hpp:9311
void SetSurface_Temperature(unsigned short val_marker, su2double val_surface_temperature)
Set the temperature at the surface.
Definition CConfig.hpp:8300
su2double GetSpecific_Heat_CpND(unsigned short val_index=0) const
Get the non-dimensional value of specific heat at constant pressure.
Definition CConfig.hpp:1811
su2double GetLinear_Solver_Error(void) const
Get min error of the linear solver for the implicit formulation.
Definition CConfig.hpp:4419
su2double GetWeightCd(void) const
Value of the weight of the drag coefficient in the Sonic Boom optimization.
Definition CConfig.hpp:6981
unsigned short Get_nSpanWiseSections_User(void) const
number span-wise sections to compute 3D BC and performance for turbomachinery specified by the user.
Definition CConfig.hpp:5492
su2double GetTotalPressureIn_BC() const
Get the inlet total pressure imposed as BC for internal flow.
Definition CConfig.cpp:9762
su2double GetEngine_Area(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7978
void SetKind_GridMovement(unsigned short motion_Type)
Set the type of dynamic mesh motion.
Definition CConfig.hpp:6309
bool GetAeroelastic_Simulation(void) const
Get information about the aeroelastic simulation.
Definition CConfig.hpp:9009
su2double GetAdjSharp_LimiterCoeff(void) const
Get the value of sharp edge limiter.
Definition CConfig.hpp:2569
TIME_MARCHING GetTime_Marching() const
Provides information about the time integration, and change the write in the output files information...
Definition CConfig.hpp:5648
INLET_SPANWISE_INTERP GetKindInletInterpolationFunction(void) const
Get the kind of inlet face interpolation function to use.
Definition CConfig.hpp:9655
bool GetAdvanced_FEAElementBased(void) const
Determine if advanced features are used from the element-based FEA analysis (experimental feature).
Definition CConfig.hpp:2428
bool GetVariable_Density_Model() const
Selection of variable density option for incompressible flows.
Definition CConfig.hpp:4100
void SetEngine_Power(unsigned short val_marker, su2double val_engine_power)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7914
void SetSurface_DC60(unsigned short val_marker, su2double val_surface_distortion)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8279
unsigned short GetKind_TimeIntScheme_Heat(void) const
Get the kind of integration scheme (explicit or implicit) for the flow equations.
Definition CConfig.hpp:4832
su2double GetwallModel_B() const
Get the value of the wall model constant B for turbulence wall modeling.
Definition CConfig.hpp:1930
STRUCT_SPACE_ITE GetKind_SpaceIteScheme_FEA(void) const
Get the kind of integration scheme (explicit or implicit) for the flow equations.
Definition CConfig.hpp:4877
void SetKind_PerformanceAverageProcess(unsigned short new_AverageProcess)
Set the kind of mixing process for averaging quantities at the boundaries.
Definition CConfig.hpp:5313
void SetConfig_Parsing(char case_filename[MAX_STRING_SIZE])
Set the config file parsing.
Definition CConfig.cpp:3269
unsigned short GetPredictorOrder(void) const
Get the order of the predictor for FSI applications.
Definition CConfig.hpp:9490
unsigned short GetGust_Dir(void) const
Get the gust direction.
Definition CConfig.hpp:9027
unsigned short GetMarker_CfgFile_TurbomachineryFlag(const string &val_marker) const
Get the TurboPerformance flag information from the config definition for the marker val_marker.
Definition CConfig.cpp:8519
void SetSurface_Density(unsigned short val_marker, su2double val_surface_density)
Set the density at the surface.
Definition CConfig.hpp:8314
unsigned short GetKind_ConvNumScheme_Flow(void) const
Get the kind of convective numerical scheme for the flow equations (centered or upwind).
Definition CConfig.hpp:4886
su2double GetKappa_1st_AdjFlow(void) const
Value of the calibrated constant for the low order method (center scheme).
Definition CConfig.hpp:5071
su2double GetNuFactor_Engine(void) const
Get the value of the non-dimensionalized engine turbulence intensity.
Definition CConfig.hpp:2167
su2double Get_Int_Coeffs(unsigned short val_coeff) const
Get the integration coefficients for the Generalized Alpha - Newmark integration integration scheme.
Definition CConfig.hpp:9389
su2double & GetDV_Value(unsigned short val_dv, unsigned short val_val=0)
Value of the design variable step, we use this value in design problems.
Definition CConfig.hpp:6253
void SetSurface_NormalVelocity(unsigned short val_marker, su2double val_surface_normalvelocity)
Set the normal velocity at the surface.
Definition CConfig.hpp:8328
bool GetGravityForce(void) const
Get information about the gravity force.
Definition CConfig.hpp:6581
su2double GetFinalValue(RAMP_TYPE ramp_flag) const
Generic interface for retrieving final value of a turbomachinery ramp.
Definition CConfig.hpp:6508
unsigned long GetUpdate_BCThrust(void) const
Get the value of iterations to re-evaluate the angle of attack.
Definition CConfig.hpp:9177
su2double GetInlet_Profile_Matching_Tolerance(void) const
Get the tolerance used for matching two points on a specified inlet.
Definition CConfig.hpp:5253
bool GetRelaxation(void) const
Get whether a relaxation parameter is used for FSI applications.
Definition CConfig.hpp:9508
void SetCp_PolyCoeffND(su2double val_coeff, unsigned short val_index)
Set the temperature polynomial coefficient for specific heat Cp.
Definition CConfig.hpp:4335
su2double GetMinLogResidual(void) const
Value of the minimum residual value (log10 scale).
Definition CConfig.hpp:6927
void SetSemiSpan(su2double val_semispan)
In case the SemiSpan is equal to 0 then, it is necessary to compute the max y distance,...
Definition CConfig.hpp:2513
unsigned short GetKind_Linear_Solver(void) const
Get the kind of solver for the implicit solver.
Definition CConfig.hpp:4384
su2double GetwallModel_MinYPlus() const
Get the value of the minimum Y+ value below which the wall function is deactivated.
Definition CConfig.hpp:1924
unsigned short GetKind_RoeLowDiss(void) const
Get the Kind of Roe Low Dissipation Scheme for Unsteady flows.
Definition CConfig.hpp:9760
void SetVelocity_FreeStream(su2double val_velocity_freestream, unsigned short val_dim)
Set the free-stream velocity.
Definition CConfig.hpp:2794
su2double GetAcentric_Factor(void) const
Get the value of the critical pressure.
Definition CConfig.hpp:4142
CENTERED GetKind_Centered_Flow(void) const
Get the kind of center convective numerical scheme for the flow equations.
Definition CConfig.hpp:4912
su2double GetTotalTemperatureIn_BC() const
Get the inlet total temperature imposed as BC for internal flow.
Definition CConfig.cpp:9781
INC_OUTLET_TYPE GetKind_Inc_Outlet(const string &val_marker) const
Get the type of incompressible outlet from the list.
Definition CConfig.cpp:9545
su2double GetActDiskInlet_Force(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10143
void SetDomainVolume(su2double val_volume)
Set the value of the domain volume computed on the finest grid.
Definition CConfig.hpp:2520
string GetMarker_PyCustom_TagBound(unsigned short val_marker) const
Get the name of the surface defined in the geometry file.
Definition CConfig.hpp:7280
su2double GetPressure_ThermodynamicND(void) const
Get the value of the non-dimensionalized thermodynamic pressure.
Definition CConfig.hpp:2045
void SetScreen_Wrt_Freq(unsigned short iter, unsigned long nIter)
SetScreen_Wrt_Freq_Inner.
Definition CConfig.hpp:10161
void SetRotation_Rate(unsigned short iDim, su2double val)
Get the rotation rate of the mesh.
Definition CConfig.hpp:6399
su2double GetActDisk_BCThrust_Old(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8139
unsigned short GetMarker_Deform_Mesh_Internal(const string &val_marker) const
Get the internal index for a DEFORM_MESH_SYM_PLANE boundary val_marker.
Definition CConfig.cpp:9495
unsigned short GetCauchy_Func_Flow(void) const
Get functional that is going to be used to evaluate the flow convergence.
Definition CConfig.hpp:6155
bool GetRampAndRelease_Load(void) const
Check if the user wants to apply the load as a ramp.
Definition CConfig.hpp:9440
bool GetVolumetric_Movement(void) const
Get information about the volumetric movement.
Definition CConfig.cpp:9438
void SetActDisk_Mach(unsigned short val_marker, su2double val_actdisk_mach)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8223
unsigned short GetnSpecies() const
Provides the number of species present in the gas mixture.
Definition CConfig.hpp:5654
su2double GetActDiskOutlet_TotalTemperature(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10227
su2double GetIntermittency_FreeStream(void) const
Get the value of the non-dimensionalized freestream intermittency.
Definition CConfig.hpp:2131
su2double GetAoA_Sens(void) const
Get the functional sensitivity with respect to changes in the angle of attack.
Definition CConfig.hpp:2901
void SetMultizone(const CConfig *driver_config, const CConfig *const *config_container)
Set multizone properties.
Definition CConfig.cpp:10593
void SetInflow_Mach(unsigned short val_marker, su2double val_fanface_mach)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7774
CONDUCTIVITYMODEL GetKind_ConductivityModel() const
Get the value of the thermal conductivity model.
Definition CConfig.hpp:4160
void SetEngine_Force(unsigned short val_marker, su2double val_engine_force)
Set the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7907
void SetMarker_All_PerBound(unsigned short val_marker, short val_perbound)
Set if a marker val_marker is going to be periodic val_perbound (read from the config file).
Definition CConfig.hpp:3718
string GetObjFunc_Extension(string val_filename) const
Append the input filename string with the appropriate objective function extension.
Definition CConfig.cpp:8982
su2double GetTime_Step(void) const
Get the time step for multizone problems.
Definition CConfig.hpp:9918
su2double GetMaterialReferenceTemperature() const
Temperature at which there is no stress from thermal expansion.
Definition CConfig.hpp:2456
bool GetFluidProblem(void) const
Return true if a fluid solver is in use.
Definition CConfig.hpp:3951
su2double GetActDiskBem_Axis(unsigned short iDim, string val_marker, unsigned short val_index) const
Get the axis of the actuator disk with BEM.
Definition CConfig.cpp:9377
const su2double * GetWeightsIntegrationADER_DG(void) const
Get the weights of the time integration points for ADER-DG.
Definition CConfig.hpp:3177
void SetOpt_RelaxFactor(su2double val_scale)
Set the scale factor for the line search.
Definition CConfig.hpp:9117
su2double GetCp_PolyCoeff(unsigned short val_index) const
Get the temperature polynomial coefficient for specific heat Cp.
Definition CConfig.hpp:4281
unsigned short GetMarker_All_PyCustom(unsigned short val_marker) const
Get the Python customization for a marker val_marker.
Definition CConfig.hpp:3881
su2double GetWall_SpeciesVal(const string &val_marker, unsigned short iSpecies) const
Get the species value at a wall boundary for a specific species.
Definition CConfig.cpp:9608
su2double GetThermalConductivity_FreeStreamND(void) const
Get the value of the non-dimensionalized freestream thermal conductivity.
Definition CConfig.hpp:2095
const CIluOptions & GetIluOptions(void) const
Get the ILU preconditioner options (fill-in level, OMP level scheduling, GPU build sweeps),...
Definition CConfig.hpp:4455
INIT_OPTION_INC GetKind_InitOption_Inc() const
Get the initialization option of the incompressible solver.
Definition CConfig.hpp:4124
void SetActDiskInlet_ReverseMassFlow(unsigned short val_marker, su2double val_actdisk_area)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8503
su2double GetPoisson_Linear_Solver_Error(void) const
Get min error of the linear solver for the poisson equation.
Definition CConfig.hpp:4431
unsigned short GetKind_TimeIntScheme(void) const
Get the kind of time integration method.
Definition CConfig.hpp:4732
const su2double * GetPeriodic_Translation(unsigned short val_index) const
Get the translation vector for a periodic transformation.
Definition CConfig.hpp:7082
bool GetRotating_Frame(void) const
Get information about the rotational frame.
Definition CConfig.hpp:6686
void SetUpdate_AoA(bool val_update)
Set the value of the boolean for updating AoA in fixed lift mode.
Definition CConfig.hpp:9189
const su2double * GetLoad_Dir(const string &val_index) const
Get the force direction at a loaded boundary in cartesian coordinates.
Definition CConfig.cpp:10297
su2double GetLoad_Dir_Multiplier(const string &val_index) const
Get the force multiplier at a load boundary in cartesian coordinates.
Definition CConfig.cpp:10276
string GetWall_Catalytic_TagBound(unsigned short val_marker) const
Get the name of the surface defined in the geometry file.
Definition CConfig.hpp:4071
su2double GetSurface_DC60(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8559
void SetKind_AverageProcess(unsigned short new_AverageProcess)
Set the kind of mixing process for averaging quantities at the boundaries.
Definition CConfig.hpp:5307
su2double GetSurface_Mach(unsigned short val_marker) const
Get the mach number at an outlet boundary.
Definition CConfig.hpp:8573
void SetViscosity_FreeStream(su2double val_viscosity_freestream)
Set the freestream viscosity.
Definition CConfig.hpp:2733
void SetViscosity_FreeStreamND(su2double val_viscosity_freestreamnd)
Set the non-dimensional free-stream viscosity.
Definition CConfig.hpp:2807
bool GetMUSCL_AdjFlow(void) const
Get if the upwind scheme used MUSCL or not.
Definition CConfig.hpp:4780
void SubtractFinestMesh(void)
Subtract one to the index of the finest grid (full multigrid strategy).
Definition CConfig.hpp:6704
void SetnBlades(unsigned short val_iZone, su2double nblades)
number Turbomachinery blades computed using the pitch information.
Definition CConfig.hpp:5450
bool GetSupercatalytic_Wall(void) const
Indicates whether supercatalytic wall is used.
Definition CConfig.hpp:5768
su2double GetMu_RefND(unsigned short val_index=0) const
Get the value of the non-dimensional reference viscosity for Sutherland model.
Definition CConfig.hpp:4242
su2double GetFlowAngleIn_BC() const
Get the inlet flow angle imposed as BC for internal flow.
Definition CConfig.cpp:9819
su2double GetActDisk_BCThrust(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8132
void SetSurface_Uniformity(unsigned short val_marker, su2double val_surface_streamwiseuniformity)
Set the streamwise flow uniformity at the surface.
Definition CConfig.hpp:8335
const CRBFParam & GetRBFParam(void) const
Determines use of data reduction methods for RBF mesh deformation.
Definition CConfig.hpp:4657
su2double GetExhaust_Force(const string &val_marker) const
Get the force balance at an engine exhaust boundary.
Definition CConfig.cpp:10108
unsigned long GetScreen_Wrt_Freq(unsigned short iter) const
GetScreen_Wrt_Freq_Inner.
Definition CConfig.hpp:10154
const su2double * GetFFD_BSplineOrder() const
Get the kind BSpline Order in i,j,k direction.
Definition CConfig.hpp:3109
bool GetIntegrated_HeatFlux() const
Check if values passed to the BC_HeatFlux-Routine are already integrated.
Definition CConfig.hpp:9805
su2double GetRampCoeff(RAMP_TYPE ramp_flag, RAMP_COEFF val_coeff) const
General interface for accessing ramp coefficient information.
Definition CConfig.hpp:5337
unsigned short GetKind_ConvNumScheme(void) const
Get the kind of convective numerical scheme.
Definition CConfig.hpp:4741
static unsigned short GetnDim(const string &val_mesh_filename, unsigned short val_format)
Gets the number of dimensions in the mesh file.
Definition CConfig.cpp:780
bool GetWrt_ZoneConv(void) const
Check if the convergence history of each individual zone is written to screen.
Definition CConfig.hpp:9998
su2double GetMax_Vel2(void) const
Get the maximum velocity^2 in the domain for the incompressible preconditioner.
Definition CConfig.hpp:9724
bool GetViscous(void) const
Determines if problem is viscous.
Definition CConfig.hpp:6908
su2double GetExhaust_Power(const string &val_marker) const
Get the power at an engine exhaust boundary.
Definition CConfig.cpp:10115
su2double GetSurface_Pressure(unsigned short val_marker) const
Get the pressure at an outlet boundary.
Definition CConfig.hpp:8587
su2double GetBeta_Factor(void) const
Get the epsilon^2 multiplier for Beta in the incompressible preconditioner.
Definition CConfig.hpp:1781
su2double GetUQ_URLX(void) const
Get the underelaxation factor.
Definition CConfig.hpp:9683
RADIAL_BASIS GetKindRadialBasisFunction(void) const
Get the basis function to use for radial basis function interpolation for FSI.
Definition CConfig.hpp:9630
CHT_COUPLING GetKind_CHT_Coupling() const
Get the CHT couling method.
Definition CConfig.hpp:9799
LIMITER GetKind_SlopeLimit_AdjTurb(void) const
Get the method for limiting the spatial gradients.
Definition CConfig.hpp:4982
su2double GetMeshBoxOffset(unsigned short val_iDim) const
Get the offset from 0.0 of the analytic RECTANGLE or BOX grid in the specified coordinate direction.
Definition CConfig.hpp:10034
bool GetUse_Lumped_MassMatrix_DGFEM(void) const
Function to make available whether or not the lumped mass matrix must be used for steady computations...
Definition CConfig.hpp:9608
unsigned short GetnRKStep(void) const
Get the number of Runge-Kutta steps.
Definition CConfig.hpp:3115
void SetdCMy_dCL(su2double val_dcmy_dcl)
Value of the weight of the CD, CL, CM optimization.
Definition CConfig.hpp:7029
string GetFFDTag(unsigned short val_dv) const
Get the FFD Tag of a particular design variable.
Definition CConfig.hpp:3045
void SetDiffusivity_ConstantND(su2double diffusivity_const)
Set the value of the non-dimensional constant mass diffusivity.
Definition CConfig.hpp:4354
void SetActDisk_DeltaTemp(unsigned short val_marker, su2double val_actdisk_deltatemp)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8419
su2double GetDamp_Res_Restric(void) const
Value of the damping factor for the residual restriction.
Definition CConfig.hpp:6951
bool GetVolume_Output_Double_Precision(void) const
Flag for whether the fields of the volume and surface files (CGNS and Paraview XML) are written in do...
Definition CConfig.hpp:5691
su2double GetSurface_Enthalpy(unsigned short val_marker) const
Get the enthalpy at an outlet boundary.
Definition CConfig.hpp:8601
string GetActDisk_FileName(void) const
Get name of the input file for the specified actuator disk.
Definition CConfig.hpp:5247
unsigned short GetContainerPosition(unsigned short val_eqsystem)
Provides the index of the solution in the container.
Definition CConfig.cpp:9045
su2double GetInc_Temperature_Ref(void) const
Get the value of the reference temperature for custom incompressible non-dimensionalization.
Definition CConfig.hpp:2253
const su2double * GetRiemann_FlowDir(const string &val_marker) const
Get the Flowdir at Riemann boundary.
Definition CConfig.cpp:9669
unsigned short GetKind_ConvNumScheme_FEM_Flow(void) const
Get the kind of convective numerical scheme for the flow equations (finite element).
Definition CConfig.hpp:4895
unsigned short GetRCM_NumSeeds(void) const
Get the number of concurrent BFS fronts used to build the RCM reordering, see SetRCM_Ordering.
Definition CConfig.hpp:10234
unsigned short GetnMarker_Outlet(void) const
Get the total number of boundary markers.
Definition CConfig.hpp:3261
su2double GetAitkenStatRelax(void) const
Get Aitken's relaxation parameter for static relaxation cases.
Definition CConfig.hpp:9317
TURBO_INTERFACE_KIND GetKind_TurboInterface(unsigned short interfaceIndex) const
gets interface kind for an interface marker in turbomachinery problem
Definition CConfig.hpp:5548
void SetUpdate_BCThrust_Bool(bool val_update)
Set the value of the boolean for updating AoA in fixed lift mode.
Definition CConfig.hpp:9183
string GetMesh_FileName(void) const
Get name of the input grid.
Definition CConfig.hpp:5792
string GetMarker_ActDiskInlet_TagBound(unsigned short val_marker) const
Get the index of the surface defined in the geometry file.
Definition CConfig.hpp:3481
void SetTimeIter(unsigned long val_iter)
Set the current time iteration number.
Definition CConfig.hpp:3381
void SetGas_ConstantND(su2double val_gas_constantnd)
Set the non-dimensional gas-constant.
Definition CConfig.hpp:2787
void Init()
Initialize common fields of the config structure.
Definition CConfig.cpp:259
INC_DENSITYMODEL GetKind_DensityModel() const
Option to define the density model for incompressible flows.
Definition CConfig.hpp:4094
void SetWeight_ObjFunc(unsigned short val_obj, su2double val)
Set the weight of objective function. There are several options: Drag coefficient,...
Definition CConfig.hpp:5624
su2double GetDeform_Limit(void) const
Get limit for the volumetric deformation.
Definition CConfig.hpp:4617
void SetMarker_All_KindBC(unsigned short val_marker, unsigned short val_boundary)
Set the value of the boundary val_boundary (read from the config file) for the marker val_marker.
Definition CConfig.hpp:3564
su2double GetActDiskInlet_MassFlow(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10234
void SetHeat_Flux_Ref(su2double val_heat_flux_ref)
Set the heat flux reference value.
Definition CConfig.hpp:2679
bool GetWrt_MultiGrid(void) const
Write coarse grids to the visualization files.
Definition CConfig.hpp:3440
su2double GetCL_Target(void) const
Value of the weight of the CD, CL, CM optimization.
Definition CConfig.hpp:7053
bool GetRestart_Flow(void) const
For some problems like adjoint or the linearized equations it is necessary to restart the flow soluti...
Definition CConfig.hpp:5743
void SetIncPressureOut_BC(su2double val_pressure)
Set the outlet pressure imposed as BC for incompressible flow.
Definition CConfig.cpp:9892
su2double GetSurface_Species_0(unsigned short val_marker) const
Get avg species_0 at a boundary.
Definition CConfig.hpp:8664
unsigned short GetKind_Data_Riemann(const string &val_marker) const
Get Kind Data of Riemann boundary.
Definition CConfig.cpp:9676
unsigned short GetKind_FEM_Flow(void) const
Get the kind of finite element convective numerical scheme for the flow equations.
Definition CConfig.hpp:4936
su2double GetIncPressureOut_BC() const
Get the outlet pressure imposed as BC for incompressible flow.
Definition CConfig.cpp:9879
su2double GetStreamwise_Periodic_OutletHeat(void) const
Get the value of the artificial periodic outlet heat.
Definition CConfig.hpp:6617
void SetMarker_All_DV(unsigned short val_marker, unsigned short val_DV)
Set if a marker val_marker is going to be affected by design variables val_moving (read from the conf...
Definition CConfig.hpp:3659
su2double GetThermalConductivity_FreeStream(void) const
Get the value of the freestream thermal conductivity.
Definition CConfig.hpp:1864
unsigned short GetMarker_Periodic_Donor(const string &val_marker) const
Get the rotationally periodic donor marker for boundary val_marker.
Definition CConfig.cpp:9239
PBITER GetKind_PBIter(void) const
Kind of iteration used for pressure based iterations.
Definition CConfig.hpp:4038
bool GetInvDesign_HeatFlux(void) const
Information about computing and plotting the equivalent area distribution.
Definition CConfig.hpp:5786
void SetMarkerTranslationRate(unsigned short iMarkerMoving, unsigned short iDim, su2double val)
Set the translation rate of the marker.
Definition CConfig.hpp:6382
su2double GetWall_HeatTransfer_Coefficient(const string &val_index) const
Get the heat transfer coefficient on a heat transfer boundary.
Definition CConfig.cpp:9920
bool GetDeform_Output(void) const
Get information about writing grid deformation residuals to the console.
Definition CConfig.hpp:4605
unsigned short GetKind_Centered_Template(void)
Get the kind of center convective numerical scheme for the plasma equations.
WINDOW_FUNCTION GetKindWindow(void) const
Get Index of the window function used as weight in the cost functional.
Definition CConfig.hpp:5998
su2double GetAoA_Offset(void) const
Get the off set angle of attack of the body. The solution and the geometry file are able to modifity ...
Definition CConfig.hpp:2888
bool AddRadiation(void) const
Determines if radiation needs to be incorporated to the analysis.
Definition CConfig.hpp:9992
bool GetPoissonSolver(void) const
Get information about the poisson solver condition.
Definition CConfig.hpp:6575
su2double GetInflow_TotalPressure(const string &val_marker) const
Get the total pressure at an engine inflow boundary.
Definition CConfig.cpp:10017
void SetExhaust_TotalTemperature(unsigned short val_marker, su2double val_exhaust_totaltemp)
Set the total temperature at an engine exhaust boundary.
Definition CConfig.hpp:7872
su2double GetMUSCL_Kappa(void) const
Get the blending coefficient for the U-MUSCL scheme.
Definition CConfig.hpp:4789
unsigned short GetnRoughWall(void) const
Get the total number of rough markers.
Definition CConfig.hpp:3321
unsigned short GetMarker_All_KindBC(unsigned short val_marker) const
Get the kind of boundary for each marker.
Definition CConfig.hpp:3556
bool GetWrt_Projected_Sensitivity(void) const
Get information about writing projected sensitivities on surfaces to an ASCII file with rows as x,...
Definition CConfig.hpp:3446
su2double GetEnergy_FreeStream(void) const
Get the value of the freestream energy.
Definition CConfig.hpp:1852
string GetMarker_Moving_TagBound(unsigned short val_marker) const
Get the name of the surface defined in the geometry file.
Definition CConfig.hpp:7248
void SetAoS_Offset(su2double val_AoS_offset)
Set the off set sideslip angle.
Definition CConfig.hpp:2919
su2double GetPressure_Thermodynamic(void) const
Get the value of the thermodynamic pressure.
Definition CConfig.hpp:2039
void SetdCD_dCL(su2double val_dcd_dcl)
Value of the weight of the CD, CL, CM optimization.
Definition CConfig.hpp:7005
su2double GetPlunging_Omega(unsigned short iDim) const
Get the plunging rate of the mesh.
Definition CConfig.hpp:6479
su2double GetRefOriginMoment_X(unsigned short val_marker) const
Get reference origin x-coordinate for moment computation.
Definition CConfig.hpp:1619
su2double GetActDisk_GrossThrust(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8146
su2double GetMarkerPitching_Ampl(unsigned short iMarkerMoving, unsigned short iDim) const
Get pitching amplitude of the marker.
Definition CConfig.hpp:6457
unsigned short GetnElectric_Constant(void) const
Get the number of different electric constants.
Definition CConfig.hpp:2325
void SetHeader(SU2_COMPONENT val_software) const
Print the header to screen.
Definition CConfig.cpp:3569
bool GetNEMOProblem(void) const
Return true if a NEMO solver is in use.
Definition CConfig.hpp:3994
bool GetEdgeColoringRelaxDiscAdj() const
Check if the discrete adjoint is allowed to relax the coloring, that is, allow smaller edge color gro...
Definition CConfig.hpp:10229
LIMITER GetKind_SlopeLimit_Turb(void) const
Get the method for limiting the spatial gradients.
Definition CConfig.hpp:4970
bool GetFrozen(void) const
Indicates whether the flow is frozen (chemistry deactivated).
Definition CConfig.hpp:5748
bool GetRestart(void) const
Provides the restart information.
Definition CConfig.hpp:5672
su2double GetUnst_CFL(void) const
Get the Courant Friedrich Levi number for unsteady simulations.
Definition CConfig.hpp:3002
void SetThermalConductivity_FreeStream(su2double val_thermalconductivity_freestream)
Set the freestream thermal conductivity.
Definition CConfig.hpp:2739
bool GetUpdate_AoA(void) const
Get information about whether to update the AoA for fixed lift mode.
Definition CConfig.hpp:9201
unsigned short GetnDV(void) const
Get the number of design variables.
Definition CConfig.hpp:3058
unsigned short GetnFFD_Iter(void) const
Get the number of iterations to evaluate the parametric coordinates.
Definition CConfig.hpp:9072
su2double GetAitkenDynMaxInit(void) const
Get Aitken's maximum relaxation parameter for dynamic relaxation cases and first iteration.
Definition CConfig.hpp:9323
void SetInitial_BCThrust(su2double val_bcthrust)
Get the value of the non-dimensionalized actuator disk turbulence intensity.
Definition CConfig.hpp:2191
su2double GetRadialBasisFunctionPruneTol(void) const
Get the tolerance used to prune the interpolation matrix (making it sparser).
Definition CConfig.hpp:9645
su2double Get_StartTime() const
Get the start time to track a phase of the code (preprocessing, compute, output).
Definition CConfig.hpp:10134
unsigned short GetnFFD_Fix_IDir(void) const
Get the number of planes to fix in the I direction.
Definition CConfig.hpp:3927
void SetActDisk_DeltaPress(unsigned short val_marker, su2double val_actdisk_deltapress)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8202
bool GetFixed_CL_Mode(void) const
Get information about whether to use fixed CL mode.
Definition CConfig.hpp:9129
su2double GetGiles_RelaxFactorFourier(const string &val_marker) const
Get the relax factor for the fourier component for the Giles BC.
Definition CConfig.cpp:9711
su2double GetModVel_FreeStream(void) const
Get the magnitude of the free-stream velocity of the fluid.
Definition CConfig.hpp:1882
long GetVisualize_CV(void) const
Get the node number of the CV to visualize.
Definition CConfig.hpp:9123
su2double GetSurface_PressureDrop(unsigned short val_marker) const
Get the pressure drop between two surfaces.
Definition CConfig.hpp:8657
su2double GetInletTtotal(const string &val_index) const
Get the total temperature at an inlet boundary.
Definition CConfig.cpp:9552
su2double GetInflow_Temperature(const string &val_marker) const
Get the temperature (static) at an engine inflow boundary.
Definition CConfig.cpp:10024
su2double GetRoe_Kappa(void) const
Returns the Roe kappa (multipler of the dissipation term).
Definition CConfig.hpp:4551
void SetAoA_Offset(su2double val_AoA_offset)
Set the off set angle of attack.
Definition CConfig.hpp:2913
CENTERED GetKind_Centered_Species() const
Get the kind of center convective numerical scheme for the Species equations.
Definition CConfig.hpp:5149
bool GetWrt_MeshQuality(void) const
Get information about writing the mesh quality metrics to the visualization files.
Definition CConfig.hpp:3435
su2double GetSurface_MomentumDistortion(unsigned short val_marker) const
Get the momentum distortion at the surface.
Definition CConfig.hpp:8636
void SetPointersNull(void)
Initializes pointers to null.
Definition CConfig.cpp:900
su2double GetActDisk_PressJump(const string &val_marker, unsigned short val_index) const
Get the thrust corffient of the actuator disk.
Definition CConfig.cpp:9345
const OUTPUT_TYPE * GetVolumeOutputFiles() const
GetVolumeOutputFiles.
Definition CConfig.hpp:10166
bool GetBounded_Scalar() const
Returns true if bounded scalar mode is used for any equation.
Definition CConfig.hpp:5172
void SetTotalTemperatureIn_BC(su2double val_temp)
Set the inlet total temperature imposed as BC for internal flow.
Definition CConfig.cpp:9801
su2double GetInlet_Temperature_ve() const
Get the Tve value for a NEMO inlet boundary.
Definition CConfig.hpp:7337
su2double GetMaxUpdateFractionSST(void) const
Get the maximum update ratio for SST turbulence variables TKE and Omega.
Definition CConfig.hpp:4506
void SetMarker_All_Plotting(unsigned short val_marker, unsigned short val_plotting)
Set if a marker val_marker is going to be plot val_plotting (read from the config file).
Definition CConfig.hpp:3607
void SetFroude(su2double val_froude)
Set the Froude number for free surface problems.
Definition CConfig.hpp:2589
unsigned short GetMarker_All_TurbomachineryFlag(unsigned short val_marker) const
Get the Turbomachinery flag information for a marker val_marker.
Definition CConfig.hpp:3804
unsigned short GetResidual_Func_Flow(void) const
Get functional that is going to be used to evaluate the residual flow convergence.
Definition CConfig.hpp:6149
void SetMarker_All_Deform_Mesh_Internal(unsigned short val_marker, unsigned short val_deform)
Set if a marker val_marker allows deformation at the boundary.
Definition CConfig.hpp:3695
unsigned short GetnMarker_Deform_Mesh(void) const
Get the total number of deformable markers at the boundary.
Definition CConfig.hpp:3231
void SetActDiskOutlet_TotalTemperature(unsigned short val_marker, su2double val_actdisk_totaltemp)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8020
bool GetWrt_Restart_Overwrite(void) const
Flag for whether restart solution files are overwritten.
Definition CConfig.hpp:5699
bool GetRefGeomSurf(void) const
Consider only the surface of the reference geometry.
Definition CConfig.hpp:2377
vector< vector< su2double > > GetAeroelastic_n1(unsigned short iMarker) const
Value of Aeroelastic solution coordinate at time n-1.
Definition CConfig.hpp:8925
bool GetMultizone_AdaptFilename(void) const
Get whether filenames are appended the zone number automatically (multiphysics solver).
Definition CConfig.hpp:5717
void SetKind_TimeIntScheme(unsigned short val_kind_timeintscheme)
Set the kind of time integration scheme.
Definition CConfig.hpp:2536
unsigned short GetGeometryMode(void) const
Get the king of evaluation in the geometrical module.
Definition CConfig.hpp:2982
unsigned short GetnMarker_EngineExhaust(void) const
Get the total number of boundary markers.
Definition CConfig.hpp:3219
unsigned short GetMarker_CfgFile_Designing(const string &val_marker) const
Get the monitoring information from the config definition for the marker val_marker.
Definition CConfig.cpp:8484
unsigned long GetIter_Fixed_NetThrust(void) const
Get the value of iterations to re-evaluate the angle of attack.
Definition CConfig.hpp:9165
su2double GetExtraRelFacGiles(unsigned short iCoeff) const
Get extra relaxation factor coefficients for the Giels BC.
Definition CConfig.hpp:5378
su2double GetGas_Constant_Ref(void) const
Get the reference value for the specific gas constant.
Definition CConfig.hpp:1829
su2double GetEngine_Force(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7949
unsigned long GetTimeIter() const
Get the current time iteration number.
Definition CConfig.hpp:3387
unsigned long GetRestart_Iter(void) const
Get the restart iteration.
Definition CConfig.hpp:9912
unsigned short GetnSpan_iZones(unsigned short iZone) const
get number span-wise sections to compute 3D BC and performance for turbomachinery.
Definition CConfig.hpp:5519
void SetDensity_Ref(su2double val_density_ref)
Set the reference pressure for nondimensionalization.
Definition CConfig.hpp:2625
const su2double * GetInc_Velocity_Init(void) const
Get the value of the initial velocity for incompressible flows.
Definition CConfig.hpp:2265
unsigned short GetnWndConv_Field() const
Get the number of convergence monitoring fields for time convergence monitoring. return Number of con...
Definition CConfig.hpp:10116
bool Low_Mach_Preconditioning(void) const
Get information about the Low Mach Preconditioning.
Definition CConfig.hpp:6563
long GetParMETIS_PointWeight() const
Get the ParMETIS load balancing weight for points.
Definition CConfig.hpp:10244
unsigned long GetWnd_StartConv_Iter(void) const
Get the number of iterations that are not considered in the convergence criteria for the windowed ave...
Definition CConfig.hpp:10103
const su2double * GetPeriodicRotCenter(const string &val_marker) const
Center of rotation for a rotational periodic boundary.
Definition CConfig.cpp:9218
void Set_StartTime(su2double starttime)
Set the start time to track a phase of the code (preprocessing, compute, output).
Definition CConfig.hpp:10128
su2double GetThermal_Conductivity_Constant(unsigned short val_index=0) const
Get the value of the thermal conductivity.
Definition CConfig.hpp:4190
void SetInflow_TotalTemperature(unsigned short val_marker, su2double val_fanface_totaltemperature)
Set the fan face total temperature at an engine inflow boundary.
Definition CConfig.hpp:7816
bool GetStreamwise_Periodic_Temperature(void) const
Get information about the streamwise periodicity Energy equation handling.
Definition CConfig.hpp:6611
void SetMax_Vel2(su2double val_max_vel2)
Set the maximum velocity^2 in the domain for the incompressible preconditioner.
Definition CConfig.hpp:9706
su2double GetFFD_Axis(unsigned short val_var) const
Get the value of the vector that connects the cartesian axis with a sherical or cylindrical one.
Definition CConfig.hpp:1769
su2double GetInc_Outlet_Damping(void) const
Get the damping factor applied to pressure updates at incompressible mass flow outlet.
Definition CConfig.hpp:5289
su2double GetActDisk_TempJump(const string &val_marker, unsigned short val_index) const
Get the thrust corffient of the actuator disk.
Definition CConfig.cpp:9353
CENTERED GetKind_Centered_AdjFlow(void) const
Get the kind of center convective numerical scheme for the adjoint flow equations.
Definition CConfig.hpp:5045
su2double GetActDiskInlet_RamDrag(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10136
unsigned long GetDeform_Linear_Solver_Iter(void) const
Get max number of iterations of the linear solver for the implicit formulation.
Definition CConfig.hpp:4449
void SetEngine_NetThrust(unsigned short val_marker, su2double val_engine_netthrust)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7921
bool GetWrt_ForcesBreakdown(void) const
Check if the forces breakdown file is written.
Definition CConfig.hpp:10016
su2double * GetVelocity_FreeStream(void)
Get the vector of the dimensionalized freestream velocity.
Definition CConfig.hpp:2051
bool GetExtraOutput(void) const
Creates a tecplot file to visualize the partition made by the DDC software.
Definition CConfig.hpp:1716
su2double GetSecondaryFlow_ActDisk(void) const
Get the value of the non-dimensionalized actuator disk turbulence intensity.
Definition CConfig.hpp:2179
string GetAdj_FileName(void) const
Get the name of the file with the adjoint variables.
Definition CConfig.hpp:6091
const FluidFlamelet_ParsedOptions & GetFlameletParsedOptions() const
Get parsed option data structure for the flamelet fluid model.
Definition CConfig.hpp:10400
void SetMarker_All_Fluid_Load(unsigned short val_marker, unsigned short val_interface)
Set if a in marker val_marker the flow load will be computed/employed.
Definition CConfig.hpp:3702
void SetSurface_Species_Variance(unsigned short val_marker, su2double val_surface_species_variance)
Set the species variance at the surface.
Definition CConfig.hpp:8391
su2double GetActDisk_Power(const string &val_marker) const
Get the origin of the actuator disk.
Definition CConfig.cpp:9265
long GetExtraHeatOutputZone(void) const
Heat solver zone with extra screen output.
Definition CConfig.hpp:1722
unsigned short GetKind_TimeIntScheme_Radiation(void) const
Get the kind of integration scheme (explicit or implicit) for the radiation equations.
Definition CConfig.hpp:4859
unsigned short GetMarker_All_Deform_Mesh(unsigned short val_marker) const
Get whether marker val_marker is a DEFORM_MESH marker.
Definition CConfig.hpp:3853
FREESTREAM_OPTION GetKind_FreeStreamOption() const
free stream option to initialize the solution
Definition CConfig.hpp:4112
TURB_TRANS_CORRELATION GetKind_Trans_Correlation(void) const
Get the kind of the transition correlations.
Definition CConfig.hpp:4705
TURBOMACHINERY_TYPE GetKind_TurboMachinery(unsigned short val_iZone) const
Get the kind of turbomachinery architecture.
Definition CConfig.hpp:5396
string GetRestart_FileName(void) const
Get the name of the restart file for the flow variables.
Definition CConfig.hpp:6057
su2double GetDensity_FreeStreamND(void) const
Get the value of the non-dimensionalized freestream density.
Definition CConfig.hpp:2070
unsigned short GetKind_Average(void) const
Get the kind of marker analyze marker (area-averaged, mass flux averaged, etc).
Definition CConfig.hpp:9287
string GetMultiInstance_HistoryFileName(string val_filename, int val_iInst) const
Append the instance index to the restart or the solution files.
Definition CConfig.cpp:8972
unsigned long GetStartConv_Iter(void) const
Get the number of iterations that are not considered in the convergence criteria.
Definition CConfig.hpp:6173
bool GetJacobian_Spatial_Discretization_Only(void) const
Function to make available whether or not only the exact Jacobian of the spatial discretization must ...
Definition CConfig.hpp:9615
su2double GetDisp_Dir_Multiplier(const string &val_index) const
Get the force multiplier at a load boundary in cartesian coordinates.
Definition CConfig.cpp:10290
unsigned short GetMarker_CfgFile_ActDiskOutlet(const string &val_marker) const
Get Actuator Disk Outlet for boundary val_marker (actuator disk inlet).
Definition CConfig.cpp:9406
const su2double * GetOmega_HB(void) const
Get the Harmonic Balance frequency pointer.
Definition CConfig.hpp:6520
unsigned short GetMarker_CfgFile_MixingPlaneInterface(const string &val_marker) const
Get the MixingPlane interface information from the config definition for the marker val_marker.
Definition CConfig.cpp:8526
unsigned short GetMarker_CfgFile_Deform_Mesh(const string &val_marker) const
Get the DEFORM_MESH information from the config definition for the marker val_marker.
Definition CConfig.cpp:8554
su2double GetAeroelastic_CG_Location(void) const
Aeroelastic center of gravity location.
Definition CConfig.hpp:8965
bool GetCatalytic_Wall(unsigned short iMarker) const
Determines whether a marker with index iMarker is a catalytic boundary.
Definition CConfig.cpp:8619
void SetInnerIter(unsigned long val_iter)
Set the current FSI iteration number.
Definition CConfig.hpp:3375
su2double GetSurface_Species_Variance(unsigned short val_marker) const
Get the species variance at a boundary.
Definition CConfig.hpp:8671
unsigned short GetKind_Gradient_Method_Recon(void) const
Get the kind of method for computation of spatial gradients used for upwind reconstruction.
Definition CConfig.hpp:4366
void SetExhaust_TotalPressure(unsigned short val_marker, su2double val_exhaust_totalpressure)
Set the back pressure (total) at an engine exhaust boundary.
Definition CConfig.hpp:7865
unsigned short GetKind_ConvNumScheme_Heat(void) const
Get the kind of convective numerical scheme for the heat equation.
Definition CConfig.hpp:5180
string GetFilename_Iter(const string &filename_iter, unsigned long curInnerIter, unsigned long curOuterIter) const
Add steady iteration number to the filename (does not overwrite previous files)
Definition CConfig.cpp:8914
void SetOutlet_MassFlow(unsigned short val_marker, su2double val_massflow)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8244
su2double GetIncInlet_BC() const
Get the inlet velocity or pressure imposed for incompressible flow.
Definition CConfig.cpp:9840
unsigned short GetMarker_Deform_Mesh_Sym_Plane(const string &val_marker) const
Get the internal index for a DEFORM_MESH_SYM_PLANE boundary val_marker.
Definition CConfig.cpp:9485
unsigned short GetKind_SurfaceMovement(unsigned short iMarkerMoving) const
Get the type of surface motion.
Definition CConfig.hpp:6316
bool GetSave_libROM(void) const
Get whether or not to save solution data to libROM.
Definition CConfig.hpp:10269
su2double GetminTurkelBeta() const
Get the minimum value of Beta for Roe-Turkel preconditioner.
Definition CConfig.hpp:6539
su2double GetdCMy_dCL(void) const
Value of the weight of the CD, CL, CM optimization.
Definition CConfig.hpp:7023
string GetFilename(string filename, const string &ext, int Iter) const
Add any numbers necessary to the filename (iteration number, zone ID ...)
Definition CConfig.cpp:8890
su2double GetActDiskInlet_TotalTemperature(const string &val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.cpp:10213
unsigned long GetHistory_Wrt_Freq(unsigned short iter) const
GetHistory_Wrt_Freq_Inner.
Definition CConfig.hpp:10140
unsigned long GetPastixFactFreq(void) const
Get the desired factorization frequency for PaStiX.
Definition CConfig.hpp:10188
unsigned short GetConsole_Output_Verb(void) const
Get the verbosity level of the console output.
Definition CConfig.hpp:9281
bool GetAD_Mode(void) const
Get the AD support.
Definition CConfig.hpp:9700
string GetBreakdown_FileName(void) const
Get the name of the file with the forces breakdown of the problem.
Definition CConfig.hpp:6004
unsigned short GetMarker_All_Deform_Mesh_Internal(unsigned short val_marker) const
Get whether marker val_marker is a DEFORM_MESH_SYM_PLANE marker.
Definition CConfig.hpp:3867
SU2_MPI::Comm GetMPICommunicator() const
Get the MPI communicator of SU2.
Definition CConfig.cpp:253
su2double GetWall_HeatTransfer_Temperature(const string &val_index) const
Get the temperature at inifinty on a heat transfer boundary.
Definition CConfig.cpp:9929
su2double GetActDiskOutlet_Torque_BEM(string val_marker) const
Get the torque at the actuator disk outlet boundary.
Definition CConfig.cpp:10199
su2double GetMu_Temperature_Ref(unsigned short val_index=0) const
Get the value of the reference temperature for Sutherland model.
Definition CConfig.hpp:4248
su2double GetActDisk_Area(const string &val_marker) const
Get the tip radius of th actuator disk.
Definition CConfig.cpp:9329
su2double GetPlunging_Ampl(unsigned short iDim) const
Get the plunging amplitude of the mesh.
Definition CConfig.hpp:6494
unsigned short GetnConv_Field() const
Get the number of convergence monitoring fields for inner convergence monitoring. return Number of co...
Definition CConfig.hpp:10122
void SetMarker_All_MixingPlaneInterface(unsigned short val_marker, unsigned short val_mixpla_interface)
Set if a marker val_marker is part of the MixingPlane interface (read from the config file).
Definition CConfig.hpp:3644
su2double GetTemperature_FreeStreamND(void) const
Get the value of the non-dimensionalized freestream temperature.
Definition CConfig.hpp:2058
su2double GetKFactor_LowerLimit(void) const
Get the k constant factor define a lower limit by multiplication with values in SST turbulence model.
Definition CConfig.hpp:2155
FEM_SHOCK_CAPTURING_DG GetKind_FEM_DG_Shock(void) const
Get the kind of shock capturing method in FEM DG solver.
Definition CConfig.hpp:4944
su2double GethRoughness(void) const
Get RMS roughness for Transtion model from config.
Definition CConfig.hpp:4711
su2double Get_Electric_Field_Mod(unsigned short val_coeff) const
Get the values for the electric field modulus.
Definition CConfig.hpp:9408
unsigned long GetBc_Eval_Freq(void) const
Evaluation frequency for Engine and Actuator disk markers.
Definition CConfig.hpp:6933
void SetTemperature_FreeStreamND(su2double val_temperature_freestreamnd)
Set the non-dimensional freestream temperature.
Definition CConfig.hpp:2769
su2double GetVelocity_Ref(void) const
Get the value of the reference velocity for non-dimensionalization.
Definition CConfig.hpp:1979
void SetActDiskOutlet_Temperature(unsigned short val_marker, su2double val_actdisk_temp)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8013
su2double GetEnergy_FreeStreamND(void) const
Get the value of the non-dimensionalized freestream energy.
Definition CConfig.hpp:2083
su2double GetEngine_GrossThrust(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:7971
unsigned short GetMarker_Moving(const string &val_marker) const
Get the internal index for a moving boundary val_marker.
Definition CConfig.cpp:9465
bool GetEulerPersson(void) const
Get boolean for using Persson's shock capturing method in Euler flow DG-FEM.
Definition CConfig.hpp:9496
ENUM_REGIME GetKind_Regime(void) const
Governing equations of the flow (it can be different from the run time equation).
Definition CConfig.hpp:4026
const su2double * GetTimeDOFsADER_DG(void) const
Get the location of the time DOFs for ADER-DG on the interval [-1..1].
Definition CConfig.hpp:3159
void SetdCMx_dCL(su2double val_dcmx_dcl)
Value of the weight of the CD, CL, CM optimization.
Definition CConfig.hpp:7017
su2double GetMu_ConstantND(unsigned short val_index=0) const
Get the value of the non-dimensional constant viscosity.
Definition CConfig.hpp:4184
su2double GetCent_Inc_Jac_Fix_Factor(void) const
Factor by which to multiply the dissipation contribution to Jacobians of incompressible central schem...
Definition CConfig.hpp:5019
su2double GetActDisk_Mach(unsigned short val_marker) const
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8545
const su2double * GetSpecies_Init() const
Get initial species value/concentration in the range [0,1].
Definition CConfig.hpp:2301
su2double GetKappa_4th_Flow(void) const
Value of the calibrated constant for the JST method (center scheme).
Definition CConfig.hpp:5007
unsigned short GetMarker_CfgFile_Moving(const string &val_marker) const
Get the motion information from the config definition for the marker val_marker.
Definition CConfig.cpp:8547
su2double GetRefLength(void) const
Get the reference length for computing moment (the default value is 1).
Definition CConfig.hpp:2480
LINEAR_SOLVER_INNER GetKind_Linear_Solver_Inner(void) const
Get the inner linear solver used in nested Krylov linear solvers.
Definition CConfig.hpp:4389
su2double GetRefOriginMoment_Y(unsigned short val_marker) const
Get reference origin y-coordinate for moment computation.
Definition CConfig.hpp:1626
WALL_SPECIES_TYPE GetWall_SpeciesType(const string &val_marker, unsigned short iSpecies) const
Get the species boundary condition type at a wall boundary for a specific species.
Definition CConfig.cpp:9619
su2double GetLES_FilterWidth(void) const
Get the LES Filter Width.
Definition CConfig.hpp:9754
unsigned short GetFFD_Blending(void) const
Get the kind of FFD Blending function.
Definition CConfig.hpp:3103
su2double GetQuadrature_Factor_Straight(void) const
Get the factor applied during quadrature of straight elements.
Definition CConfig.hpp:9569
su2double GetTranslation_Rate(unsigned short iDim) const
Get the translational velocity of the mesh.
Definition CConfig.hpp:6360
void SetOutlet_Area(unsigned short val_marker, su2double val_area)
Get the back pressure (static) at an outlet boundary.
Definition CConfig.hpp:8272
double passivedouble
Definition code_config.hpp:129
passivedouble su2double
Definition code_config.hpp:181
Collection of small classes that decorate C2DContainer to augment its functionality,...
void SetConfig_Options()
Set the config options.
Definition CConfig.cpp:1166
Headers of the mpi interface for generalized datatypes. The subroutines and functions are in the mpi_...
#define CURRENT_FUNCTION
Definition mpi_structure.hpp:59
void TrimExtension(const std::string &ext, std::string &name)
Trim an extension from a name.
Definition printing_toolbox.hpp:297
passivedouble GetValue(const su2double &data)
Get the (primitive) value of the datatype (needs to be specialized for active types).
Definition datatype_structure.hpp:113
Defines classes for referencing options for easy input in CConfig.
WALL_SPECIES_TYPE
Types of wall species boundary conditions.
Definition option_structure.hpp:2017
@ BOX
3D box mesh with N x M x L points of size Lx x Ly x Lz.
Definition option_structure.hpp:2323
@ SU2_BIN
SU2 binary format.
Definition option_structure.hpp:2320
@ SU2
SU2 ascii format.
Definition option_structure.hpp:2319
@ RECTANGLE
2D rectangular mesh with N x M points of size Lx x Ly.
Definition option_structure.hpp:2322
@ CGNS_GRID
CGNS format for the computational grid.
Definition option_structure.hpp:2321
WALL_FUNCTIONS
Types of wall functions.
Definition option_structure.hpp:1686
MUSCL_RAMP_TYPE
Definition option_structure.hpp:2126
TURB_SGS_MODEL
Types of subgrid scale models.
Definition option_structure.hpp:1616
SU2_COMPONENT
Different software components of SU2.
Definition option_structure.hpp:66
FREESTREAM_OPTION
Types of freestream specification.
Definition option_structure.hpp:769
DIFFUSIVITYMODEL
types of mass diffusivity models
Definition option_structure.hpp:841
@ EULER_IMPLICIT
Implicit Euler time integration definition.
Definition option_structure.hpp:1711
@ CLASSICAL_RK4_EXPLICIT
Classical RK4 time integration definition.
Definition option_structure.hpp:1712
@ RUNGE_KUTTA_EXPLICIT
Explicit Runge-Kutta time integration definition.
Definition option_structure.hpp:1709
@ EULER_EXPLICIT
Explicit Euler time integration definition.
Definition option_structure.hpp:1710
RAMP_COEFF
Coefficients of the ramp specified in the config, ordered by index in the config.
Definition option_structure.hpp:2139
TRANSCOEFFMODEL
types of coefficient transport model
Definition option_structure.hpp:713
TURBO_PERF_KIND
Types of Turbomachinery performance Type.
Definition option_structure.hpp:2089
CHECK_TAPE_VARIABLES
Types of variables that can be checked for in a tape debug run.
Definition option_structure.hpp:2811
STRUCT_SPACE_ITE
Type of time integration schemes.
Definition option_structure.hpp:1766
SA_OPTIONS
SA Options.
Definition option_structure.hpp:1264
UPWIND
Types of upwind spatial discretizations.
Definition option_structure.hpp:954
@ AUSMPLUSUP2
AUSM+ -up2 numerical method (All Speed)
@ AUSM
AUSM numerical method.
@ BOUNDED_SCALAR
Scalar advection numerical method.
@ AUSMPLUSUP
AUSM+ -up numerical method (All Speed)
BGS_RELAXATION
Kinds of relaxation for multizone problems.
Definition option_structure.hpp:1865
ENUM_REGIME
different regime modes
Definition option_structure.hpp:517
TURB_MODEL
Types of turbulent models.
Definition option_structure.hpp:1066
STRUCT_COMPRESS
Material compressibility.
Definition option_structure.hpp:399
MAIN_SOLVER
different solver types for the CFD component
Definition option_structure.hpp:302
@ FEM_LES
Definition of the finite element Large Eddy Simulation Navier-Stokes' (LES) solver.
@ DISC_ADJ_FEM_NS
Definition of the discrete adjoint FEM Navier-Stokes' solver.
@ DISC_ADJ_RANS
Definition of the discrete adjoint Reynolds-averaged Navier-Stokes' (RANS) solver.
@ NAVIER_STOKES
Definition of the Navier-Stokes' solver.
@ DISC_ADJ_FEM
Definition of the discrete adjoint FEM solver.
@ DISC_ADJ_FEM_RANS
Definition of the discrete adjoint FEM Reynolds-averaged Navier-Stokes' (RANS) solver.
@ NEMO_NAVIER_STOKES
Definition of the NEMO NS solver.
@ DISC_ADJ_INC_RANS
Definition of the discrete adjoint incompressible Reynolds-averaged Navier-Stokes' (RANS) solver.
@ RANS
Definition of the Reynolds-averaged Navier-Stokes' (RANS) solver.
@ EULER
Definition of the Euler's solver.
@ DISC_ADJ_EULER
Definition of the discrete adjoint Euler solver.
@ DISC_ADJ_INC_EULER
Definition of the discrete adjoint incompressible Euler solver.
@ INC_EULER
Definition of the incompressible Euler's solver.
@ INC_RANS
Definition of the incompressible Reynolds-averaged Navier-Stokes' (RANS) solver.
@ DISC_ADJ_INC_NAVIER_STOKES
Definition of the discrete adjoint incompressible Navier-Stokes'.
@ DISC_ADJ_FEM_EULER
Definition of the discrete adjoint FEM Euler solver.
@ DISC_ADJ_HEAT
Definition of the discrete adjoint heat solver.
@ INC_NAVIER_STOKES
Definition of the incompressible Navier-Stokes' solver.
@ FEM_EULER
Definition of the finite element Euler's solver.
@ FEM_RANS
Definition of the finite element Reynolds-averaged Navier-Stokes' (RANS) solver.
@ HEAT_EQUATION
Definition of the finite volume heat solver.
@ FEM_ELASTICITY
Definition of a FEM solver.
@ FEM_NAVIER_STOKES
Definition of the finite element Navier-Stokes' solver.
@ DISC_ADJ_NAVIER_STOKES
Definition of the discrete adjoint Navier-Stokes' solver.
@ NEMO_EULER
Definition of the NEMO Euler solver.
TAB_OUTPUT
Type of solution output file formats.
Definition option_structure.hpp:2423
@ TAB_TECPLOT
Tecplot format for the solution output.
INC_OUTLET_TYPE
Types outlet boundary treatments.
Definition option_structure.hpp:2166
VISCOSITYMODEL
Types of viscosity model.
Definition option_structure.hpp:781
INLET_INTERP_TYPE
type of radial spanwise interpolation data type for the inlet face
Definition option_structure.hpp:486
SST_OPTIONS
SST Options.
Definition option_structure.hpp:1103
@ NO_MOVEMENT
Simulation on a static mesh.
Definition option_structure.hpp:861
CHT_COUPLING
Kinds of coupling methods at CHT interfaces. The first (temperature) part determines the BC method on...
Definition option_structure.hpp:1945
INIT_OPTION_INC
Types of initialization of the incompressible solver.
Definition option_structure.hpp:757
ENUM_STREAMWISE_PERIODIC
Types of streamwise periodicity.
Definition option_structure.hpp:2989
TURBOMACHINERY_TYPE
Types of mixing process for averaging quantities at the boundaries.
Definition option_structure.hpp:2071
FLAMELET_ENTHALPY_BC
Selects the source of wall/inlet enthalpy boundary conditions for the flamelet solver....
Definition option_structure.hpp:1571
LIMITER
Types of slope limiters.
Definition option_structure.hpp:1038
MG_CYCLE
Type of multigrid cycle.
Definition option_structure.hpp:2471
@ FULL
Full multigrid (FMG) solver.
MIXINGVISCOSITYMODEL
Types of Mixing viscosity model.
Definition option_structure.hpp:799
INC_DENSITYMODEL
Types of density models.
Definition option_structure.hpp:729
FEM_SHOCK_CAPTURING_DG
Types of shock capturing method in Discontinuous Galerkin numerical method.
Definition option_structure.hpp:1014
constexpr int N_POLY_COEFFS
Number of coefficients in temperature polynomial fits for fluid models.
Definition option_structure.hpp:276
TURBO_INTERFACE_KIND
Types of Turbomachinery interfaces.
Definition option_structure.hpp:2103
TIME_MARCHING
Types of schemes for unsteady computations.
Definition option_structure.hpp:2725
PBITER
Type of iteration.
Definition option_structure.hpp:423
INTERFACE_INTERPOLATOR
Types of interpolators.
Definition option_structure.hpp:436
CONDUCTIVITYMODEL
Types of thermal conductivity model.
Definition option_structure.hpp:811
RADIAL_BASIS
Types of radial basis functions.
Definition option_structure.hpp:452
CHECK_TAPE_TYPE
Types of tapes that can be checked in a tape debug run.
Definition option_structure.hpp:2799
STRUCT_MODEL
Material model.
Definition option_structure.hpp:383
VERIFICATION_SOLUTION
the different validation solution
Definition option_structure.hpp:2955
OUTPUT_TYPE
Type of solution output file formats.
Definition option_structure.hpp:2340
STRUCT_TIME_INT
Type of time integration schemes.
Definition option_structure.hpp:1754
STRUCT_2DFORM
2D Formulation for structural problems
Definition option_structure.hpp:1853
LINEAR_SOLVER_INNER
Inner solver for nested linear solver, only compatible with "flexible" linear solvers.
Definition option_structure.hpp:2597
CONDUCTIVITYMODEL_TURB
Types of turbulent thermal conductivity model.
Definition option_structure.hpp:829
STRUCT_DEFORMATION
Material geometric conditions.
Definition option_structure.hpp:371
WINDOW_FUNCTION
Types of window (weight) functions for cost functional.
Definition option_structure.hpp:1634
INLET_TYPE
Types inlet boundary treatments.
Definition option_structure.hpp:2148
RADIATION_MODEL
Kinds of radiation models.
Definition option_structure.hpp:1919
const unsigned int MAX_STRING_SIZE
Maximum size of a generic string.
Definition option_structure.hpp:78
SPECIES_MODEL
types of species transport models
Definition option_structure.hpp:1500
DEFORM_KIND
Type of mesh deformation.
Definition option_structure.hpp:3053
TURB_TRANS_CORRELATION
Types of transition correlations.
Definition option_structure.hpp:1403
TURB_TRANS_MODEL
Types of transition models.
Definition option_structure.hpp:1363
P1_INIT
Kinds of P1 initialization.
Definition option_structure.hpp:1931
ENUM_PROJECTION_FUNCTION
Types of projection function, initially intended for structural topology optimization applications.
Definition option_structure.hpp:2941
VOLUME_OUTPUT_PRECISION
Floating-point type of the fields of the volume and surface files (CGNS and Paraview XML).
Definition option_structure.hpp:2435
@ DOUBLE
Double precision (double).
POD_KIND
Type of POD basis generation (for use with libROM)
Definition option_structure.hpp:3015
INCOMP_SYSTEM
Type of incompressible solver.
Definition option_structure.hpp:411
ROUGHSST_MODEL
SST rough-wall boundary conditions Options.
Definition option_structure.hpp:1248
CENTERED
Types of centered spatial discretizations.
Definition option_structure.hpp:930
INLET_SPANWISE_INTERP
type of radial spanwise interpolation function for the inlet face
Definition option_structure.hpp:470
ENUM_FILTER_KERNEL
Types of filter kernels, initially intended for structural topology optimization applications.
Definition option_structure.hpp:2923
RAMP_TYPE
Definition option_structure.hpp:2120
@ MUSCL
flag for MUSCL ramps
@ BOUNDARY
flag for pressure/mass flow ramps
@ GRID
flag for rotational/translational ramps
ENUM_SOBOLEV_MODUS
mode of operation for the sobolev smoothing solver.
Definition option_structure.hpp:3037
ENUM_MULTIZONE
Different solver types for multizone problems.
Definition option_structure.hpp:359
LM_OPTIONS
LM Options.
Definition option_structure.hpp:1375
Header file for the printing toolbox.
Structure containing multigrid options.
Definition option_structure.hpp:1225
Structure containing parsed options for data-driven fluid model.
Definition option_structure.hpp:1488
Structure containing parsed options for flamelet fluid model.
Definition option_structure.hpp:1584
FLAMELET_ENTHALPY_BC enthalpy_bc
Source of enthalpy BCs: species markers (default, backward-compatible) or flow markers.
Definition option_structure.hpp:1587
Structure containing parsed LM options.
Definition option_structure.hpp:1417
Structure containing parsed SA options.
Definition option_structure.hpp:1290
Structure containing parsed SST options.
Definition option_structure.hpp:1136
Tracy profiler interface header. Provides compatibility macros if the code is built without tracy sup...