SU2
config_structure.hpp
Go to the documentation of this file.
1 
35 #pragma once
36 
37 #include "./mpi_structure.hpp"
38 
39 #include <iostream>
40 #include <cstdlib>
41 #include <fstream>
42 #include <sstream>
43 #include <string>
44 #include <cstring>
45 #include <vector>
46 #include <stdlib.h>
47 #include <cmath>
48 #include <map>
49 #include <assert.h>
50 
51 #include "./option_structure.hpp"
52 #include "./datatype_structure.hpp"
53 
54 #ifdef HAVE_CGNS
55 #include "cgnslib.h"
56 #endif
57 
58 using namespace std;
59 
68 class CConfig {
69 private:
70  SU2_Comm SU2_Communicator;
71  int rank;
72  unsigned short Kind_SU2;
73  unsigned short Ref_NonDim;
74  unsigned short Kind_MixingProcess;
75  unsigned short *Kind_TurboPerformance;
76  unsigned short iZone, nZone;
77  su2double Highlite_Area;
78  su2double Fan_Poly_Eff;
79  su2double OrderMagResidual;
80  su2double MinLogResidual;
81  su2double OrderMagResidualFSI;
82  su2double MinLogResidualFSI;
83  su2double Res_FEM_UTOL;
84  su2double Res_FEM_RTOL;
85  su2double Res_FEM_ETOL;
86  su2double EA_ScaleFactor;
87  su2double* EA_IntLimit;
88  su2double AdjointLimit;
89  su2double* Obj_ChainRuleCoeff;
90  bool MG_AdjointFlow;
91  su2double* SubsonicEngine_Cyl;
92  su2double* SubsonicEngine_Values;
93  su2double* Hold_GridFixed_Coord;
94  su2double *DistortionRack;
95  su2double *PressureLimits,
96  *DensityLimits,
97  *TemperatureLimits;
98  bool ActDisk_DoubleSurface;
99  bool Engine_HalfModel;
100  bool ActDisk_SU2_DEF;
101  unsigned short ConvCriteria;
102  unsigned short nFFD_Iter;
103  unsigned short FFD_Blending;
104  su2double* FFD_BSpline_Order;
105  su2double FFD_Tol;
106  su2double FFD_Scale;
107  bool Viscous_Limiter_Flow, Viscous_Limiter_Turb;
108  bool Write_Conv_FSI;
109  bool ContinuousAdjoint,
110  Viscous,
111  EquivArea,
112  Engine,
113  InvDesign_Cp,
114  InvDesign_HeatFlux,
115  Grid_Movement,
116  Wind_Gust,
117  Aeroelastic_Simulation,
118  Rotating_Frame,
119  PoissonSolver,
120  Low_Mach_Precon,
121  Low_Mach_Corr,
122  GravityForce,
123  SmoothNumGrid,
124  AdaptBoundary,
125  SubsonicEngine,
126  Frozen_Visc,
127  Sens_Remove_Sharp,
128  Hold_GridFixed,
129  Axisymmetric;
130  su2double Damp_Engine_Inflow;
131  su2double Damp_Engine_Exhaust;
132  su2double Damp_Res_Restric,
133  Damp_Correc_Prolong;
134  su2double Position_Plane;
135  su2double WeightCd;
136  su2double dCD_dCL;
137  su2double dCD_dCM;
138  su2double CL_Target;
139  su2double CM_Target;
140  su2double *HTP_Min_XCoord, *HTP_Min_YCoord;
141  unsigned short Unsteady_Simulation;
142  unsigned short Dynamic_Analysis;
143  unsigned short nStartUpIter;
144  su2double FixAzimuthalLine;
145  su2double **DV_Value;
146  su2double DVBound_Upper;
147  su2double DVBound_Lower;
148  su2double LimiterCoeff;
149  unsigned long LimiterIter;
150  su2double SharpEdgesCoeff;
151  unsigned short SystemMeasurements;
152  unsigned short Kind_Regime;
153  unsigned short *Kind_ObjFunc;
154  su2double *Weight_ObjFunc;
155  unsigned short Kind_SensSmooth;
156  unsigned short Continuous_Eqns;
157  unsigned short Discrete_Eqns;
158  unsigned short *Design_Variable;
159  unsigned short Kind_Adaptation;
160  unsigned short nTimeInstances;
161  su2double HarmonicBalance_Period;
162  su2double New_Elem_Adapt;
163  su2double Delta_UnstTime,
164  Delta_UnstTimeND;
165  su2double Delta_DynTime,
166  Total_DynTime,
167  Current_DynTime;
168  su2double Total_UnstTime,
169  Total_UnstTimeND;
170  su2double Current_UnstTime,
171  Current_UnstTimeND;
172  unsigned short nMarker_Euler,
173  nMarker_FarField,
174  nMarker_Custom,
175  nMarker_SymWall,
176  nMarker_Pressure,
177  nMarker_PerBound,
178  nMarker_MixBound,
179  nMarker_TurboPerf,
180  nMarker_NearFieldBound,
181  nMarker_ActDiskInlet, nMarker_ActDiskOutlet,
182  nMarker_InterfaceBound,
183  nMarker_Fluid_InterfaceBound,
184  nMarker_Dirichlet,
185  nMarker_Inlet,
186  nMarker_Riemann,
187  nMarker_NRBC,
188  nMarker_Supersonic_Inlet,
189  nMarker_Supersonic_Outlet,
190  nMarker_Outlet,
191  nMarker_Out_1D,
192  nMarker_Isothermal,
193  nMarker_HeatFlux,
194  nMarker_EngineExhaust,
195  nMarker_EngineInflow,
196  nMarker_Clamped,
197  nMarker_Displacement,
198  nMarker_Load,
199  nMarker_Load_Dir,
200  nMarker_Load_Sine,
201  nMarker_FlowLoad,
202  nMarker_Neumann,
203  nMarker_Internal,
204  nMarker_All,
205  nMarker_Max,
206  nMarker_CfgFile;
209  string *Marker_Euler,
210  *Marker_FarField,
211  *Marker_Custom,
212  *Marker_SymWall,
213  *Marker_Pressure,
214  *Marker_PerBound,
215  *Marker_PerDonor,
216  *Marker_MixBound,
217  *Marker_MixDonor,
218  *Marker_TurboBoundIn,
219  *Marker_TurboBoundOut,
220  *Marker_NearFieldBound,
221  *Marker_InterfaceBound,
222  *Marker_Fluid_InterfaceBound,
223  *Marker_ActDiskInlet,
224  *Marker_ActDiskOutlet,
225  *Marker_Dirichlet,
226  *Marker_Inlet,
227  *Marker_Riemann,
228  *Marker_NRBC,
229  *Marker_Supersonic_Inlet,
230  *Marker_Supersonic_Outlet,
231  *Marker_Outlet,
232  *Marker_Out_1D,
233  *Marker_Isothermal,
234  *Marker_HeatFlux,
235  *Marker_EngineInflow,
236  *Marker_EngineExhaust,
237  *Marker_Clamped,
238  *Marker_Displacement,
239  *Marker_Load,
240  *Marker_Load_Dir,
241  *Marker_Load_Sine,
242  *Marker_FlowLoad,
243  *Marker_Neumann,
244  *Marker_Internal,
245  *Marker_All_TagBound;
246  su2double *Dirichlet_Value;
247  su2double *Exhaust_Temperature_Target;
248  su2double *Exhaust_Pressure_Target;
249  su2double *Inlet_Ttotal;
250  su2double *Riemann_Var1, *Riemann_Var2;
251  su2double **Riemann_FlowDir;
252  su2double *NRBC_Var1, *NRBC_Var2;
253  su2double **NRBC_FlowDir;
254  su2double *Inlet_Ptotal;
255  su2double **Inlet_FlowDir;
256  su2double *Inlet_Temperature;
257  su2double *Inlet_Pressure;
258  su2double **Inlet_Velocity;
259  su2double *EngineInflow_Target;
260  su2double *Inflow_Mach;
261  su2double *Inflow_Pressure;
262  su2double *Inflow_MassFlow;
263  su2double *Inflow_ReverseMassFlow;
264  su2double *Inflow_TotalPressure;
265  su2double *Inflow_Temperature;
266  su2double *Inflow_TotalTemperature;
267  su2double *Inflow_RamDrag;
268  su2double *Inflow_Force;
269  su2double *Inflow_Power;
270  su2double *Exhaust_Pressure;
271  su2double *Exhaust_Temperature;
272  su2double *Exhaust_MassFlow;
273  su2double *Exhaust_TotalPressure;
274  su2double *Exhaust_TotalTemperature;
275  su2double *Exhaust_GrossThrust;
276  su2double *Exhaust_Force;
277  su2double *Exhaust_Power;
278  su2double *Engine_Power;
279  su2double *Engine_Mach;
280  su2double *Engine_Force;
281  su2double *Engine_NetThrust;
282  su2double *Engine_GrossThrust;
283  su2double *Engine_Area;
284  su2double *Outlet_Pressure;
285  su2double *Isothermal_Temperature;
286  su2double *Heat_Flux;
287  su2double *Displ_Value;
288  su2double *Load_Value;
289  su2double *Load_Dir_Value;
290  su2double *Load_Dir_Multiplier;
291  su2double **Load_Dir;
292  su2double *Load_Sine_Amplitude;
293  su2double *Load_Sine_Frequency;
294  su2double **Load_Sine_Dir;
295  su2double *FlowLoad_Value;
296  su2double *ActDiskInlet_MassFlow;
297  su2double *ActDiskInlet_Temperature;
298  su2double *ActDiskInlet_TotalTemperature;
299  su2double *ActDiskInlet_Pressure;
300  su2double *ActDiskInlet_TotalPressure;
301  su2double *ActDiskInlet_RamDrag;
302  su2double *ActDiskInlet_Force;
303  su2double *ActDiskInlet_Power;
304  su2double *ActDiskOutlet_MassFlow;
305  su2double *ActDiskOutlet_Temperature;
306  su2double *ActDiskOutlet_TotalTemperature;
307  su2double *ActDiskOutlet_Pressure;
308  su2double *ActDiskOutlet_TotalPressure;
309  su2double *ActDiskOutlet_GrossThrust;
310  su2double *ActDiskOutlet_Force;
311  su2double *ActDiskOutlet_Power;
312  su2double **ActDisk_PressJump, **ActDisk_TempJump, **ActDisk_Omega;
313  su2double *ActDisk_DeltaPress;
314  su2double *ActDisk_DeltaTemp;
315  su2double *ActDisk_TotalPressRatio;
316  su2double *ActDisk_TotalTempRatio;
317  su2double *ActDisk_StaticPressRatio;
318  su2double *ActDisk_StaticTempRatio;
319  su2double *ActDisk_Power;
320  su2double *ActDisk_MassFlow;
321  su2double *ActDisk_Mach;
322  su2double *ActDisk_Force;
323  su2double *Surface_MassFlow;
324  su2double *Surface_DC60;
325  su2double *Surface_IDC;
326  su2double *Surface_IDC_Mach;
327  su2double *Surface_IDR;
328  su2double *ActDisk_NetThrust;
329  su2double *ActDisk_BCThrust;
330  su2double *ActDisk_BCThrust_Old;
331  su2double *ActDisk_GrossThrust;
332  su2double *ActDisk_Area;
333  su2double *ActDisk_ReverseMassFlow;
334  su2double **Periodic_RotCenter;
335  su2double **Periodic_RotAngles;
336  su2double **Periodic_Translation;
337  unsigned short nPeriodic_Index;
338  su2double **Periodic_Center;
339  su2double **Periodic_Rotation;
340  su2double **Periodic_Translate;
341  string *Marker_CfgFile_TagBound;
342  unsigned short *Marker_All_KindBC,
343  *Marker_CfgFile_KindBC;
344  short *Marker_All_SendRecv;
345  short *Marker_All_PerBound;
346  unsigned long nExtIter;
347  unsigned long ExtIter;
348  unsigned long ExtIter_OffSet;
349  unsigned long IntIter;
350  unsigned long FSIIter;
351  unsigned long Unst_nIntIter;
352  unsigned long Dyn_nIntIter;
353  long Unst_RestartIter;
354  long Unst_AdjointIter;
355  long Iter_Avg_Objective;
356  long Dyn_RestartIter;
357  unsigned short nRKStep;
358  su2double *RK_Alpha_Step;
359  unsigned short nMGLevels;
360  unsigned short nCFL;
361  su2double
362  CFLRedCoeff_Turb,
363  CFLRedCoeff_AdjFlow,
364  CFLRedCoeff_AdjTurb,
365  CFLFineGrid,
366  Max_DeltaTime,
367  Unst_CFL;
368  bool AddIndNeighbor;
369  unsigned short nDV,
370  nObj, nObjW;
371  unsigned short* nDV_Value;
372  unsigned short nFFDBox;
373  unsigned short nGridMovement;
374  unsigned short nParamDV;
375  su2double **ParamDV;
376  su2double **CoordFFDBox;
377  unsigned short **DegreeFFDBox;
378  string *FFDTag;
379  string *TagFFDBox;
380  unsigned short GeometryMode;
381  unsigned short MGCycle;
382  unsigned short FinestMesh;
383  unsigned short nFFD_Fix_IDir, nFFD_Fix_JDir, nFFD_Fix_KDir;
384  unsigned short nMG_PreSmooth,
385  nMG_PostSmooth,
386  nMG_CorrecSmooth;
387  short *FFD_Fix_IDir, *FFD_Fix_JDir, *FFD_Fix_KDir;
388  unsigned short *MG_PreSmooth,
389  *MG_PostSmooth,
390  *MG_CorrecSmooth;
391  su2double *LocationStations;
392  unsigned short Kind_Solver,
393  Kind_FluidModel,
394  Kind_ViscosityModel,
395  Kind_ConductivityModel,
396  Kind_FreeStreamOption,
397  Kind_InitOption,
398  Kind_GasModel,
399  *Kind_GridMovement,
400  Kind_Gradient_Method,
401  Kind_Deform_Linear_Solver,
402  Kind_Deform_Linear_Solver_Prec,
403  Kind_Linear_Solver,
404  Kind_Linear_Solver_FSI_Struc,
405  Kind_Linear_Solver_Prec,
406  Kind_Linear_Solver_Prec_FSI_Struc,
407  Kind_AdjTurb_Linear_Solver,
408  Kind_AdjTurb_Linear_Prec,
409  Kind_DiscAdj_Linear_Solver,
410  Kind_DiscAdj_Linear_Prec,
411  Kind_SlopeLimit,
412  Kind_SlopeLimit_Flow,
413  Kind_SlopeLimit_Turb,
414  Kind_SlopeLimit_AdjTurb,
415  Kind_SlopeLimit_AdjFlow,
416  Kind_TimeNumScheme,
417  Kind_TimeIntScheme_Flow,
418  Kind_TimeIntScheme_AdjFlow,
419  Kind_TimeIntScheme_Turb,
420  Kind_TimeIntScheme_AdjTurb,
421  Kind_TimeIntScheme_Wave,
422  Kind_TimeIntScheme_Heat,
423  Kind_TimeIntScheme_Poisson,
424  Kind_TimeIntScheme_FEA,
425  Kind_SpaceIteScheme_FEA,
426  Kind_ConvNumScheme,
427  Kind_ConvNumScheme_Flow,
428  Kind_ConvNumScheme_Heat,
429  Kind_ConvNumScheme_AdjFlow,
430  Kind_ConvNumScheme_Turb,
431  Kind_ConvNumScheme_AdjTurb,
432  Kind_ConvNumScheme_Template,
433  Kind_Centered,
434  Kind_Centered_Flow,
435  Kind_Centered_AdjFlow,
436  Kind_Centered_Turb,
437  Kind_Centered_AdjTurb,
438  Kind_Centered_Template,
439  Kind_Upwind,
440  Kind_Upwind_Flow,
441  Kind_Upwind_AdjFlow,
442  Kind_Upwind_Turb,
443  Kind_Upwind_AdjTurb,
444  Kind_Upwind_Template,
445  Kind_Solver_Fluid_FSI,
446  Kind_Solver_Struc_FSI,
447  Kind_BGS_RelaxMethod,
448  Kind_TransferMethod,
449  SpatialOrder,
450  SpatialOrder_Flow,
451  SpatialOrder_Turb,
452  SpatialOrder_AdjFlow,
453  SpatialOrder_AdjTurb;
454  bool FSI_Problem;
455  bool AD_Mode;
456  unsigned short Kind_Material_Compress,
457  Kind_Material,
458  Kind_Struct_Solver;
459  unsigned short Kind_Turb_Model;
460  unsigned short Kind_Trans_Model,
461  Kind_ActDisk, Kind_Engine_Inflow, Kind_Inlet, *Kind_Data_Riemann, *Kind_Data_NRBC;
462  su2double Linear_Solver_Error;
463  su2double Linear_Solver_Error_FSI_Struc;
464  unsigned long Linear_Solver_Iter;
465  unsigned long Linear_Solver_Iter_FSI_Struc;
466  unsigned long Linear_Solver_Restart_Frequency;
467  su2double SemiSpan;
468  su2double Roe_Kappa;
469  su2double Relaxation_Factor_Flow;
470  su2double Relaxation_Factor_Turb;
471  su2double Relaxation_Factor_AdjFlow;
472  su2double AdjTurb_Linear_Error;
473  su2double EntropyFix_Coeff;
474  unsigned short AdjTurb_Linear_Iter;
475  su2double *Section_WingBounds;
476  unsigned short nLocationStations,
477  nWingStations;
478  su2double* Kappa_Flow,
479  *Kappa_AdjFlow;
480  su2double* FFD_Axis;
481  su2double Kappa_1st_AdjFlow,
482  Kappa_2nd_AdjFlow,
483  Kappa_4th_AdjFlow,
484  Kappa_1st_Flow,
485  Kappa_2nd_Flow,
486  Kappa_4th_Flow;
488  su2double Min_Beta_RoeTurkel,
489  Max_Beta_RoeTurkel;
490  unsigned long GridDef_Nonlinear_Iter,
491  GridDef_Linear_Iter;
492  unsigned short Deform_Stiffness_Type;
493  bool Deform_Output;
494  su2double Deform_Tol_Factor;
495  su2double Deform_Coeff;
496  unsigned short FFD_Continuity;
497  unsigned short FFD_CoordSystem;
498  su2double Deform_ElasticityMod, Deform_PoissonRatio;
499  bool Visualize_Deformation;
500  bool FFD_Symmetry_Plane;
501  su2double Mach;
502  su2double Reynolds;
503  su2double Froude;
504  su2double Length_Reynolds;
505  su2double AoA,
506  iH, AoS, AoA_Offset, AoS_Offset, AoA_Sens;
507  bool Fixed_CL_Mode;
508  bool Fixed_CM_Mode;
509  bool Eval_dCD_dCX;
510  bool Discard_InFiles;
511  su2double Target_CL;
512  su2double Target_CM;
513  su2double Total_CM;
514  su2double Total_CD;
515  su2double dCL_dAlpha;
516  su2double dCM_diH;
517  unsigned long Iter_Fixed_CL;
518  unsigned long Iter_Fixed_CM;
519  unsigned long Iter_Fixed_NetThrust;
520  unsigned long Update_Alpha;
521  unsigned long Update_iH;
522  unsigned long Update_BCThrust;
523  su2double dNetThrust_dBCThrust;
524  bool Update_BCThrust_Bool;
525  bool Update_AoA;
526  bool Update_HTPIncidence;
527  su2double ChargeCoeff;
528  unsigned short Cauchy_Func_Flow,
529  Cauchy_Func_AdjFlow,
530  Cauchy_Elems;
531  unsigned short Residual_Func_Flow;
532  unsigned long StartConv_Iter;
533  su2double Cauchy_Eps;
534  unsigned long Wrt_Sol_Freq,
535  Wrt_Sol_Freq_DualTime,
536  Wrt_Con_Freq,
537  Wrt_Con_Freq_DualTime;
538  bool Wrt_Unsteady;
539  bool Wrt_Dynamic;
540  bool LowFidelitySim;
541  bool Restart,
542  Restart_Flow;
543  unsigned short nMarker_Monitoring,
544  nMarker_Designing,
545  nMarker_GeoEval,
546  nMarker_Plotting,
547  nMarker_Analyze,
548  nMarker_FSIinterface,
549  nMarker_Moving,
550  nMarker_DV;
551  string *Marker_Monitoring,
552  *Marker_Designing,
553  *Marker_GeoEval,
554  *Marker_Plotting,
555  *Marker_Analyze,
556  *Marker_FSIinterface,
557  *Marker_Moving,
558  *Marker_DV;
559  unsigned short *Marker_All_Monitoring,
560  *Marker_All_GeoEval,
561  *Marker_All_Plotting,
562  *Marker_All_Analyze,
563  *Marker_All_FSIinterface,
564  *Marker_All_DV,
565  *Marker_All_Moving,
566  *Marker_All_Designing,
567  *Marker_All_Out_1D,
568  *Marker_CfgFile_Monitoring,
569  *Marker_CfgFile_Designing,
570  *Marker_CfgFile_GeoEval,
571  *Marker_CfgFile_Plotting,
572  *Marker_CfgFile_Analyze,
573  *Marker_CfgFile_FSIinterface,
574  *Marker_CfgFile_Out_1D,
575  *Marker_CfgFile_Moving,
576  *Marker_CfgFile_DV,
577  *Marker_CfgFile_PerBound;
578  string *PlaneTag;
579  su2double DualVol_Power;
580  unsigned short Analytical_Surface;
581  unsigned short Axis_Stations;
582  unsigned short Mesh_FileFormat;
583  unsigned short Output_FileFormat;
584  unsigned short ActDisk_Jump;
585  bool CFL_Adapt;
586  su2double RefAreaCoeff,
587  RefElemLength,
588  RefSharpEdges,
589  RefLengthMoment,
590  *RefOriginMoment,
591  *RefOriginMoment_X,
592  *RefOriginMoment_Y,
593  *RefOriginMoment_Z,
594  *CFL_AdaptParam,
595  *CFL,
596  *HTP_Axis,
597  DomainVolume;
598  unsigned short nRefOriginMoment_X,
599  nRefOriginMoment_Y,
600  nRefOriginMoment_Z;
601  string Mesh_FileName,
602  Mesh_Out_FileName,
603  Solution_FlowFileName,
604  Solution_LinFileName,
605  Solution_AdjFileName,
606  Solution_FEMFileName,
607  Flow_FileName,
608  Structure_FileName,
609  SurfStructure_FileName,
610  SurfWave_FileName,
611  SurfHeat_FileName,
612  Wave_FileName,
613  Heat_FileName,
614  AdjWave_FileName,
615  Residual_FileName,
616  Conv_FileName,
617  Breakdown_FileName,
618  Conv_FileName_FSI,
619  Restart_FlowFileName,
620  Restart_WaveFileName,
621  Restart_HeatFileName,
622  Restart_AdjFileName,
623  Restart_FEMFileName,
624  Adj_FileName,
625  ObjFunc_Grad_FileName,
626  ObjFunc_Value_FileName,
627  SurfFlowCoeff_FileName,
628  SurfAdjCoeff_FileName,
629  New_SU2_FileName,
630  SurfSens_FileName,
631  VolSens_FileName;
632  bool Low_MemoryOutput,
633  Wrt_Vol_Sol,
634  Wrt_Srf_Sol,
635  Wrt_Csv_Sol,
636  Wrt_Residuals,
637  Wrt_Limiters,
638  Wrt_SharpEdges,
639  Wrt_Halo,
640  Plot_Section_Forces,
641  Wrt_1D_Output;
642  unsigned short Console_Output_Verb;
643  su2double Gamma,
644  Bulk_Modulus,
645  ArtComp_Factor,
646  Gas_Constant,
647  Gas_ConstantND,
648  Gas_Constant_Ref,
649  Temperature_Critical,
650  Pressure_Critical,
651  Density_Critical,
652  Acentric_Factor,
653  Mu_ConstantND,
654  Kt_ConstantND,
655  Mu_RefND,
656  Mu_Temperature_RefND,
657  Mu_SND,
658  *Velocity_FreeStream,
659  Energy_FreeStream,
660  ModVel_FreeStream,
661  ModVel_FreeStreamND,
662  Density_FreeStream,
663  Viscosity_FreeStream,
664  Tke_FreeStream,
665  Intermittency_FreeStream,
666  TurbulenceIntensity_FreeStream,
667  Turb2LamViscRatio_FreeStream,
668  NuFactor_FreeStream,
669  NuFactor_Engine,
670  SecondaryFlow_ActDisk,
671  Initial_BCThrust,
672  Pressure_FreeStream,
673  Temperature_FreeStream,
674  Temperature_ve_FreeStream,
675  *MassFrac_FreeStream,
676  Prandtl_Lam,
677  Prandtl_Turb,
678  Length_Ref,
679  Pressure_Ref,
680  Temperature_Ref,
681  Density_Ref,
682  Velocity_Ref,
683  Time_Ref,
684  Viscosity_Ref,
685  Conductivity_Ref,
686  Energy_Ref,
687  Wall_Temperature,
688  Omega_Ref,
689  Force_Ref,
690  Pressure_FreeStreamND,
691  Temperature_FreeStreamND,
692  Density_FreeStreamND,
693  Velocity_FreeStreamND[3],
694  Energy_FreeStreamND,
695  Viscosity_FreeStreamND,
696  Tke_FreeStreamND,
697  Omega_FreeStreamND,
698  Omega_FreeStream;
699  su2double ElasticyMod,
700  PoissonRatio,
701  MaterialDensity,
702  Bulk_Modulus_Struct;
703  unsigned short Kind_2DElasForm;
704  unsigned short nIterFSI;
705  su2double AitkenStatRelax;
706  su2double AitkenDynMaxInit;
707  su2double AitkenDynMinInit;
708  su2double Wave_Speed;
709  su2double Thermal_Diffusivity;
710  su2double Cyclic_Pitch,
711  Collective_Pitch;
712  string Motion_Filename;
713  su2double Mach_Motion;
714  su2double *Motion_Origin_X,
715  *Motion_Origin_Y,
716  *Motion_Origin_Z,
717  *Translation_Rate_X,
718  *Translation_Rate_Y,
719  *Translation_Rate_Z,
720  *Rotation_Rate_X,
721  *Rotation_Rate_Y,
722  *Rotation_Rate_Z,
723  *Pitching_Omega_X,
724  *Pitching_Omega_Y,
725  *Pitching_Omega_Z,
726  *Pitching_Ampl_X,
727  *Pitching_Ampl_Y,
728  *Pitching_Ampl_Z,
729  *Pitching_Phase_X,
730  *Pitching_Phase_Y,
731  *Pitching_Phase_Z,
732  *Plunging_Omega_X,
733  *Plunging_Omega_Y,
734  *Plunging_Omega_Z,
735  *Plunging_Ampl_X,
736  *Plunging_Ampl_Y,
737  *Plunging_Ampl_Z,
738  *Omega_HB;
739  unsigned short nMotion_Origin_X,
740  nMotion_Origin_Y,
741  nMotion_Origin_Z,
742  nTranslation_Rate_X,
743  nTranslation_Rate_Y,
744  nTranslation_Rate_Z,
745  nRotation_Rate_X,
746  nRotation_Rate_Y,
747  nRotation_Rate_Z,
748  nPitching_Omega_X,
749  nPitching_Omega_Y,
750  nPitching_Omega_Z,
751  nPitching_Ampl_X,
752  nPitching_Ampl_Y,
753  nPitching_Ampl_Z,
754  nPitching_Phase_X,
755  nPitching_Phase_Y,
756  nPitching_Phase_Z,
757  nPlunging_Omega_X,
758  nPlunging_Omega_Y,
759  nPlunging_Omega_Z,
760  nPlunging_Ampl_X,
761  nPlunging_Ampl_Y,
762  nPlunging_Ampl_Z,
763  nOmega_HB,
764  nMoveMotion_Origin,
765  *MoveMotion_Origin;
766  vector<vector<vector<su2double> > > Aeroelastic_np1,
767  Aeroelastic_n,
768  Aeroelastic_n1;
769  su2double FlutterSpeedIndex,
770  PlungeNaturalFrequency,
771  PitchNaturalFrequency,
772  AirfoilMassRatio,
773  CG_Location,
774  RadiusGyrationSquared;
775  su2double *Aeroelastic_plunge,
776  *Aeroelastic_pitch;
777  unsigned short AeroelasticIter;
778  unsigned short Gust_Type,
779  Gust_Dir;
780  su2double Gust_WaveLength,
781  Gust_Periods,
782  Gust_Ampl,
783  Gust_Begin_Time,
784  Gust_Begin_Loc;
785  long Visualize_CV;
786  bool ExtraOutput;
787  bool DeadLoad;
788  bool MatchingMesh;
789  bool SteadyRestart;
790  su2double Newmark_alpha,
791  Newmark_delta;
792  unsigned short nIntCoeffs;
793  su2double *Int_Coeffs;
794  bool Sigmoid_Load,
795  Ramp_Load;
796  bool IncrementalLoad;
797  unsigned long IncLoad_Nincrements;
798  su2double *IncLoad_Criteria;
799  su2double Ramp_Time;
800  su2double Sigmoid_Time;
801  su2double Sigmoid_K;
802  su2double Static_Time;
803  unsigned short Pred_Order;
804  unsigned short Kind_Interpolation;
805  bool Prestretch;
806  string Prestretch_FEMFileName;
807  unsigned long Nonphys_Points,
808  Nonphys_Reconstr;
809  bool ParMETIS;
810  unsigned short DirectDiff;
811  bool DiscreteAdjoint;
812  su2double *default_vel_inf,
813  *default_eng_cyl,
814  *default_eng_val,
815  *default_cfl_adapt,
816  *default_ad_coeff_flow,
817  *default_ad_coeff_adj,
818  *default_obj_coeff,
819  *default_geo_loc,
820  *default_distortion,
821  *default_ea_lim,
822  *default_grid_fix,
823  *default_htp_axis,
824  *default_ffd_axis,
825  *default_inc_crit;
827  /*--- all_options is a map containing all of the options. This is used during config file parsing
828  to track the options which have not been set (so the default values can be used). Without this map
829  there would be no list of all the config file options. ---*/
830 
831  map<string, bool> all_options;
832 
833  /*--- brief param is a map from the option name (config file string) to its decoder (the specific child
834  class of COptionBase that turns the string into a value) ---*/
835 
836  map<string, COptionBase*> option_map;
837 
838 
839  // All of the addXxxOptions take in the name of the option, and a refernce to the field of that option
840  // in the option structure. Depending on the specific type, it may take in a default value, and may
841  // take in extra options. The addXxxOptions mostly follow the same pattern, so please see addDoubleOption
842  // for detailed comments.
843  //
844  // List options are those that can be an unknown number of elements, and also take in a reference to
845  // an integer. This integer will be populated with the number of elements of that type unmarshaled.
846  //
847  // Array options are those with a fixed number of elements.
848  //
849  // List and Array options should also be able to be specified with the string "NONE" indicating that there
850  // are no elements. This allows the option to be present in a config file but left blank.
851 
855  void addDoubleOption(const string name, su2double & option_field, su2double default_value) {
856  // Check if the key is already in the map. If this fails, it is coder error
857  // and not user error, so throw.
858  assert(option_map.find(name) == option_map.end());
859 
860  // Add this option to the list of all the options
861  all_options.insert(pair<string, bool>(name, true));
862 
863  // Create the parser for a su2double option with a reference to the option_field and the desired
864  // default value. This will take the string in the config file, convert it to a su2double, and
865  // place that su2double in the memory location specified by the reference.
866  COptionBase* val = new COptionDouble(name, option_field, default_value);
867 
868  // Create an association between the option name ("CFL") and the parser generated above.
869  // During configuration, the parsing script will get the option name, and use this map
870  // to find how to parse that option.
871  option_map.insert(pair<string, COptionBase *>(name, val));
872  }
873 
874  void addStringOption(const string name, string & option_field, string default_value) {
875  assert(option_map.find(name) == option_map.end());
876  all_options.insert(pair<string, bool>(name, true));
877  COptionBase* val = new COptionString(name, option_field, default_value);
878  option_map.insert(pair<string, COptionBase *>(name, val));
879  }
880 
881  void addIntegerOption(const string name, int & option_field, int default_value) {
882  assert(option_map.find(name) == option_map.end());
883  all_options.insert(pair<string, bool>(name, true));
884  COptionBase* val = new COptionInt(name, option_field, default_value);
885  option_map.insert(pair<string, COptionBase *>(name, val));
886  }
887 
888  void addUnsignedLongOption(const string name, unsigned long & option_field, unsigned long default_value) {
889  assert(option_map.find(name) == option_map.end());
890  all_options.insert(pair<string, bool>(name, true));
891  COptionBase* val = new COptionULong(name, option_field, default_value);
892  option_map.insert(pair<string, COptionBase *>(name, val));
893  }
894 
895  void addUnsignedShortOption(const string name, unsigned short & option_field, unsigned short default_value) {
896  assert(option_map.find(name) == option_map.end());
897  all_options.insert(pair<string, bool>(name, true));
898  COptionBase* val = new COptionUShort(name, option_field, default_value);
899  option_map.insert(pair<string, COptionBase *>(name, val));
900  }
901 
902  void addLongOption(const string name, long & option_field, long default_value) {
903  assert(option_map.find(name) == option_map.end());
904  all_options.insert(pair<string, bool>(name, true));
905  COptionBase* val = new COptionLong(name, option_field, default_value);
906  option_map.insert(pair<string, COptionBase *>(name, val));
907  }
908 
909  void addBoolOption(const string name, bool & option_field, bool default_value) {
910  assert(option_map.find(name) == option_map.end());
911  all_options.insert(pair<string, bool>(name, true));
912  COptionBase* val = new COptionBool(name, option_field, default_value);
913  option_map.insert(pair<string, COptionBase *>(name, val));
914  }
915 
916  // enum types work differently than all of the others because there are a small number of valid
917  // string entries for the type. One must also provide a list of all the valid strings of that type.
918  template <class Tenum>
919  void addEnumOption(const string name, unsigned short & option_field, const map<string, Tenum> & enum_map, Tenum default_value) {
920  assert(option_map.find(name) == option_map.end());
921  all_options.insert(pair<string, bool>(name, true));
922  COptionBase* val = new COptionEnum<Tenum>(name, enum_map, option_field, default_value);
923  option_map.insert(pair<string, COptionBase *>(name, val));
924  return;
925  }
926 
927 
928  // input_size is the number of options read in from the config file
929  template <class Tenum>
930  void addEnumListOption(const string name, unsigned short & input_size, unsigned short * & option_field, const map<string, Tenum> & enum_map) {
931  input_size = 0;
932  assert(option_map.find(name) == option_map.end());
933  all_options.insert(pair<string, bool>(name, true));
934  COptionBase* val = new COptionEnumList<Tenum>(name, enum_map, option_field, input_size);
935  option_map.insert( pair<string, COptionBase*>(name, val) );
936  }
937 
938  void addDoubleArrayOption(const string name, const int size, su2double * & option_field, su2double * default_value) {
939 
940  // su2double * def = new su2double [size];
941  // for (int i = 0; i < size; i++) {
942  // def[i] = default_value[i];
943  // }
944 
945  assert(option_map.find(name) == option_map.end());
946  all_options.insert(pair<string, bool>(name, true));
947  COptionBase* val = new COptionDoubleArray(name, size, option_field, default_value);
948  option_map.insert(pair<string, COptionBase *>(name, val));
949  }
950 
951  void addDoubleListOption(const string name, unsigned short & size, su2double * & option_field) {
952  assert(option_map.find(name) == option_map.end());
953  all_options.insert(pair<string, bool>(name, true));
954  COptionBase* val = new COptionDoubleList(name, size, option_field);
955  option_map.insert(pair<string, COptionBase *>(name, val));
956  }
957 
958  void addShortListOption(const string name, unsigned short & size, short * & option_field) {
959  assert(option_map.find(name) == option_map.end());
960  all_options.insert(pair<string, bool>(name, true));
961  COptionBase* val = new COptionShortList(name, size, option_field);
962  option_map.insert(pair<string, COptionBase *>(name, val));
963  }
964 
965  void addUShortListOption(const string name, unsigned short & size, unsigned short * & option_field) {
966  assert(option_map.find(name) == option_map.end());
967  all_options.insert(pair<string, bool>(name, true));
968  COptionBase* val = new COptionUShortList(name, size, option_field);
969  option_map.insert(pair<string, COptionBase *>(name, val));
970  }
971 
972  void addStringListOption(const string name, unsigned short & num_marker, string* & option_field) {
973  assert(option_map.find(name) == option_map.end());
974  all_options.insert(pair<string, bool>(name, true));
975  COptionBase* val = new COptionStringList(name, num_marker, option_field);
976  option_map.insert(pair<string, COptionBase *>(name, val));
977  }
978 
979  void addConvectOption(const string name, unsigned short & space_field, unsigned short & centered_field, unsigned short & upwind_field) {
980  assert(option_map.find(name) == option_map.end());
981  all_options.insert(pair<string, bool>(name, true));
982  COptionBase* val = new COptionConvect(name, space_field, centered_field, upwind_field);
983  option_map.insert(pair<string, COptionBase *>(name, val));
984  }
985 
986  void addMathProblemOption(const string name, bool & ContinuousAdjoint, const bool & ContinuousAdjoint_default,
987  bool & DiscreteAdjoint, const bool & DiscreteAdjoint_default,
988  bool & Restart_Flow, const bool & Restart_Flow_default) {
989  assert(option_map.find(name) == option_map.end());
990  all_options.insert(pair<string, bool>(name, true));
991  COptionBase* val = new COptionMathProblem(name, ContinuousAdjoint, ContinuousAdjoint_default, DiscreteAdjoint, DiscreteAdjoint_default, Restart_Flow, Restart_Flow_default);
992  option_map.insert(pair<string, COptionBase *>(name, val));
993  }
994 
995  void addDVParamOption(const string name, unsigned short & nDV_field, su2double** & paramDV, string* & FFDTag,
996  unsigned short* & design_variable) {
997  assert(option_map.find(name) == option_map.end());
998  all_options.insert(pair<string, bool>(name, true));
999  COptionBase* val = new COptionDVParam(name, nDV_field, paramDV, FFDTag, design_variable);
1000  option_map.insert(pair<string, COptionBase *>(name, val));
1001  }
1002 
1003  void addDVValueOption(const string name, unsigned short* & nDVValue_field, su2double** & valueDV, unsigned short & nDV_field, su2double** & paramDV,
1004  unsigned short* & design_variable) {
1005  assert(option_map.find(name) == option_map.end());
1006  all_options.insert(pair<string, bool>(name, true));
1007  COptionBase* val = new COptionDVValue(name, nDVValue_field, valueDV, nDV_field, paramDV, design_variable);
1008  option_map.insert(pair<string, COptionBase *>(name, val));
1009  }
1010 
1011  void addFFDDefOption(const string name, unsigned short & nFFD_field, su2double** & coordFFD, string* & FFDTag) {
1012  assert(option_map.find(name) == option_map.end());
1013  all_options.insert(pair<string, bool>(name, true));
1014  COptionBase* val = new COptionFFDDef(name, nFFD_field, coordFFD, FFDTag);
1015  option_map.insert(pair<string, COptionBase *>(name, val));
1016  }
1017 
1018  void addFFDDegreeOption(const string name, unsigned short & nFFD_field, unsigned short** & degreeFFD) {
1019  assert(option_map.find(name) == option_map.end());
1020  all_options.insert(pair<string, bool>(name, true));
1021  COptionBase* val = new COptionFFDDegree(name, nFFD_field, degreeFFD);
1022  option_map.insert(pair<string, COptionBase *>(name, val));
1023  }
1024 
1025  void addStringDoubleListOption(const string name, unsigned short & list_size, string * & string_field,
1026  su2double* & double_field) {
1027  assert(option_map.find(name) == option_map.end());
1028  all_options.insert(pair<string, bool>(name, true));
1029  COptionBase* val = new COptionStringDoubleList(name, list_size, string_field, double_field);
1030  option_map.insert(pair<string, COptionBase *>(name, val));
1031  }
1032 
1033  void addInletOption(const string name, unsigned short & nMarker_Inlet, string * & Marker_Inlet,
1034  su2double* & Ttotal, su2double* & Ptotal, su2double** & FlowDir) {
1035  assert(option_map.find(name) == option_map.end());
1036  all_options.insert(pair<string, bool>(name, true));
1037  COptionBase* val = new COptionInlet(name, nMarker_Inlet, Marker_Inlet, Ttotal, Ptotal, FlowDir);
1038  option_map.insert(pair<string, COptionBase *>(name, val));
1039  }
1040  template <class Tenum>
1041 
1042  void addRiemannOption(const string name, unsigned short & nMarker_Riemann, string * & Marker_Riemann, unsigned short* & option_field, const map<string, Tenum> & enum_map,
1043  su2double* & var1, su2double* & var2, su2double** & FlowDir) {
1044  assert(option_map.find(name) == option_map.end());
1045  all_options.insert(pair<string, bool>(name, true));
1046  COptionBase* val = new COptionRiemann<Tenum>(name, nMarker_Riemann, Marker_Riemann, option_field, enum_map, var1, var2, FlowDir);
1047  option_map.insert(pair<string, COptionBase *>(name, val));
1048  }
1049  template <class Tenum>
1050  void addNRBCOption(const string name, unsigned short & nMarker_NRBC, string * & Marker_NRBC, unsigned short* & option_field, const map<string, Tenum> & enum_map,
1051  su2double* & var1, su2double* & var2, su2double** & FlowDir) {
1052  assert(option_map.find(name) == option_map.end());
1053  all_options.insert(pair<string, bool>(name, true));
1054  COptionBase* val = new COptionNRBC<Tenum>(name, nMarker_NRBC, Marker_NRBC, option_field, enum_map, var1, var2, FlowDir);
1055  option_map.insert(pair<string, COptionBase *>(name, val));
1056  }
1057 
1058  void addExhaustOption(const string name, unsigned short & nMarker_Exhaust, string * & Marker_Exhaust,
1059  su2double* & Ttotal, su2double* & Ptotal) {
1060  assert(option_map.find(name) == option_map.end());
1061  all_options.insert(pair<string, bool>(name, true));
1062  COptionBase* val = new COptionExhaust(name, nMarker_Exhaust, Marker_Exhaust, Ttotal, Ptotal);
1063  option_map.insert(pair<string, COptionBase *>(name, val));
1064  }
1065 
1066  void addPeriodicOption(const string & name, unsigned short & nMarker_PerBound,
1067  string* & Marker_PerBound, string* & Marker_PerDonor,
1068  su2double** & RotCenter, su2double** & RotAngles, su2double** & Translation) {
1069  assert(option_map.find(name) == option_map.end());
1070  all_options.insert(pair<string, bool>(name, true));
1071  COptionBase* val = new COptionPeriodic(name, nMarker_PerBound, Marker_PerBound, Marker_PerDonor, RotCenter, RotAngles, Translation);
1072  option_map.insert(pair<string, COptionBase *>(name, val));
1073  }
1074 
1075  void addMixingPlaneOption(const string & name, unsigned short & nMarker_MixBound,
1076  string* & Marker_MixBound, string* & Marker_MixDonor) {
1077  assert(option_map.find(name) == option_map.end());
1078  all_options.insert(pair<string, bool>(name, true));
1079  COptionBase* val = new COptionMixingPlane(name, nMarker_MixBound, Marker_MixBound, Marker_MixDonor);
1080  option_map.insert(pair<string, COptionBase *>(name, val));
1081  }
1082  template <class Tenum>
1083  void addTurboPerfOption(const string & name, unsigned short & nMarker_TurboPerf,
1084  string* & Marker_TurboBoundIn, string* & Marker_TurboBoundOut, unsigned short* & Kind_TurboPerformance, const map<string, Tenum> & TurboPerformance_Map) {
1085  assert(option_map.find(name) == option_map.end());
1086  all_options.insert(pair<string, bool>(name, true));
1087  COptionBase* val = new COptionTurboPerformance<Tenum>(name, nMarker_TurboPerf, Marker_TurboBoundIn, Marker_TurboBoundOut, Kind_TurboPerformance, TurboPerformance_Map );
1088  option_map.insert(pair<string, COptionBase *>(name, val));
1089  }
1090 
1091  void addActDiskOption(const string & name,
1092  unsigned short & nMarker_ActDiskInlet, unsigned short & nMarker_ActDiskOutlet, string* & Marker_ActDiskInlet, string* & Marker_ActDiskOutlet,
1093  su2double** & ActDisk_PressJump, su2double** & ActDisk_TempJump, su2double** & ActDisk_Omega) {
1094  assert(option_map.find(name) == option_map.end());
1095  all_options.insert(pair<string, bool>(name, true));
1096  COptionBase* val = new COptionActDisk(name,
1097  nMarker_ActDiskInlet, nMarker_ActDiskOutlet, Marker_ActDiskInlet, Marker_ActDiskOutlet,
1098  ActDisk_PressJump, ActDisk_TempJump, ActDisk_Omega);
1099  option_map.insert(pair<string, COptionBase *>(name, val));
1100  }
1101 
1102  void addPythonOption(const string name) {
1103  assert(option_map.find(name) == option_map.end());
1104  all_options.insert(pair<string, bool>(name, true));
1105  COptionBase* val = new COptionPython(name);
1106  option_map.insert(pair<string, COptionBase *>(name, val));
1107  }
1108 
1109 public:
1110 
1111  vector<string> fields;
1116  CConfig(char case_filename[MAX_STRING_SIZE], unsigned short val_software, unsigned short val_iZone, unsigned short val_nZone, unsigned short val_nDim, unsigned short verb_level);
1117 
1121  CConfig(char case_filename[MAX_STRING_SIZE], unsigned short val_software);
1122 
1126  CConfig(char case_filename[MAX_STRING_SIZE], CConfig *config);
1127 
1131  ~CConfig(void);
1132 
1133 
1138  SU2_Comm GetMPICommunicator();
1139 
1144  void SetMPICommunicator(SU2_Comm Communicator);
1145 
1153  static unsigned short GetnZone(string val_mesh_filename, unsigned short val_format, CConfig *config);
1154 
1161  static unsigned short GetnDim(string val_mesh_filename, unsigned short val_format);
1162 
1166  void SetPointersNull(void);
1167 
1175  bool TokenizeString(string & str, string & option_name,
1176  vector<string> & option_value);
1177 
1183  su2double *GetRefOriginMoment(unsigned short val_marker);
1184 
1190  su2double GetRefOriginMoment_X(unsigned short val_marker);
1191 
1197  su2double GetRefOriginMoment_Y(unsigned short val_marker);
1198 
1204  su2double GetRefOriginMoment_Z(unsigned short val_marker);
1205 
1211  void SetRefOriginMoment_X(unsigned short val_marker, su2double val_origin);
1212 
1218  void SetRefOriginMoment_Y(unsigned short val_marker, su2double val_origin);
1219 
1225  void SetRefOriginMoment_Z(unsigned short val_marker, su2double val_origin);
1226 
1232  string GetPlaneTag(unsigned short index);
1233 
1239  su2double GetEA_IntLimit(unsigned short index);
1240 
1246  su2double GetEA_ScaleFactor(void);
1247 
1252  su2double GetAdjointLimit(void);
1253 
1258  su2double *GetHold_GridFixed_Coord(void);
1259 
1264  su2double *GetSubsonicEngine_Values(void);
1265 
1270  su2double *GetSubsonicEngine_Cyl(void);
1271 
1276  su2double *GetDistortionRack(void);
1277 
1282  su2double GetDualVol_Power(void);
1283 
1290  unsigned short GetAnalytical_Surface(void);
1291 
1298  unsigned short GetAxis_Stations(void);
1299 
1304  bool GetExtraOutput(void);
1305 
1310  su2double GetMach(void);
1311 
1316  su2double GetGamma(void);
1317 
1322  su2double GetCFL_AdaptParam(unsigned short val_index);
1323 
1328  bool GetCFL_Adapt(void);
1329 
1334  su2double GetHTP_Axis(unsigned short val_index);
1335 
1340  su2double GetSection_WingBounds(unsigned short val_var);
1341 
1346  su2double GetFFD_Axis(unsigned short val_var);
1347 
1352  su2double GetBulk_Modulus(void);
1353 
1358  su2double GetArtComp_Factor(void);
1359 
1364  su2double GetGas_Constant(void);
1365 
1370  su2double GetGas_ConstantND(void);
1371 
1378  su2double GetBlottnerCoeff(unsigned short val_Species, unsigned short val_Coeff);
1379 
1384  su2double GetPnormHeat(void);
1385 
1390  su2double GetWallTemperature(void);
1391 
1396  su2double GetGas_Constant_Ref(void);
1397 
1402  su2double GetTemperature_FreeStream(void);
1403 
1408  su2double GetEnergy_FreeStream(void);
1409 
1414  su2double GetViscosity_FreeStream(void);
1415 
1420  su2double GetDensity_FreeStream(void);
1421 
1426  su2double GetModVel_FreeStream(void);
1427 
1432  su2double GetModVel_FreeStreamND(void);
1433 
1438  su2double GetTemperature_ve_FreeStream(void);
1439 
1444  su2double GetPrandtl_Lam(void);
1445 
1450  su2double GetPrandtl_Turb(void);
1451 
1457  su2double GetLength_Ref(void);
1458 
1463  su2double GetPressure_Ref(void);
1464 
1469  su2double GetEnergy_Ref(void);
1470 
1475  su2double GetTemperature_Ref(void);
1476 
1481  su2double GetDensity_Ref(void);
1482 
1487  su2double GetVelocity_Ref(void);
1488 
1493  su2double GetTime_Ref(void);
1494 
1499  su2double GetViscosity_Ref(void);
1500 
1505  su2double GetHighlite_Area(void);
1506 
1511  su2double GetFan_Poly_Eff(void);
1512 
1517  su2double GetConductivity_Ref(void);
1518 
1523  su2double GetOmega_Ref(void);
1524 
1529  su2double GetForce_Ref(void);
1530 
1535  su2double GetPressure_FreeStream(void);
1536 
1541  su2double GetPressure_FreeStreamND(void);
1542 
1547  su2double* GetVelocity_FreeStream(void);
1548 
1553  su2double GetTemperature_FreeStreamND(void);
1554 
1559  su2double GetDensity_FreeStreamND(void);
1560 
1565  su2double* GetVelocity_FreeStreamND(void);
1566 
1571  su2double GetEnergy_FreeStreamND(void);
1572 
1577  su2double GetViscosity_FreeStreamND(void);
1578 
1583  su2double GetTke_FreeStreamND(void);
1584 
1589  su2double GetOmega_FreeStreamND(void);
1590 
1595  su2double GetTke_FreeStream(void);
1596 
1601  su2double GetOmega_FreeStream(void);
1602 
1607  su2double GetIntermittency_FreeStream(void);
1608 
1613  su2double GetTurbulenceIntensity_FreeStream(void);
1614 
1619  su2double GetNuFactor_FreeStream(void);
1620 
1625  su2double GetNuFactor_Engine(void);
1626 
1631  su2double GetSecondaryFlow_ActDisk(void);
1632 
1637  su2double GetInitial_BCThrust(void);
1638 
1643  void SetInitial_BCThrust(su2double val_bcthrust);
1644 
1649  su2double GetTurb2LamViscRatio_FreeStream(void);
1650 
1655  su2double* GetMassFrac_FreeStream(void);
1656 
1661  su2double GetLength_Reynolds(void);
1662 
1667  unsigned short GetnStartUpIter(void);
1668 
1675  su2double GetRefAreaCoeff(void);
1676 
1681  su2double GetWaveSpeed(void);
1682 
1687  su2double GetThermalDiffusivity(void);
1688 
1693  su2double GetElasticyMod(void);
1694 
1699  su2double GetBulk_Modulus_Struct(void);
1700 
1705  unsigned short GetElas2D_Formulation(void);
1706 
1712  bool GetPrestretch(void);
1713 
1718  string GetPrestretch_FEMFileName(void);
1719 
1724  su2double GetPoissonRatio(void);
1725 
1730  su2double GetMaterialDensity(void);
1731 
1736  unsigned short GetMaterialCompressibility(void);
1737 
1742  unsigned short GetMaterialModel(void);
1743 
1748  unsigned short GetGeometricConditions(void);
1749 
1754  su2double GetRefLengthMoment(void);
1755 
1760  su2double GetRefElemLength(void);
1761 
1766  su2double GetRefSharpEdges(void);
1767 
1773  su2double GetDomainVolume(void);
1774 
1780  void SetRefAreaCoeff(su2double val_area);
1781 
1787  void SetDomainVolume(su2double val_volume);
1788 
1795  void SetFinestMesh(unsigned short val_finestmesh);
1796 
1803  void SetKind_TimeIntScheme(unsigned short val_kind_timeintscheme);
1804 
1813  void SetKind_ConvNumScheme(unsigned short val_kind_convnumscheme, unsigned short val_kind_centered,
1814  unsigned short val_kind_upwind, unsigned short val_kind_slopelimit, unsigned short val_order_spatial_int);
1815 
1820  su2double GetLimiterCoeff(void);
1821 
1826  unsigned long GetLimiterIter(void);
1827 
1832  su2double GetSharpEdgesCoeff(void);
1833 
1840  su2double GetReynolds(void);
1841 
1846  su2double GetFroude(void);
1847 
1852  void SetFroude(su2double val_froude);
1853 
1858  void SetMach(su2double val_mach);
1859 
1864  void SetReynolds(su2double val_reynolds);
1865 
1870  void SetLength_Ref(su2double val_length_ref);
1871 
1876  void SetVelocity_Ref(su2double val_velocity_ref);
1877 
1882  void SetPressure_Ref(su2double val_pressure_ref);
1883 
1888  void SetDensity_Ref(su2double val_density_ref);
1889 
1894  void SetTemperature_Ref(su2double val_temperature_ref);
1895 
1900  void SetTime_Ref(su2double val_time_ref);
1901 
1906  void SetEnergy_Ref(su2double val_energy_ref);
1907 
1912  void SetOmega_Ref(su2double val_omega_ref);
1913 
1918  void SetForce_Ref(su2double val_force_ref);
1919 
1924  void SetGas_Constant_Ref(su2double val_gas_constant_ref);
1925 
1930  void SetGas_Constant(su2double val_gas_constant);
1931 
1936  void SetViscosity_Ref(su2double val_viscosity_ref);
1937 
1942  void SetConductivity_Ref(su2double val_conductivity_ref);
1943 
1948  void SetPressure_FreeStreamND(su2double val_pressure_freestreamnd);
1949 
1954  void SetPressure_FreeStream(su2double val_pressure_freestream);
1955 
1960  void SetDensity_FreeStreamND(su2double val_density_freestreamnd);
1961 
1966  void SetDensity_FreeStream(su2double val_density_freestream);
1967 
1972  void SetViscosity_FreeStream(su2double val_viscosity_freestream);
1973 
1978  void SetModVel_FreeStream(su2double val_modvel_freestream);
1979 
1984  void SetModVel_FreeStreamND(su2double val_modvel_freestreamnd);
1985 
1990  void SetTemperature_FreeStream(su2double val_temperature_freestream);
1991 
1996  void SetTemperature_FreeStreamND(su2double val_temperature_freestreamnd);
1997 
2002  void SetGas_ConstantND(su2double val_gas_constantnd);
2003 
2008  void SetVelocity_FreeStreamND(su2double val_velocity_freestreamnd, unsigned short val_dim);
2009 
2014  void SetViscosity_FreeStreamND(su2double val_viscosity_freestreamnd);
2015 
2020  void SetTke_FreeStreamND(su2double val_tke_freestreamnd);
2021 
2026  void SetOmega_FreeStreamND(su2double val_omega_freestreamnd);
2027 
2032  void SetTke_FreeStream(su2double val_tke_freestream);
2033 
2038  void SetOmega_FreeStream(su2double val_omega_freestream);
2039 
2044  void SetEnergy_FreeStreamND(su2double val_energy_freestreamnd);
2045 
2050  void SetEnergy_FreeStream(su2double val_energy_freestream);
2051 
2056  void SetTotal_UnstTimeND(su2double val_total_unsttimend);
2057 
2064  su2double GetAoA(void);
2065 
2071  su2double GetAoA_Offset(void);
2072 
2078  su2double GetAoS_Offset(void);
2079 
2084  su2double GetAoA_Sens(void);
2085 
2090  void SetAoA(su2double val_AoA);
2091 
2096  void SetAoA_Offset(su2double val_AoA_offset);
2097 
2102  void SetAoS_Offset(su2double val_AoS_offset);
2103 
2108  void SetAoA_Sens(su2double val_AoA_sens);
2109 
2114  void SetAoS(su2double val_AoS);
2115 
2121  su2double GetAoS(void);
2122 
2127  su2double GetChargeCoeff(void);
2128 
2133  unsigned short GetnMGLevels(void);
2134 
2139  void SetMGLevels(unsigned short val_nMGLevels);
2140 
2146  unsigned short GetFinestMesh(void);
2147 
2153  unsigned short GetMGCycle(void);
2154 
2159  unsigned short GetGeometryMode(void);
2160 
2166  su2double GetCFL(unsigned short val_mesh);
2167 
2173  void SetCFL(unsigned short val_mesh, su2double val_cfl);
2174 
2179  su2double GetUnst_CFL(void);
2180 
2185  su2double GetMax_DeltaTime(void);
2186 
2193  su2double GetParamDV(unsigned short val_dv, unsigned short val_param);
2194 
2201  su2double GetCoordFFDBox(unsigned short val_ffd, unsigned short val_index);
2202 
2209  unsigned short GetDegreeFFDBox(unsigned short val_ffd, unsigned short val_index);
2210 
2216  string GetFFDTag(unsigned short val_dv);
2217 
2223  string GetTagFFDBox(unsigned short val_ffd);
2224 
2229  unsigned short GetnDV(void);
2230 
2235  unsigned short GetnDV_Value(unsigned short iDV);
2236 
2241  unsigned short GetnFFDBox(void);
2242 
2247  unsigned short GetFFD_Continuity(void);
2248 
2253  unsigned short GetFFD_CoordSystem(void);
2254 
2259  unsigned short GetFFD_Blending(void);
2260 
2265  su2double* GetFFD_BSplineOrder();
2266 
2271  unsigned short GetnRKStep(void);
2272 
2277  unsigned short GetnMarker_All(void);
2278 
2283  unsigned short GetnMarker_Max(void);
2284 
2289  unsigned short GetnMarker_EngineInflow(void);
2290 
2295  unsigned short GetnMarker_EngineExhaust(void);
2296 
2301  unsigned short GetnMarker_NearFieldBound(void);
2302 
2307  unsigned short GetnMarker_InterfaceBound(void);
2308 
2313  unsigned short GetnMarker_Fluid_InterfaceBound(void);
2314 
2319  unsigned short GetnMarker_ActDiskInlet(void);
2320 
2325  unsigned short GetnMarker_ActDiskOutlet(void);
2326 
2331  unsigned short GetnMarker_Out_1D(void);
2332 
2333 
2338  unsigned short GetnMarker_Monitoring(void);
2339 
2344  unsigned short GetnMarker_Moving(void);
2345 
2350  unsigned short GetnMarker_Analyze(void);
2351 
2356  unsigned short GetnObj(void);
2357 
2362  void SetnMarker_All(unsigned short val_nmarker);
2363 
2368  unsigned long GetnExtIter(void);
2369 
2374  unsigned long GetUnst_nIntIter(void);
2375 
2380  unsigned long GetDyn_nIntIter(void);
2381 
2386  long GetUnst_RestartIter(void);
2387 
2392  long GetUnst_AdjointIter(void);
2393 
2398  unsigned long GetIter_Avg_Objective(void);
2399 
2404  long GetDyn_RestartIter(void);
2405 
2410  unsigned short GetnTimeInstances(void);
2411 
2416  su2double GetHarmonicBalance_Period(void);
2417 
2424  void SetnExtIter(unsigned long val_niter);
2425 
2430  void SetExtIter(unsigned long val_iter);
2431 
2436  void SetExtIter_OffSet(unsigned long val_iter);
2437 
2442  void SetFSIIter(unsigned long val_iter);
2443 
2448  void SetIntIter(unsigned long val_iter);
2449 
2454  unsigned long GetExtIter(void);
2455 
2460  unsigned long GetExtIter_OffSet(void);
2461 
2466  unsigned long GetFSIIter(void);
2467 
2472  unsigned long GetIntIter(void);
2473 
2478  unsigned long GetWrt_Sol_Freq(void);
2479 
2484  unsigned long GetWrt_Sol_Freq_DualTime(void);
2485 
2490  unsigned long GetWrt_Con_Freq(void);
2491 
2496  unsigned long GetWrt_Con_Freq_DualTime(void);
2497 
2502  bool GetWrt_Unsteady(void);
2503 
2508  bool GetLowFidelitySim(void);
2509 
2514  bool GetWrt_Vol_Sol(void);
2515 
2520  bool GetLow_MemoryOutput(void);
2521 
2526  bool GetWrt_Srf_Sol(void);
2527 
2532  bool GetWrt_Csv_Sol(void);
2533 
2538  bool GetWrt_Residuals(void);
2539 
2544  bool GetWrt_Limiters(void);
2545 
2550  bool GetWrt_SharpEdges(void);
2551 
2556  bool GetWrt_Halo(void);
2557 
2562  bool GetPlot_Section_Forces(void);
2563 
2568  bool GetWrt_1D_Output(void);
2569 
2575  su2double Get_Alpha_RKStep(unsigned short val_step);
2576 
2583  string GetMarker_All_TagBound(unsigned short val_marker);
2584 
2591  string GetMarker_ActDiskInlet_TagBound(unsigned short val_marker);
2592 
2599  string GetMarker_ActDiskOutlet_TagBound(unsigned short val_marker);
2600 
2607  string GetMarker_EngineInflow_TagBound(unsigned short val_marker);
2608 
2615  string GetMarker_EngineExhaust_TagBound(unsigned short val_marker);
2616 
2623  string GetMarker_Monitoring_TagBound(unsigned short val_marker);
2624 
2631  short GetMarker_All_TagBound(string val_tag);
2632 
2638  unsigned short GetMarker_All_KindBC(unsigned short val_marker);
2639 
2645  unsigned short GetMarker_All_Out_1D(unsigned short val_marker);
2646 
2653  void SetMarker_All_Out_1D(unsigned short val_marker, unsigned short val_boundary);
2654 
2655 
2662  void SetMarker_All_KindBC(unsigned short val_marker, unsigned short val_boundary);
2663 
2670  void SetMarker_All_TagBound(unsigned short val_marker, string val_index);
2671 
2679  void SetMarker_All_Monitoring(unsigned short val_marker, unsigned short val_monitoring);
2680 
2688  void SetMarker_All_GeoEval(unsigned short val_marker, unsigned short val_geoeval);
2689 
2697  void SetMarker_All_Designing(unsigned short val_marker, unsigned short val_designing);
2698 
2705  void SetMarker_All_Plotting(unsigned short val_marker, unsigned short val_plotting);
2706 
2713  void SetMarker_All_Analyze(unsigned short val_marker, unsigned short val_analyze);
2714 
2721  void SetMarker_All_FSIinterface(unsigned short val_marker, unsigned short val_fsiinterface);
2722 
2729  void SetMarker_All_DV(unsigned short val_marker, unsigned short val_DV);
2730 
2737  void SetMarker_All_Moving(unsigned short val_marker, unsigned short val_moving);
2738 
2745  void SetMarker_All_PerBound(unsigned short val_marker, short val_perbound);
2746 
2753  void SetMarker_All_SendRecv(unsigned short val_marker, short val_index);
2754 
2761  short GetMarker_All_SendRecv(unsigned short val_marker);
2762 
2768  short GetMarker_All_PerBound(unsigned short val_marker);
2769 
2775  unsigned short GetMarker_All_Monitoring(unsigned short val_marker);
2776 
2782  unsigned short GetMarker_All_GeoEval(unsigned short val_marker);
2783 
2789  unsigned short GetMarker_All_Designing(unsigned short val_marker);
2790 
2796  unsigned short GetMarker_All_Plotting(unsigned short val_marker);
2797 
2803  unsigned short GetMarker_All_Analyze(unsigned short val_marker);
2804 
2810  unsigned short GetMarker_All_FSIinterface(unsigned short val_marker);
2811 
2817  unsigned short GetMarker_n_FSIinterface(void);
2818 
2824  unsigned short GetMarker_All_DV(unsigned short val_marker);
2825 
2831  unsigned short GetMarker_All_Moving(unsigned short val_marker);
2832 
2838  su2double GetLocationStations(unsigned short val_section);
2839 
2845  unsigned short GetMG_PreSmooth(unsigned short val_mesh);
2846 
2852  unsigned short GetMG_PostSmooth(unsigned short val_mesh);
2853 
2859  unsigned short GetMG_CorrecSmooth(unsigned short val_mesh);
2860 
2866  short GetFFD_Fix_IDir(unsigned short val_index);
2867 
2873  short GetFFD_Fix_JDir(unsigned short val_index);
2874 
2880  short GetFFD_Fix_KDir(unsigned short val_index);
2881 
2886  unsigned short GetnFFD_Fix_IDir(void);
2887 
2892  unsigned short GetnFFD_Fix_JDir(void);
2893 
2898  unsigned short GetnFFD_Fix_KDir(void);
2899 
2905  unsigned short GetKind_Solver(void);
2906 
2912  void SetKind_Solver(unsigned short val_solver);
2913 
2914 
2920  unsigned short GetKind_Regime(void);
2921 
2927  unsigned short GetSystemMeasurements(void);
2928 
2933  unsigned short GetKind_GasModel(void);
2934 
2939  unsigned short GetKind_FluidModel(void);
2940 
2945  unsigned short GetKind_FreeStreamOption(void);
2946 
2951  unsigned short GetKind_InitOption(void);
2956  su2double GetPressure_Critical(void);
2957 
2962  su2double GetTemperature_Critical(void);
2963 
2968  su2double GetAcentric_Factor(void);
2969 
2974  unsigned short GetKind_ViscosityModel(void);
2975 
2980  unsigned short GetKind_ConductivityModel(void);
2981 
2986  su2double GetMu_ConstantND(void);
2987 
2992  su2double GetKt_ConstantND(void);
2993 
2998  su2double GetMu_RefND(void);
2999 
3004  su2double GetMu_Temperature_RefND(void);
3005 
3010  su2double GetMu_SND(void);
3011 
3016  void SetMu_ConstantND(su2double mu_const);
3017 
3022  void SetKt_ConstantND(su2double kt_const);
3023 
3028  void SetMu_RefND(su2double mu_ref);
3029 
3034  void SetMu_Temperature_RefND(su2double mu_Tref);
3035 
3040  void SetMu_SND(su2double mu_s);
3041 
3046  unsigned short GetKind_Gradient_Method(void);
3047 
3052  unsigned short GetKind_Linear_Solver(void);
3053 
3058  unsigned short GetKind_Deform_Linear_Solver(void);
3059 
3064  void SetKind_Deform_Linear_Solver_Prec(unsigned short val_kind_prec);
3065 
3070  unsigned short GetKind_Linear_Solver_Prec(void);
3071 
3076  void SetKind_Linear_Solver_Prec(unsigned short val_kind_prec);
3077 
3082  su2double GetLinear_Solver_Error(void);
3083 
3088  unsigned long GetLinear_Solver_Iter(void);
3089 
3094  unsigned long GetLinear_Solver_Restart_Frequency(void);
3095 
3100  su2double GetRelaxation_Factor_Flow(void);
3101 
3106  su2double GetRelaxation_Factor_AdjFlow(void);
3107 
3112  su2double GetRelaxation_Factor_Turb(void);
3113 
3118  su2double GetRoe_Kappa(void);
3119 
3124  su2double GetSemiSpan(void);
3125 
3130  unsigned short GetKind_AdjTurb_Linear_Solver(void);
3131 
3136  unsigned short GetKind_AdjTurb_Linear_Prec(void);
3137 
3142  unsigned short GetKind_DiscAdj_Linear_Solver(void);
3143 
3148  unsigned short GetKind_DiscAdj_Linear_Prec(void);
3149 
3154  unsigned short GetKind_Deform_Linear_Solver_Prec(void);
3155 
3160  void SetKind_AdjTurb_Linear_Prec(unsigned short val_kind_prec);
3161 
3166  su2double GetAdjTurb_Linear_Error(void);
3167 
3172  su2double GetEntropyFix_Coeff(void);
3173 
3178  unsigned short GetAdjTurb_Linear_Iter(void);
3179 
3184  su2double GetCFLRedCoeff_AdjTurb(void);
3185 
3190  unsigned long GetGridDef_Linear_Iter(void);
3191 
3196  unsigned long GetGridDef_Nonlinear_Iter(void);
3197 
3202  bool GetDeform_Output(void);
3203 
3208  su2double GetDeform_Tol_Factor(void);
3209 
3214  su2double GetDeform_Coeff(void);
3215 
3219  su2double GetDeform_ElasticityMod(void);
3220 
3225  su2double GetDeform_PoissonRatio(void);
3226 
3231  unsigned short GetDeform_Stiffness_Type(void);
3232 
3237  bool GetVisualize_Deformation(void);
3238 
3243  bool GetFFD_Symmetry_Plane(void);
3244 
3249  unsigned short GetKind_SU2(void);
3250 
3255  unsigned short GetRef_NonDim(void);
3256 
3261  void SetKind_SU2(unsigned short val_kind_su2);
3262 
3267  unsigned short GetKind_Turb_Model(void);
3268 
3273  unsigned short GetKind_Trans_Model(void);
3274 
3279  unsigned short GetKind_Adaptation(void);
3280 
3285  su2double GetNew_Elem_Adapt(void);
3286 
3294  unsigned short GetKind_TimeIntScheme(void);
3295 
3303  unsigned short GetKind_ConvNumScheme(void);
3304 
3312  unsigned short GetKind_Centered(void);
3313 
3321  unsigned short GetKind_Upwind(void);
3322 
3330  unsigned short GetSpatialOrder(void);
3331 
3339  unsigned short GetSpatialOrder_Flow(void);
3340 
3348  unsigned short GetSpatialOrder_Turb(void);
3349 
3357  unsigned short GetSpatialOrder_AdjFlow(void);
3358 
3366  unsigned short GetKind_TimeIntScheme_Flow(void);
3367 
3375  unsigned short GetKind_TimeIntScheme_Wave(void);
3376 
3384  unsigned short GetKind_TimeIntScheme_Heat(void);
3385 
3393  unsigned short GetKind_TimeIntScheme_Poisson(void);
3394 
3402  unsigned short GetKind_TimeIntScheme_FEA(void);
3403 
3411  unsigned short GetKind_TimeIntScheme_Template(void);
3412 
3420  unsigned short GetKind_SpaceIteScheme_FEA(void);
3421 
3428  unsigned short GetKind_TransferMethod(void);
3429 
3437  unsigned short GetKind_ConvNumScheme_Flow(void);
3438 
3446  unsigned short GetKind_ConvNumScheme_Template(void);
3447 
3454  unsigned short GetKind_Centered_Flow(void);
3455 
3462  unsigned short GetKind_Centered_Template(void);
3463 
3470  unsigned short GetKind_Upwind_Flow(void);
3471 
3476  unsigned short GetKind_SlopeLimit(void);
3477 
3482  unsigned short GetKind_SlopeLimit_Flow(void);
3483 
3488  unsigned short GetKind_SlopeLimit_Turb(void);
3489 
3494  unsigned short GetKind_SlopeLimit_AdjTurb(void);
3495 
3500  unsigned short GetKind_SlopeLimit_AdjFlow(void);
3501 
3507  su2double GetKappa_1st_Flow(void);
3508 
3513  su2double GetKappa_2nd_Flow(void);
3514 
3519  su2double GetKappa_4th_Flow(void);
3520 
3528  unsigned short GetKind_TimeIntScheme_AdjFlow(void);
3529 
3537  unsigned short GetKind_ConvNumScheme_AdjFlow(void);
3538 
3545  unsigned short GetKind_Centered_AdjFlow(void);
3546 
3553  unsigned short GetKind_Upwind_AdjFlow(void);
3554 
3559  su2double GetKappa_2nd_AdjFlow(void);
3560 
3565  su2double GetKappa_4th_AdjFlow(void);
3566 
3571  su2double GetKappa_1st_AdjFlow(void);
3572 
3580  unsigned short GetKind_TimeIntScheme_Turb(void);
3581 
3589  unsigned short GetKind_ConvNumScheme_Turb(void);
3590 
3597  unsigned short GetKind_Centered_Turb(void);
3598 
3605  unsigned short GetKind_Upwind_Turb(void);
3606 
3614  unsigned short GetKind_TimeIntScheme_AdjTurb(void);
3615 
3623  unsigned short GetKind_ConvNumScheme_AdjTurb(void);
3624 
3631  unsigned short GetKind_Centered_AdjTurb(void);
3632 
3639  unsigned short GetKind_Upwind_AdjTurb(void);
3640 
3646  bool GetFrozen_Visc(void);
3647 
3652  bool GetViscous_Limiter_Flow(void);
3653 
3658  bool GetViscous_Limiter_Turb(void);
3659 
3664  bool GetWrite_Conv_FSI(void);
3665 
3670  bool GetSens_Remove_Sharp(void);
3671 
3676  unsigned short GetKind_Inlet(void);
3677 
3678 
3683  unsigned short GetKind_MixingProcess(void);
3684 
3689  bool GetBoolMixingPlane(void);
3690 
3695  unsigned short Get_nMarkerMixingPlane(void);
3696 
3701  string GetMarker_MixingPlane_Bound(unsigned short index);
3702 
3703 
3708  string GetMarker_MixingPlane_Donor(unsigned short index);
3709 
3714  bool GetBoolTurboPerf(void);
3719  unsigned short Get_nMarkerTurboPerf(void);
3720 
3725  string GetMarker_TurboPerf_BoundIn(unsigned short index);
3726 
3731  string GetMarker_TurboPerf_BoundOut(unsigned short index);
3732 
3737  unsigned short GetKind_TurboPerf(unsigned short index);
3738 
3743  unsigned short GetKind_Engine_Inflow(void);
3744 
3749  unsigned short GetKind_ActDisk(void);
3750 
3755  unsigned short GetnLocationStations(void);
3756 
3761  unsigned short GetnWingStations(void);
3762 
3768  bool GetHold_GridFixed(void);
3769 
3776  unsigned short GetKind_ObjFunc(void);
3777 
3785  unsigned short GetKind_ObjFunc(unsigned short val_obj);
3786 
3794  su2double GetWeight_ObjFunc(unsigned short val_obj);
3795 
3803  void SetWeight_ObjFunc(unsigned short val_obj, su2double val);
3804 
3812  su2double GetCoeff_ObjChainRule(unsigned short iVar);
3813 
3818  bool GetComboObj(void);
3819 
3824  unsigned short GetKind_SensSmooth(void);
3825 
3832  unsigned short GetUnsteady_Simulation(void);
3833 
3838  unsigned short GetnReactions(void);
3839 
3844  su2double GetArrheniusCoeff(unsigned short iReaction);
3845 
3850  su2double GetArrheniusEta(unsigned short iReaction);
3851 
3856  su2double GetArrheniusTheta(unsigned short iReaction);
3857 
3862  su2double* GetRxnTcf_a(void);
3863 
3868  su2double* GetRxnTcf_b(void);
3869 
3874  su2double* GetRxnTcb_a(void);
3875 
3880  su2double* GetRxnTcb_b(void);
3881 
3886  su2double* GetDissociationPot(void);
3887 
3892  su2double* GetRotationModes(void);
3893 
3898  su2double* GetCharVibTemp(void);
3899 
3904  su2double** GetCharElTemp(void);
3905 
3910  su2double** GetElDegeneracy(void);
3911 
3916  unsigned short* GetnElStates(void);
3917 
3918 
3923  su2double* GetRefTemperature(void);
3924 
3929  su2double GetCharVibTemp(unsigned short iSpecies);
3930 
3935  su2double* GetMolar_Mass(void);
3936 
3941  su2double GetMolar_Mass(unsigned short iSpecies);
3942 
3947  unsigned short GetnMonatomics(void);
3948 
3953  unsigned short GetnDiatomics(void);
3954 
3959  su2double GetInitial_Gas_Composition(unsigned short iSpecies);
3960 
3965  su2double* GetEnthalpy_Formation(void);
3966 
3971  su2double GetEnthalpy_Formation(unsigned short iSpecies);
3972 
3977  bool GetRestart(void);
3978 
3983  unsigned short GetnVar(void);
3984 
3989  unsigned short GetnZone(void);
3990 
3995  unsigned short GetiZone(void);
3996 
4003  bool GetRestart_Flow(void);
4004 
4008  bool GetIonization(void);
4009 
4014  bool GetEquivArea(void);
4015 
4020  bool GetInvDesign_Cp(void);
4021 
4026  bool GetInvDesign_HeatFlux(void);
4027 
4032  string GetMesh_FileName(void);
4033 
4039  string GetMesh_Out_FileName(void);
4040 
4045  string GetSolution_FlowFileName(void);
4046 
4053  string GetSolution_AdjFileName(void);
4054 
4059  string GetSolution_FEMFileName(void);
4060 
4065  string GetResidual_FileName(void);
4066 
4071  unsigned short GetMesh_FileFormat(void);
4072 
4077  unsigned short GetOutput_FileFormat(void);
4078 
4083  unsigned short GetActDisk_Jump(void);
4084 
4089  string GetConv_FileName(void);
4090 
4095  string GetConv_FileName_FSI(void);
4096 
4101  string GetBreakdown_FileName(void);
4102 
4107  string GetFlow_FileName(void);
4108 
4113  string GetStructure_FileName(void);
4114 
4119  string GetSurfStructure_FileName(void);
4120 
4125  string GetSurfWave_FileName(void);
4126 
4131  string GetSurfHeat_FileName(void);
4132 
4137  string GetWave_FileName(void);
4138 
4143  string GetHeat_FileName(void);
4144 
4149  string GetAdjWave_FileName(void);
4150 
4155  string GetRestart_WaveFileName(void);
4156 
4161  string GetRestart_HeatFileName(void);
4162 
4167  string GetMultizone_FileName(string val_filename, int val_iZone);
4168 
4173  string GetRestart_FlowFileName(void);
4174 
4179  string GetRestart_AdjFileName(void);
4180 
4185  string GetRestart_FEMFileName(void);
4186 
4191  string GetAdj_FileName(void);
4192 
4197  string GetObjFunc_Grad_FileName(void);
4198 
4203  string GetObjFunc_Value_FileName(void);
4204 
4209  string GetSurfFlowCoeff_FileName(void);
4210 
4215  string GetSurfAdjCoeff_FileName(void);
4216 
4221  string GetSurfSens_FileName(void);
4222 
4227  string GetVolSens_FileName(void);
4228 
4235  string GetUnsteady_FileName(string val_filename, int val_iter);
4236 
4242  string GetObjFunc_Extension(string val_filename);
4243 
4248  unsigned short GetResidual_Func_Flow(void);
4249 
4254  unsigned short GetCauchy_Func_Flow(void);
4255 
4260  unsigned short GetCauchy_Func_AdjFlow(void);
4261 
4266  unsigned short GetCauchy_Elems(void);
4267 
4272  unsigned long GetStartConv_Iter(void);
4273 
4279  su2double GetCauchy_Eps(void);
4280 
4286  su2double GetDelta_UnstTimeND(void);
4287 
4293  su2double GetTotal_UnstTimeND(void);
4294 
4300  su2double GetDelta_UnstTime(void);
4301 
4306  void SetDelta_UnstTimeND(su2double val_delta_unsttimend);
4307 
4313  su2double GetTotal_UnstTime(void);
4314 
4320  su2double GetCurrent_UnstTime(void);
4321 
4326  bool GetSubsonicEngine(void);
4327 
4332  bool GetActDisk_DoubleSurface(void);
4333 
4338  bool GetEngine_HalfModel(void);
4339 
4344  bool GetActDisk_SU2_DEF(void);
4345 
4352  su2double GetDV_Value(unsigned short val_dv, unsigned short val_val = 0);
4353 
4359  void SetDV_Value(unsigned short val_dv, unsigned short val_ind, su2double val);
4360 
4365  bool GetGrid_Movement(void);
4366 
4372  unsigned short GetKind_GridMovement(unsigned short val_iZone);
4373 
4379  void SetKind_GridMovement(unsigned short val_iZone, unsigned short motion_Type);
4380 
4385  su2double GetMach_Motion(void);
4386 
4392  su2double GetMotion_Origin_X(unsigned short val_iZone);
4393 
4399  su2double GetMotion_Origin_Y(unsigned short val_iZone);
4400 
4406  su2double GetMotion_Origin_Z(unsigned short val_iZone);
4407 
4413  void SetMotion_Origin_X(unsigned short val_iZone, su2double val_origin);
4414 
4420  void SetMotion_Origin_Y(unsigned short val_iZone, su2double val_origin);
4421 
4427  void SetMotion_Origin_Z(unsigned short val_iZone, su2double val_origin);
4428 
4434  su2double GetTranslation_Rate_X(unsigned short val_iZone);
4435 
4441  su2double GetTranslation_Rate_Y(unsigned short val_iZone);
4442 
4448  su2double GetTranslation_Rate_Z(unsigned short val_iZone);
4449 
4455  su2double GetRotation_Rate_X(unsigned short val_iZone);
4456 
4462  su2double GetRotation_Rate_Y(unsigned short val_iZone);
4463 
4469  su2double GetRotation_Rate_Z(unsigned short val_iZone);
4470 
4476  su2double GetPitching_Omega_X(unsigned short val_iZone);
4477 
4483  su2double GetPitching_Omega_Y(unsigned short val_iZone);
4484 
4490  su2double GetPitching_Omega_Z(unsigned short val_iZone);
4491 
4497  su2double GetPitching_Ampl_X(unsigned short val_iZone);
4498 
4504  su2double GetPitching_Ampl_Y(unsigned short val_iZone);
4505 
4511  su2double GetPitching_Ampl_Z(unsigned short val_iZone);
4512 
4518  su2double GetPitching_Phase_X(unsigned short val_iZone);
4519 
4525  su2double GetPitching_Phase_Y(unsigned short val_iZone);
4526 
4532  su2double GetPitching_Phase_Z(unsigned short val_iZone);
4533 
4539  su2double GetPlunging_Omega_X(unsigned short val_iZone);
4540 
4546  su2double GetPlunging_Omega_Y(unsigned short val_iZone);
4547 
4553  su2double GetPlunging_Omega_Z(unsigned short val_iZone);
4554 
4560  su2double GetPlunging_Ampl_X(unsigned short val_iZone);
4561 
4567  su2double GetPlunging_Ampl_Y(unsigned short val_iZone);
4568 
4574  su2double GetPlunging_Ampl_Z(unsigned short val_iZone);
4575 
4580  su2double* GetOmega_HB(void);
4581 
4587  unsigned short GetMoveMotion_Origin(unsigned short val_marker);
4588 
4593  su2double GetminTurkelBeta();
4594 
4599  su2double GetmaxTurkelBeta();
4600 
4605  bool GetAdiabaticWall(void);
4606 
4611  bool GetIsothermalWall(void);
4612 
4617  bool Low_Mach_Preconditioning(void);
4618 
4623  bool Low_Mach_Correction(void);
4624 
4629  bool GetPoissonSolver(void);
4630 
4635  bool GetGravityForce(void);
4636 
4641  bool GetRotating_Frame(void);
4642 
4647  bool GetAxisymmetric(void);
4648 
4653  bool GetDebugMode(void);
4654 
4659  bool GetAdaptBoundary(void);
4660 
4665  bool GetSmoothNumGrid(void);
4666 
4671  void SetSmoothNumGrid(bool val_smoothnumgrid);
4672 
4677  void SubtractFinestMesh(void);
4678 
4684  unsigned short GetDesign_Variable(unsigned short val_dv);
4685 
4690  unsigned short GetConvCriteria(void);
4691 
4697  unsigned short GetMarker_CfgFile_TagBound(string val_marker);
4698 
4704  string GetMarker_CfgFile_TagBound(unsigned short val_marker);
4705 
4710  unsigned short GetMarker_CfgFile_KindBC(string val_marker);
4711 
4716  unsigned short GetMarker_CfgFile_Monitoring(string val_marker);
4717 
4722  unsigned short GetMarker_CfgFile_GeoEval(string val_marker);
4723 
4728  unsigned short GetMarker_CfgFile_Designing(string val_marker);
4729 
4734  unsigned short GetMarker_CfgFile_Plotting(string val_marker);
4735 
4740  unsigned short GetMarker_CfgFile_Analyze(string val_marker);
4741 
4746  unsigned short GetMarker_CfgFile_FSIinterface(string val_marker);
4747 
4752  unsigned short GetMarker_CfgFile_Out_1D(string val_marker);
4753 
4758  unsigned short GetMarker_CfgFile_DV(string val_marker);
4759 
4764  unsigned short GetMarker_CfgFile_Moving(string val_marker);
4765 
4770  unsigned short GetMarker_CfgFile_PerBound(string val_marker);
4771 
4776  int GetMarker_FSIinterface(string val_marker);
4777 
4782  bool GetContinuous_Adjoint(void);
4783 
4788  bool GetViscous(void);
4789 
4795  unsigned short GetContainerPosition(unsigned short val_eqsystem);
4796 
4801  su2double GetOrderMagResidual(void);
4802 
4807  su2double GetMinLogResidual(void);
4808 
4813  su2double GetOrderMagResidualFSI(void);
4814 
4819  su2double GetMinLogResidualFSI(void);
4820 
4825  su2double GetResidual_FEM_UTOL(void);
4826 
4831  su2double GetResidual_FEM_RTOL(void);
4832 
4837  su2double GetResidual_FEM_ETOL(void);
4838 
4843  su2double GetDamp_Engine_Inflow(void);
4844 
4849  su2double GetDamp_Engine_Exhaust(void);
4850 
4855  su2double GetDamp_Res_Restric(void);
4856 
4861  su2double GetDamp_Correc_Prolong(void);
4862 
4867  su2double GetPosition_Plane(void);
4868 
4873  su2double GetWeightCd(void);
4874 
4879  void SetdNetThrust_dBCThrust(su2double val_dnetthrust_dbcthrust);
4880 
4885  su2double GetFixAzimuthalLine(void);
4886 
4891  su2double GetdCD_dCM(void);
4892 
4897  su2double GetCM_Target(void);
4898 
4903  su2double GetdCD_dCL(void);
4904 
4909  void SetdCD_dCL(su2double val_dcd_dcl);
4910 
4915  void SetdCL_dAlpha(su2double val_dcl_dalpha);
4916 
4921  void SetdCM_diH(su2double val_dcm_dhi);
4922 
4927  void SetdCD_dCM(su2double val_dcd_dcm);
4928 
4933  su2double GetCL_Target(void);
4934 
4940  void SetGlobalParam(unsigned short val_solver, unsigned short val_system, unsigned long val_extiter);
4941 
4945  su2double *GetPeriodicRotCenter(string val_marker);
4946 
4950  su2double *GetPeriodicRotAngles(string val_marker);
4951 
4955  su2double *GetPeriodicTranslation(string val_marker);
4956 
4961  unsigned short GetMarker_Periodic_Donor(string val_marker);
4962 
4966  su2double GetActDisk_NetThrust(string val_marker);
4967 
4971  su2double GetActDisk_Power(string val_marker);
4972 
4976  su2double GetActDisk_MassFlow(string val_marker);
4980  su2double GetActDisk_Mach(string val_marker);
4984  su2double GetActDisk_Force(string val_marker);
4985 
4989  su2double GetActDisk_BCThrust(string val_marker);
4990 
4994  su2double GetActDisk_BCThrust_Old(string val_marker);
4995 
4999  su2double GetActDisk_Area(string val_marker);
5000 
5004  su2double GetActDisk_ReverseMassFlow(string val_marker);
5005 
5009  su2double GetActDisk_PressJump(string val_marker, unsigned short val_index);
5010 
5014  su2double GetActDisk_TempJump(string val_marker, unsigned short val_index);
5015 
5019  su2double GetActDisk_Omega(string val_marker, unsigned short val_index);
5020 
5025  unsigned short GetMarker_CfgFile_ActDiskOutlet(string val_marker);
5026 
5031  unsigned short GetMarker_CfgFile_EngineExhaust(string val_marker);
5032 
5037  unsigned short GetMarker_Moving(string val_marker);
5038 
5045  string GetMarker_Moving_TagBound(unsigned short val_marker);
5046 
5053  string GetMarker_Analyze_TagBound(unsigned short val_marker);
5054 
5059  void SetnPeriodicIndex(unsigned short val_index);
5060 
5065  unsigned short GetnPeriodicIndex(void);
5066 
5072  void SetPeriodicCenter(unsigned short val_index, su2double* center);
5073 
5079  su2double* GetPeriodicCenter(unsigned short val_index);
5080 
5086  void SetPeriodicRotation(unsigned short val_index, su2double* rotation);
5087 
5093  su2double* GetPeriodicRotation(unsigned short val_index);
5094 
5100  void SetPeriodicTranslate(unsigned short val_index, su2double* translate);
5101 
5107  su2double* GetPeriodicTranslate(unsigned short val_index);
5108 
5114  su2double GetExhaust_Temperature_Target(string val_index);
5115 
5121  su2double GetInlet_Ttotal(string val_index);
5122 
5128  su2double GetInlet_Temperature(string val_index);
5129 
5135  su2double GetInlet_Pressure(string val_index);
5136 
5142  su2double* GetInlet_Velocity(string val_index);
5143 
5149  su2double GetDirichlet_Value(string val_index);
5150 
5156  bool GetDirichlet_Boundary(string val_index);
5157 
5163  su2double GetInlet_Ptotal(string val_index);
5164 
5170  su2double GetExhaust_Pressure_Target(string val_index);
5171 
5176  su2double GetCFLRedCoeff_Turb(void);
5177 
5183  su2double* GetInlet_FlowDir(string val_index);
5184 
5190  su2double GetOutlet_Pressure(string val_index);
5191 
5197  su2double GetRiemann_Var1(string val_marker);
5198 
5205  su2double GetRiemann_Var2(string val_marker);
5206 
5212  su2double* GetRiemann_FlowDir(string val_marker);
5213 
5219  unsigned short GetKind_Data_Riemann(string val_marker);
5220 
5226  su2double GetNRBC_Var1(string val_marker);
5227 
5234  su2double GetNRBC_Var2(string val_marker);
5235 
5241  su2double* GetNRBC_FlowDir(string val_marker);
5242 
5248  unsigned short GetKind_Data_NRBC(string val_marker);
5249 
5255  su2double GetIsothermal_Temperature(string val_index);
5256 
5262  su2double GetWall_HeatFlux(string val_index);
5263 
5269  su2double GetEngineInflow_Target(string val_marker);
5270 
5276  su2double GetInflow_Mach(string val_marker);
5277 
5283  su2double GetInflow_Pressure(string val_marker);
5284 
5290  su2double GetInflow_MassFlow(string val_marker);
5291 
5297  su2double GetInflow_ReverseMassFlow(string val_marker);
5298 
5304  su2double GetInflow_ReverseMassFlow(unsigned short val_marker);
5305 
5311  su2double GetInflow_TotalPressure(string val_marker);
5312 
5318  su2double GetInflow_Temperature(string val_marker);
5319 
5325  su2double GetInflow_TotalTemperature(string val_marker);
5326 
5332  su2double GetInflow_RamDrag(string val_marker);
5333 
5339  su2double GetInflow_Force(string val_marker);
5340 
5346  su2double GetInflow_Power(string val_marker);
5347 
5353  su2double GetExhaust_Pressure(string val_marker);
5354 
5360  su2double GetExhaust_Temperature(string val_marker);
5361 
5367  su2double GetExhaust_MassFlow(string val_marker);
5368 
5374  su2double GetExhaust_TotalPressure(string val_marker);
5375 
5381  su2double GetExhaust_TotalTemperature(string val_marker);
5382 
5388  su2double GetExhaust_GrossThrust(string val_marker);
5389 
5395  su2double GetExhaust_Force(string val_marker);
5396 
5402  su2double GetExhaust_Power(string val_marker);
5403 
5409  void SetInflow_Mach(unsigned short val_imarker, su2double val_fanface_mach);
5410 
5416  void SetInflow_Pressure(unsigned short val_imarker, su2double val_fanface_pressure);
5417 
5423  void SetInflow_MassFlow(unsigned short val_imarker, su2double val_fanface_massflow);
5424 
5430  void SetInflow_ReverseMassFlow(unsigned short val_imarker, su2double val_fanface_reversemassflow);
5431 
5437  void SetInflow_TotalPressure(unsigned short val_imarker, su2double val_fanface_totalpressure);
5438 
5444  void SetInflow_Temperature(unsigned short val_imarker, su2double val_fanface_temperature);
5445 
5451  void SetInflow_TotalTemperature(unsigned short val_imarker, su2double val_fanface_totaltemperature);
5452 
5458  void SetInflow_RamDrag(unsigned short val_imarker, su2double val_fanface_ramdrag);
5459 
5465  void SetInflow_Force(unsigned short val_imarker, su2double val_fanface_force);
5466 
5472  void SetInflow_Power(unsigned short val_imarker, su2double val_fanface_power);
5473 
5479  void SetExhaust_Pressure(unsigned short val_imarker, su2double val_exhaust_pressure);
5480 
5486  void SetExhaust_Temperature(unsigned short val_imarker, su2double val_exhaust_temp);
5487 
5493  void SetExhaust_MassFlow(unsigned short val_imarker, su2double val_exhaust_massflow);
5494 
5500  void SetExhaust_TotalPressure(unsigned short val_imarker, su2double val_exhaust_totalpressure);
5501 
5507  void SetExhaust_TotalTemperature(unsigned short val_imarker, su2double val_exhaust_totaltemp);
5508 
5514  void SetExhaust_GrossThrust(unsigned short val_imarker, su2double val_exhaust_grossthrust);
5515 
5521  void SetExhaust_Force(unsigned short val_imarker, su2double val_exhaust_force);
5522 
5528  void SetExhaust_Power(unsigned short val_imarker, su2double val_exhaust_power);
5529 
5535  void SetEngine_Mach(unsigned short val_imarker, su2double val_engine_mach);
5536 
5542  void SetEngine_Force(unsigned short val_imarker, su2double val_engine_force);
5543 
5549  void SetEngine_Power(unsigned short val_imarker, su2double val_engine_power);
5550 
5556  void SetEngine_NetThrust(unsigned short val_imarker, su2double val_engine_netthrust);
5557 
5563  void SetEngine_GrossThrust(unsigned short val_imarker, su2double val_engine_grossthrust);
5564 
5570  void SetEngine_Area(unsigned short val_imarker, su2double val_engine_area);
5571 
5577  su2double GetEngine_Mach(unsigned short val_imarker);
5578 
5584  su2double GetEngine_Force(unsigned short val_imarker);
5585 
5591  su2double GetEngine_Power(unsigned short val_imarker);
5592 
5599  su2double GetEngine_NetThrust(unsigned short val_imarker);
5606  su2double GetEngine_GrossThrust(unsigned short val_imarker);
5607 
5613  su2double GetEngine_Area(unsigned short val_imarker);
5614 
5620  void SetActDiskInlet_Temperature(unsigned short val_imarker, su2double val_actdisk_temp);
5621 
5627  void SetActDiskInlet_TotalTemperature(unsigned short val_imarker, su2double val_actdisk_totaltemp);
5628 
5634  su2double GetActDiskInlet_Temperature(string val_marker);
5635 
5641  su2double GetActDiskInlet_TotalTemperature(string val_marker);
5642 
5648  void SetActDiskOutlet_Temperature(unsigned short val_imarker, su2double val_actdisk_temp);
5649 
5655  void SetActDiskOutlet_TotalTemperature(unsigned short val_imarker, su2double val_actdisk_totaltemp);
5656 
5662  su2double GetActDiskOutlet_Temperature(string val_marker);
5663 
5669  su2double GetActDiskOutlet_TotalTemperature(string val_marker);
5670 
5676  su2double GetActDiskInlet_MassFlow(string val_marker);
5677 
5683  void SetActDiskInlet_MassFlow(unsigned short val_imarker, su2double val_actdisk_massflow);
5684 
5690  su2double GetActDiskOutlet_MassFlow(string val_marker);
5691 
5697  void SetActDiskOutlet_MassFlow(unsigned short val_imarker, su2double val_actdisk_massflow);
5698 
5704  su2double GetActDiskInlet_Pressure(string val_marker);
5705 
5711  su2double GetActDiskInlet_TotalPressure(string val_marker);
5712 
5718  su2double GetActDisk_DeltaPress(unsigned short val_marker);
5719 
5725  su2double GetActDisk_DeltaTemp(unsigned short val_marker);
5726 
5732  su2double GetActDisk_TotalPressRatio(unsigned short val_marker);
5733 
5739  su2double GetActDisk_TotalTempRatio(unsigned short val_marker);
5740 
5746  su2double GetActDisk_StaticPressRatio(unsigned short val_marker);
5747 
5753  su2double GetActDisk_StaticTempRatio(unsigned short val_marker);
5754 
5760  su2double GetActDisk_NetThrust(unsigned short val_marker);
5761 
5767  su2double GetActDisk_BCThrust(unsigned short val_marker);
5768 
5774  su2double GetActDisk_BCThrust_Old(unsigned short val_marker);
5775 
5781  su2double GetActDisk_GrossThrust(unsigned short val_marker);
5782 
5788  su2double GetActDisk_Area(unsigned short val_marker);
5789 
5795  su2double GetActDisk_ReverseMassFlow(unsigned short val_marker);
5796 
5802  su2double GetActDiskInlet_RamDrag(string val_marker);
5803 
5809  su2double GetActDiskInlet_Force(string val_marker);
5810 
5816  su2double GetActDiskInlet_Power(string val_marker);
5817 
5823  void SetActDiskInlet_Pressure(unsigned short val_imarker, su2double val_actdisk_pressure);
5824 
5830  void SetActDiskInlet_TotalPressure(unsigned short val_imarker, su2double val_actdisk_totalpressure);
5831 
5837  void SetActDisk_DeltaPress(unsigned short val_imarker, su2double val_actdisk_deltapress);
5838 
5844  void SetActDisk_Power(unsigned short val_imarker, su2double val_actdisk_power);
5845 
5851  void SetActDisk_MassFlow(unsigned short val_imarker, su2double val_actdisk_massflow);
5852 
5858  void SetActDisk_Mach(unsigned short val_imarker, su2double val_actdisk_mach);
5859 
5865  void SetActDisk_Force(unsigned short val_imarker, su2double val_actdisk_force);
5866 
5872  void SetSurface_DC60(unsigned short val_imarker, su2double val_surface_distortion);
5873 
5879  void SetSurface_MassFlow(unsigned short val_imarker, su2double val_surface_massflow);
5880 
5886  void SetSurface_IDC(unsigned short val_imarker, su2double val_surface_distortion);
5887 
5893  void SetSurface_IDC_Mach(unsigned short val_imarker, su2double val_surface_distortion);
5894 
5900  void SetSurface_IDR(unsigned short val_imarker, su2double val_surface_distortion);
5901 
5907  void SetActDisk_DeltaTemp(unsigned short val_imarker, su2double val_actdisk_deltatemp);
5908 
5914  void SetActDisk_TotalPressRatio(unsigned short val_imarker, su2double val_actdisk_pressratio);
5915 
5921  void SetActDisk_TotalTempRatio(unsigned short val_imarker, su2double val_actdisk_tempratio);
5922 
5928  void SetActDisk_StaticPressRatio(unsigned short val_imarker, su2double val_actdisk_pressratio);
5929 
5935  void SetActDisk_StaticTempRatio(unsigned short val_imarker, su2double val_actdisk_tempratio);
5936 
5942  void SetActDisk_NetThrust(unsigned short val_imarker, su2double val_actdisk_netthrust);
5943 
5949  void SetActDisk_BCThrust(string val_marker, su2double val_actdisk_bcthrust);
5950 
5956  void SetActDisk_BCThrust(unsigned short val_imarker, su2double val_actdisk_bcthrust);
5957 
5963  void SetActDisk_BCThrust_Old(string val_marker, su2double val_actdisk_bcthrust_old);
5964 
5970  void SetActDisk_BCThrust_Old(unsigned short val_imarker, su2double val_actdisk_bcthrust_old);
5971 
5977  void SetActDisk_GrossThrust(unsigned short val_imarker, su2double val_actdisk_grossthrust);
5978 
5984  void SetActDisk_Area(unsigned short val_imarker, su2double val_actdisk_area);
5985 
5991  void SetActDiskInlet_ReverseMassFlow(unsigned short val_imarker, su2double val_actdisk_area);
5992 
5998  void SetActDiskInlet_RamDrag(unsigned short val_imarker, su2double val_actdisk_ramdrag);
5999 
6005  void SetActDiskInlet_Force(unsigned short val_imarker, su2double val_actdisk_force);
6006 
6012  void SetActDiskInlet_Power(unsigned short val_imarker, su2double val_actdisk_power);
6013 
6019  su2double GetActDisk_Power(unsigned short val_imarker);
6020 
6026  su2double GetActDisk_MassFlow(unsigned short val_imarker);
6027 
6033  su2double GetActDisk_Mach(unsigned short val_imarker);
6034 
6040  su2double GetActDisk_Force(unsigned short val_imarker);
6041 
6047  su2double GetSurface_DC60(unsigned short val_imarker);
6048 
6054  su2double GetSurface_MassFlow(unsigned short val_imarker);
6055 
6061  su2double GetSurface_IDC(unsigned short val_imarker);
6062 
6068  su2double GetSurface_IDC_Mach(unsigned short val_imarker);
6069 
6075  su2double GetSurface_IDR(unsigned short val_imarker);
6076 
6082  su2double GetActDiskOutlet_Pressure(string val_marker);
6083 
6089  su2double GetActDiskOutlet_TotalPressure(string val_marker);
6090 
6096  su2double GetActDiskOutlet_GrossThrust(string val_marker);
6097 
6103  su2double GetActDiskOutlet_Force(string val_marker);
6104 
6110  su2double GetActDiskOutlet_Power(string val_marker);
6111 
6117  void SetActDiskOutlet_Pressure(unsigned short val_imarker, su2double val_actdisk_pressure);
6118 
6124  void SetActDiskOutlet_TotalPressure(unsigned short val_imarker, su2double val_actdisk_totalpressure);
6125 
6131  void SetActDiskOutlet_GrossThrust(unsigned short val_imarker, su2double val_actdisk_grossthrust);
6132 
6138  void SetActDiskOutlet_Force(unsigned short val_imarker, su2double val_actdisk_force);
6139 
6145  void SetActDiskOutlet_Power(unsigned short val_imarker, su2double val_actdisk_power);
6146 
6152  su2double GetDispl_Value(string val_index);
6153 
6159  su2double GetLoad_Value(string val_index);
6160 
6166  su2double GetLoad_Dir_Value(string val_index);
6167 
6173  su2double GetLoad_Dir_Multiplier(string val_index);
6174 
6180  su2double* GetLoad_Dir(string val_index);
6181 
6187  su2double GetLoad_Sine_Amplitude(string val_index);
6188 
6194  su2double GetLoad_Sine_Frequency(string val_index);
6195 
6201  su2double* GetLoad_Sine_Dir(string val_index);
6202 
6208  su2double GetFlowLoad_Value(string val_index);
6209 
6214  su2double GetCyclic_Pitch(void);
6215 
6220  su2double GetCollective_Pitch(void);
6221 
6226  string GetMotion_FileName(void);
6227 
6231  void SetConfig_Options(unsigned short val_iZone, unsigned short val_nZone);
6232 
6236  void SetRunTime_Options(void);
6237 
6241  void SetConfig_Parsing(char case_filename[MAX_STRING_SIZE]);
6242 
6246  bool SetRunTime_Parsing(char case_filename[MAX_STRING_SIZE]);
6247 
6251  void SetPostprocessing(unsigned short val_software, unsigned short val_izone, unsigned short val_nDim);
6252 
6256  void SetMarkers(unsigned short val_software);
6257 
6261  void SetOutput(unsigned short val_software, unsigned short val_izone);
6262 
6266  vector<vector<su2double> > GetAeroelastic_np1(unsigned short iMarker);
6267 
6271  vector<vector<su2double> > GetAeroelastic_n(unsigned short iMarker);
6272 
6276  vector<vector<su2double> > GetAeroelastic_n1(unsigned short iMarker);
6277 
6281  void SetAeroelastic_np1(unsigned short iMarker, vector<vector<su2double> > solution);
6282 
6286  void SetAeroelastic_n(void);
6287 
6291  void SetAeroelastic_n1(void);
6292 
6296  su2double GetAeroelastic_Flutter_Speed_Index(void);
6297 
6301  su2double GetAeroelastic_Frequency_Plunge(void);
6302 
6306  su2double GetAeroelastic_Frequency_Pitch(void);
6307 
6311  su2double GetAeroelastic_Airfoil_Mass_Ratio(void);
6312 
6316  su2double GetAeroelastic_CG_Location(void);
6317 
6321  su2double GetAeroelastic_Radius_Gyration_Squared(void);
6322 
6326  unsigned short GetAeroelasticIter(void);
6327 
6333  su2double GetAeroelastic_plunge(unsigned short val_marker);
6334 
6340  su2double GetAeroelastic_pitch(unsigned short val_marker);
6341 
6347  void SetAeroelastic_plunge(unsigned short val_marker, su2double val);
6348 
6354  void SetAeroelastic_pitch(unsigned short val_marker, su2double val);
6355 
6360  bool GetAeroelastic_Simulation(void);
6361 
6366  bool GetWind_Gust(void);
6367 
6372  unsigned short GetGust_Type(void);
6373 
6378  unsigned short GetGust_Dir(void);
6379 
6383  su2double GetGust_WaveLength(void);
6384 
6388  su2double GetGust_Periods(void);
6389 
6393  su2double GetGust_Ampl(void);
6394 
6398  su2double GetGust_Begin_Time(void);
6399 
6403  su2double GetGust_Begin_Loc(void);
6404 
6409  unsigned short GetnFFD_Iter(void);
6410 
6415  su2double GetFFD_Tol(void);
6416 
6421  su2double GetFFD_Scale(void);
6422 
6427  long GetVisualize_CV(void);
6428 
6433  bool GetFixed_CL_Mode(void);
6434 
6439  bool GetFixed_CM_Mode(void);
6440 
6445  bool GetEval_dCD_dCX(void);
6446 
6451  bool GetDiscard_InFiles(void);
6452 
6457  su2double GetTarget_CL(void);
6458 
6463  su2double GetdCL_dAlpha(void);
6464 
6469  unsigned long GetUpdate_Alpha(void);
6470 
6475  su2double GetdCM_diH(void);
6476 
6481  unsigned long GetIter_Fixed_CL(void);
6482 
6487  unsigned long GetIter_Fixed_NetThrust(void);
6488 
6493  su2double GetdNetThrust_dBCThrust(void);
6494 
6499  unsigned long GetUpdate_BCThrust(void);
6500 
6505  void SetUpdate_BCThrust_Bool(bool val_update);
6506 
6511  void SetUpdate_AoA(bool val_update);
6512 
6517  bool GetUpdate_BCThrust_Bool(void);
6518 
6523  bool GetUpdate_AoA(void);
6524 
6529  void SetNonphysical_Points(unsigned long val_nonphys_points);
6530 
6535  unsigned long GetNonphysical_Points(void);
6536 
6541  void SetNonphysical_Reconstr(unsigned long val_nonphys_reconstr);
6542 
6547  unsigned long GetNonphysical_Reconstr(void);
6548 
6558  void SetSpline(vector<su2double> &x, vector<su2double> &y, unsigned long n, su2double yp1, su2double ypn, vector<su2double> &y2);
6559 
6567  su2double GetSpline(vector<su2double> &xa, vector<su2double> &ya, vector<su2double> &y2a, unsigned long n, su2double x);
6568 
6573  unsigned short GetConsole_Output_Verb(void);
6574 
6580  unsigned short GetDirectDiff();
6581 
6586  bool GetDiscrete_Adjoint(void);
6587 
6592  bool CheckFSI_MPI(void);
6593 
6598  unsigned short GetnIterFSI(void);
6599 
6604  su2double GetAitkenStatRelax(void);
6605 
6610  su2double GetAitkenDynMaxInit(void);
6611 
6616  su2double GetAitkenDynMinInit(void);
6617 
6618 
6624  bool GetDeadLoad(void);
6625 
6631  bool GetMatchingMesh(void);
6632 
6638  bool GetSteadyRestart(void);
6639 
6640 
6646  unsigned short GetDynamic_Analysis(void);
6647 
6653  su2double GetDelta_DynTime(void);
6654 
6660  su2double GetTotal_DynTime(void);
6661 
6667  su2double GetCurrent_DynTime(void);
6668 
6673  bool GetWrt_Dynamic(void);
6674 
6679  su2double GetNewmark_alpha(void);
6680 
6685  su2double GetNewmark_delta(void);
6686 
6691  unsigned short GetnIntCoeffs(void);
6692 
6698  su2double Get_Int_Coeffs(unsigned short val_coeff);
6699 
6704  bool GetSigmoid_Load(void);
6705 
6710  bool GetRamp_Load(void);
6711 
6716  su2double GetRamp_Time(void);
6717 
6722  su2double GetSigmoid_Time(void);
6723 
6728  su2double GetSigmoid_K(void);
6729 
6734  su2double GetStatic_Time(void);
6735 
6740  unsigned short GetPredictorOrder(void);
6741 
6746  bool GetFSI_Simulation(void);
6747 
6752  bool GetIncrementalLoad(void);
6753 
6758  unsigned long GetNumberIncrements(void);
6759 
6764  su2double GetIncLoad_Criteria(unsigned short val_var);
6765 
6770  unsigned short GetRelaxation_Method_FSI(void);
6771 
6775  inline unsigned short GetKindInterpolation(void);
6776 
6780  bool GetAD_Mode(void);
6781 };
6782 
6783 #include "config_structure.inl"
Definition: option_structure.hpp:1747
Definition: option_structure.hpp:2505
Definition: option_structure.hpp:1415
Definition: option_structure.hpp:1637
Headers for generalized datatypes. The subroutines and functions are in the datatype_structure.cpp file.
Definition: option_structure.hpp:2747
Defines classes for referencing options for easy input in CConfig.
Definition: option_structure.hpp:2222
Definition: option_structure.hpp:1547
Definition: option_structure.hpp:2640
Definition: option_structure.hpp:1702
Headers of the mpi interface for generalized datatypes. The subroutines and functions are in the mpi_...
Definition: option_structure.hpp:1930
Definition: option_structure.hpp:1490
Definition: option_structure.hpp:3240
Definition: option_structure.hpp:2068
Definition: option_structure.hpp:3102
In-Line subroutines of the config_structure.hpp file.
Definition: option_structure.hpp:1848
Definition: option_structure.hpp:2868
Definition: option_structure.hpp:1889
const unsigned int MAX_STRING_SIZE
Maximum number of domains.
Definition: option_structure.hpp:117
Definition: option_structure.hpp:2322
unsigned short GetnDim(string val_mesh_filename, unsigned short val_format)
Gets the number of dimensions in the mesh file.
Definition: option_structure.hpp:1668
Definition: option_structure.hpp:1964
Definition: option_structure.hpp:2555
Definition: option_structure.hpp:1577
Definition: option_structure.hpp:1607
Definition: option_structure.hpp:3259
Definition: option_structure.hpp:2010
Definition: option_structure.hpp:1806
vector< string > fields
Tags for the different fields in a restart file.
Definition: config_structure.hpp:1111
unsigned short GetnZone(string val_mesh_filename, unsigned short val_format, CConfig *config)
Gets the number of zones in the mesh file.
Definition: option_structure.hpp:1521
Definition: option_structure.hpp:1448
Definition: option_structure.hpp:3166
Definition: option_structure.hpp:2417
Definition: option_structure.hpp:2932
Main class for defining the problem; basically this class reads the configuration file...
Definition: config_structure.hpp:68