-
Notifications
You must be signed in to change notification settings - Fork 978
Expand file tree
/
Copy pathCConfig.hpp
More file actions
9949 lines (8524 loc) · 448 KB
/
CConfig.hpp
File metadata and controls
9949 lines (8524 loc) · 448 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
/*!
* \file CConfig.hpp
* \brief All the information about the definition of the physical problem.
* The subroutines and functions are in the <i>CConfig.cpp</i> file.
* \author F. Palacios, T. Economon, B. Tracey
* \version 8.1.0 "Harrier"
*
* SU2 Project Website: https://su2code.github.io
*
* The SU2 Project is maintained by the SU2 Foundation
* (http://su2foundation.org)
*
* Copyright 2012-2024, SU2 Contributors (cf. AUTHORS.md)
*
* SU2 is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* SU2 is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with SU2. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "parallelization/mpi_structure.hpp"
#include <iostream>
#include <cstdlib>
#include <fstream>
#include <sstream>
#include <string>
#include <cstring>
#include <vector>
#include <array>
#include <stdlib.h>
#include <cmath>
#include <map>
#include <assert.h>
#include "option_structure.hpp"
#include "containers/container_decorators.hpp"
#ifdef HAVE_CGNS
#include "cgnslib.h"
#endif
using namespace std;
/*!
* \class CConfig
* \brief Main class for defining the problem; basically this class reads the configuration file, and
* stores all the information.
* \author F. Palacios
*/
class CConfig {
private:
SU2_MPI::Comm SU2_Communicator; /*!< \brief MPI communicator of SU2.*/
int rank, size; /*!< \brief MPI rank and size.*/
bool base_config;
SU2_COMPONENT Kind_SU2; /*!< \brief Kind of SU2 software component.*/
unsigned short Ref_NonDim; /*!< \brief Kind of non dimensionalization.*/
unsigned short Ref_Inc_NonDim; /*!< \brief Kind of non dimensionalization.*/
unsigned short Kind_AverageProcess; /*!< \brief Kind of mixing process.*/
unsigned short Kind_PerformanceAverageProcess; /*!< \brief Kind of mixing process.*/
unsigned short Kind_MixingPlaneInterface; /*!< \brief Kind of mixing process.*/
unsigned short Kind_SpanWise; /*!< \brief Kind of span-wise section computation.*/
unsigned short iZone, nZone; /*!< \brief Number of zones in the mesh. */
unsigned short nZoneSpecified; /*!< \brief Number of zones that are specified in config file. */
su2double Highlite_Area; /*!< \brief Highlite area. */
su2double Fan_Poly_Eff; /*!< \brief Fan polytropic effeciency. */
su2double MinLogResidual; /*!< \brief Minimum value of the log residual. */
su2double EA_ScaleFactor; /*!< \brief Equivalent Area scaling factor */
su2double AdjointLimit; /*!< \brief Adjoint variable limit */
string* ConvField; /*!< \brief Field used for convergence check.*/
string FluidName; /*!< \brief name of the applied fluid. */
string* WndConvField; /*!< \brief Function where to apply the windowed convergence criteria for the time average of the unsteady (single zone) flow problem. */
unsigned short nConvField; /*!< \brief Number of fields used to monitor convergence.*/
unsigned short nWndConvField; /*!< \brief Number of fields used to monitor time convergence.*/
unsigned short Wnd_Cauchy_Elems; /*!< \brief Number of elements to evaluate in the time iteration for convergence of the time average of the unsteady (single zone)´ flow problem. */
su2double Wnd_Cauchy_Eps; /*!< \brief Epsilon used for the convergence of the time average of the unsteady (single zone)´ flow problem. */
unsigned long Wnd_StartConv_Iter; /*!< \brief Start convergence criteria at this iteration after Start_Iter_Wnd. */
bool Wnd_Cauchy_Crit; /*!< \brief True => Cauchy criterion is used for time average objective function in unsteady flows. */
bool MG_AdjointFlow; /*!< \brief MG with the adjoint flow problem */
su2double *PressureLimits,
*DensityLimits,
*TemperatureLimits; /*!< \brief Limits for the primitive variables */
bool ActDisk_DoubleSurface; /*!< \brief actuator disk double surface */
bool Engine_HalfModel; /*!< \brief only half model is in the computational grid */
bool ActDisk_SU2_DEF; /*!< \brief actuator disk double surface */
unsigned short nFFD_Iter; /*!< \brief Iteration for the point inversion problem. */
unsigned short FFD_Blending; /*!< \brief Kind of FFD Blending function. */
su2double FFD_Tol; /*!< \brief Tolerance in the point inversion problem. */
bool FFD_IntPrev; /*!< \brief Enables self-intersection prevention procedure within the FFD box. */
unsigned short FFD_IntPrev_MaxIter; /*!< \brief Amount of iterations for FFD box self-intersection prevention procedure. */
unsigned short FFD_IntPrev_MaxDepth; /*!< \brief Maximum recursion depth for FFD box self-intersection procedure. */
bool ConvexityCheck; /*!< \brief Enables convexity check on all mesh elements. */
unsigned short ConvexityCheck_MaxIter; /*!< \brief Amount of iterations for convexity check in deformations. */
unsigned short ConvexityCheck_MaxDepth; /*!< \brief Maximum recursion depth for convexity check in deformations.*/
su2double Opt_RelaxFactor; /*!< \brief Scale factor for the line search. */
su2double Opt_LineSearch_Bound; /*!< \brief Bounds for the line search. */
su2double StartTime;
bool ContinuousAdjoint, /*!< \brief Flag to know if the code is solving an adjoint problem. */
Viscous, /*!< \brief Flag to know if the code is solving a viscous problem. */
EquivArea, /*!< \brief Flag to know if the code is going to compute and plot the equivalent area. */
Engine, /*!< \brief Flag to know if the code is going to compute a problem with engine. */
InvDesign_Cp, /*!< \brief Flag to know if the code is going to compute and plot the inverse design. */
InvDesign_HeatFlux, /*!< \brief Flag to know if the code is going to compute and plot the inverse design. */
Wind_Gust, /*!< \brief Flag to know if there is a wind gust. */
Turb_Fixed_Values, /*!< \brief Flag to know if there are fixed values for turbulence quantities in one half-plane. */
Aeroelastic_Simulation, /*!< \brief Flag to know if there is an aeroelastic simulation. */
Weakly_Coupled_Heat, /*!< \brief Flag to know if a heat equation should be weakly coupled to the incompressible solver. */
Rotating_Frame, /*!< \brief Flag to know if there is a rotating frame. */
PoissonSolver, /*!< \brief Flag to know if we are solving poisson forces in plasma solver. */
Low_Mach_Precon, /*!< \brief Flag to know if we are using a low Mach number preconditioner. */
Low_Mach_Corr, /*!< \brief Flag to know if we are using a low Mach number correction. */
GravityForce, /*!< \brief Flag to know if the gravity force is incuded in the formulation. */
VorticityConfinement, /*!< \brief Flag to know if the Vorticity Confinement is included in the formulation. */
SubsonicEngine, /*!< \brief Engine intake subsonic region. */
Frozen_Visc_Cont, /*!< \brief Flag for cont. adjoint problem with/without frozen viscosity. */
Frozen_Visc_Disc, /*!< \brief Flag for disc. adjoint problem with/without frozen viscosity. */
Frozen_Limiter_Disc, /*!< \brief Flag for disc. adjoint problem with/without frozen limiter. */
Inconsistent_Disc, /*!< \brief Use an inconsistent (primal/dual) discrete adjoint formulation. */
Sens_Remove_Sharp, /*!< \brief Flag for removing or not the sharp edges from the sensitivity computation. */
Hold_GridFixed, /*!< \brief Flag hold fixed some part of the mesh during the deformation. */
Axisymmetric, /*!< \brief Flag for axisymmetric calculations */
Integrated_HeatFlux; /*!< \brief Flag for heat flux BC whether it deals with integrated values.*/
su2double Buffet_k; /*!< \brief Sharpness coefficient for buffet sensor.*/
su2double Buffet_lambda; /*!< \brief Offset parameter for buffet sensor.*/
su2double Damp_Engine_Inflow; /*!< \brief Damping factor for the engine inlet. */
su2double Damp_Engine_Exhaust; /*!< \brief Damping factor for the engine exhaust. */
su2double Damp_Res_Restric, /*!< \brief Damping factor for the residual restriction. */
Damp_Correc_Prolong; /*!< \brief Damping factor for the correction prolongation. */
su2double Position_Plane; /*!< \brief Position of the Near-Field (y coordinate 2D, and z coordinate 3D). */
su2double WeightCd; /*!< \brief Weight of the drag coefficient. */
su2double dCD_dCL; /*!< \brief Fixed Cl mode derivate . */
su2double dCMx_dCL; /*!< \brief Fixed Cl mode derivate. */
su2double dCMy_dCL; /*!< \brief Fixed Cl mode derivate. */
su2double dCMz_dCL; /*!< \brief Fixed Cl mode derivate. */
su2double CL_Target; /*!< \brief Fixed Cl mode Target Cl. */
su2double Confinement_Param; /*!< \brief Confinement paramenter for Vorticity Confinement method. */
TIME_MARCHING TimeMarching; /*!< \brief Steady or unsteady (time stepping or dual time stepping) computation. */
su2double FixAzimuthalLine; /*!< \brief Fix an azimuthal line due to misalignments of the nearfield. */
su2double **DV_Value; /*!< \brief Previous value of the design variable. */
su2double Venkat_LimiterCoeff; /*!< \brief Limiter coefficient */
unsigned long LimiterIter; /*!< \brief Freeze the value of the limiter after a number of iterations */
su2double AdjSharp_LimiterCoeff; /*!< \brief Coefficient to identify the limit of a sharp edge. */
unsigned short SystemMeasurements; /*!< \brief System of measurements. */
ENUM_REGIME Kind_Regime; /*!< \brief Kind of flow regime: in/compressible. */
unsigned short *Kind_ObjFunc; /*!< \brief Kind of objective function. */
su2double *Weight_ObjFunc; /*!< \brief Weight applied to objective function. */
unsigned short Kind_SensSmooth; /*!< \brief Kind of sensitivity smoothing technique. */
unsigned short Continuous_Eqns; /*!< \brief Which equations to treat continuously (Hybrid adjoint)*/
unsigned short Discrete_Eqns; /*!< \brief Which equations to treat discretely (Hybrid adjoint). */
unsigned short *Design_Variable; /*!< \brief Kind of design variable. */
unsigned short nTimeInstances; /*!< \brief Number of periodic time instances for harmonic balance. */
su2double HarmonicBalance_Period; /*!< \brief Period of oscillation to be used with harmonic balance computations. */
su2double Delta_UnstTime, /*!< \brief Time step for unsteady computations. */
Delta_UnstTimeND; /*!< \brief Time step for unsteady computations (non dimensional). */
su2double Total_UnstTime, /*!< \brief Total time for unsteady computations. */
Total_UnstTimeND; /*!< \brief Total time for unsteady computations (non dimensional). */
su2double Current_UnstTime, /*!< \brief Global time of the unsteady simulation. */
Current_UnstTimeND; /*!< \brief Global time of the unsteady simulation. */
unsigned short nMarker_Euler, /*!< \brief Number of Euler wall markers. */
nMarker_FarField, /*!< \brief Number of far-field markers. */
nMarker_Custom, /*!< \brief Number of custom markers. */
nMarker_SymWall, /*!< \brief Number of symmetry wall markers. */
nMarker_PerBound, /*!< \brief Number of periodic boundary markers. */
nMarker_MixingPlaneInterface, /*!< \brief Number of mixing plane interface boundary markers. */
nMarker_Turbomachinery, /*!< \brief Number turbomachinery markers. */
nMarker_TurboPerformance, /*!< \brief Number of turboperformance markers. */
nSpanWiseSections_User, /*!< \brief Number of spanwise sections to compute 3D BC and Performance for turbomachinery */
nMarker_Shroud, /*!< \brief Number of shroud markers to set grid velocity to 0.*/
nMarker_NearFieldBound, /*!< \brief Number of near field boundary markers. */
nMarker_ActDiskInlet, /*!< \brief Number of actuator disk inlet markers. */
nMarker_ActDiskOutlet, /*!< \brief Number of actuator disk outlet markers. */
nMarker_ActDiskBemInlet_CG, /*!< \brief Number of actuator disk BEM inlet markers passed to MARKER_ACTDISK_BEM_CG. */
nMarker_ActDiskBemOutlet_CG, /*!< \brief Number of actuator disk BEM outlet markers passed to MARKER_ACTDISK_BEM_CG. */
nMarker_ActDiskBemInlet_Axis, /*!< \brief Number of actuator disk BEM inlet markers passed to MARKER_ACTDISK_BEM_AXIS. */
nMarker_ActDiskBemOutlet_Axis, /*!< \brief Number of actuator disk BEM outlet markers passed to MARKER_ACTDISK_BEM_AXIS. */
nMarker_Deform_Mesh_Sym_Plane, /*!< \brief Number of markers with symmetric deformation */
nMarker_Deform_Mesh, /*!< \brief Number of deformable markers at the boundary. */
nMarker_Fluid_Load, /*!< \brief Number of markers in which the flow load is computed/employed. */
nMarker_Fluid_InterfaceBound, /*!< \brief Number of fluid interface markers. */
nMarker_CHTInterface, /*!< \brief Number of conjugate heat transfer interface markers. */
nMarker_ContactResistance, /*!< \brief Number of CHT interfaces with contact resistance. */
nMarker_Inlet, /*!< \brief Number of inlet flow markers. */
nMarker_Inlet_Species, /*!< \brief Number of inlet species markers. */
nSpecies_per_Inlet, /*!< \brief Number of species defined per inlet markers. */
nMarker_Inlet_Turb, /*!< \brief Number of inlet turbulent markers. */
nTurb_Properties, /*!< \brief Number of turbulent properties per inlet markers. */
nMarker_Riemann, /*!< \brief Number of Riemann flow markers. */
nMarker_Giles, /*!< \brief Number of Giles flow markers. */
nRelaxFactor_Giles, /*!< \brief Number of relaxation factors for Giles markers. */
nMarker_Supersonic_Inlet, /*!< \brief Number of supersonic inlet flow markers. */
nMarker_Supersonic_Outlet, /*!< \brief Number of supersonic outlet flow markers. */
nMarker_Outlet, /*!< \brief Number of outlet flow markers. */
nMarker_Smoluchowski_Maxwell, /*!< \brief Number of smoluchowski/maxwell wall boundaries. */
nMarker_Isothermal, /*!< \brief Number of isothermal wall boundaries. */
nMarker_HeatFlux, /*!< \brief Number of constant heat flux wall boundaries. */
nMarker_HeatTransfer, /*!< \brief Number of heat-transfer/convection wall boundaries. */
nMarker_EngineExhaust, /*!< \brief Number of nacelle exhaust flow markers. */
nMarker_EngineInflow, /*!< \brief Number of nacelle inflow flow markers. */
nMarker_Clamped, /*!< \brief Number of clamped markers in the FEM. */
nMarker_Displacement, /*!< \brief Number of displacement surface markers. */
nMarker_Load, /*!< \brief Number of load surface markers. */
nMarker_Damper, /*!< \brief Number of damper surface markers. */
nMarker_Load_Dir, /*!< \brief Number of load surface markers defined by magnitude and direction. */
nMarker_Disp_Dir, /*!< \brief Number of load surface markers defined by magnitude and direction. */
nMarker_Internal, /*!< \brief Number of internal flow markers. */
nMarker_All, /*!< \brief Total number of markers using the grid information. */
nMarker_Max, /*!< \brief Max number of number of markers using the grid information. */
nMarker_CfgFile; /*!< \brief Total number of markers using the config file (note that in
parallel computations this number can be different from nMarker_All). */
bool Inlet_From_File; /*!< \brief True if the inlet profile is to be loaded from a file. */
string Inlet_Filename; /*!< \brief Filename specifying an inlet profile. */
su2double Inlet_Matching_Tol; /*!< \brief Tolerance used when matching a point to a point from the inlet file. */
string ActDisk_FileName; /*!< \brief Filename specifying an actuator disk. */
string *Marker_Euler, /*!< \brief Euler wall markers. */
*Marker_FarField, /*!< \brief Far field markers. */
*Marker_Custom,
*Marker_SymWall, /*!< \brief Symmetry wall markers. */
*Marker_PerBound, /*!< \brief Periodic boundary markers. */
*Marker_PerDonor, /*!< \brief Rotationally periodic boundary donor markers. */
*Marker_MixingPlaneInterface, /*!< \brief MixingPlane interface boundary markers. */
*Marker_TurboBoundIn, /*!< \brief Turbomachinery performance boundary markers. */
*Marker_TurboBoundOut, /*!< \brief Turbomachinery performance boundary donor markers. */
*Marker_NearFieldBound, /*!< \brief Near Field boundaries markers. */
*Marker_Deform_Mesh, /*!< \brief Deformable markers at the boundary. */
*Marker_Deform_Mesh_Sym_Plane, /*!< \brief Marker with symmetric deformation. */
*Marker_Fluid_Load, /*!< \brief Markers in which the flow load is computed/employed. */
*Marker_Fluid_InterfaceBound, /*!< \brief Fluid interface markers. */
*Marker_CHTInterface, /*!< \brief Conjugate heat transfer interface markers. */
*Marker_ActDiskInlet, /*!< \brief Actuator disk inlet markers. */
*Marker_ActDiskOutlet, /*!< \brief Actuator disk outlet markers. */
*Marker_ActDiskBemInlet_CG, /*!< \brief Actuator disk BEM inlet markers passed to MARKER_ACTDISK_BEM_CG. */
*Marker_ActDiskBemOutlet_CG, /*!< \brief Actuator disk BEM outlet markers passed to MARKER_ACTDISK_BEM_CG. */
*Marker_ActDiskBemInlet_Axis, /*!< \brief Actuator disk BEM inlet markers passed to MARKER_ACTDISK_BEM_AXIS. */
*Marker_ActDiskBemOutlet_Axis, /*!< \brief Actuator disk BEM outlet markers passed to MARKER_ACTDISK_BEM_AXIS. */
*Marker_Inlet, /*!< \brief Inlet flow markers. */
*Marker_Inlet_Species, /*!< \brief Inlet species markers. */
*Marker_Inlet_Turb, /*!< \brief Inlet turbulent markers. */
*Marker_Riemann, /*!< \brief Riemann markers. */
*Marker_Giles, /*!< \brief Giles markers. */
*Marker_Shroud, /*!< \brief Shroud markers. */
*Marker_Supersonic_Inlet, /*!< \brief Supersonic inlet flow markers. */
*Marker_Supersonic_Outlet, /*!< \brief Supersonic outlet flow markers. */
*Marker_Outlet, /*!< \brief Outlet flow markers. */
*Marker_Smoluchowski_Maxwell, /*!< \brief Smoluchowski/Maxwell wall markers. */
*Marker_Isothermal, /*!< \brief Isothermal wall markers. */
*Marker_HeatFlux, /*!< \brief Constant heat flux wall markers. */
*Marker_HeatTransfer, /*!< \brief Heat-transfer/convection markers. */
*Marker_RoughWall, /*!< \brief Constant heat flux wall markers. */
*Marker_EngineInflow, /*!< \brief Engine Inflow flow markers. */
*Marker_EngineExhaust, /*!< \brief Engine Exhaust flow markers. */
*Marker_Clamped, /*!< \brief Clamped markers. */
*Marker_Displacement, /*!< \brief Displacement markers. */
*Marker_Load, /*!< \brief Load markers. */
*Marker_Damper, /*!< \brief Damper markers. */
*Marker_Load_Dir, /*!< \brief Load markers defined in cartesian coordinates. */
*Marker_Disp_Dir, /*!< \brief Load markers defined in cartesian coordinates. */
*Marker_Load_Sine, /*!< \brief Sine-wave loaded markers defined in cartesian coordinates. */
*Marker_Internal, /*!< \brief Internal flow markers. */
*Marker_All_TagBound; /*!< \brief Global index for markers using grid information. */
su2double *Exhaust_Temperature_Target; /*!< \brief Specified total temperatures for nacelle boundaries. */
su2double *Exhaust_Pressure_Target; /*!< \brief Specified total pressures for nacelle boundaries. */
su2double *Inlet_Ttotal; /*!< \brief Specified total temperatures for inlet boundaries. */
su2double *Riemann_Var1, *Riemann_Var2; /*!< \brief Specified values for Riemann boundary. */
su2double **Riemann_FlowDir; /*!< \brief Specified flow direction vector (unit vector) for Riemann boundaries. */
su2double *Giles_Var1, *Giles_Var2,
*RelaxFactorAverage, *RelaxFactorFourier; /*!< \brief Specified values for Giles BC. */
su2double **Giles_FlowDir; /*!< \brief Specified flow direction vector (unit vector) for Giles BC. */
su2double *Inlet_Ptotal; /*!< \brief Specified total pressures for inlet boundaries. */
su2double **Inlet_FlowDir; /*!< \brief Specified flow direction vector (unit vector) for inlet boundaries. */
su2double *Inlet_Temperature; /*!< \brief Specified temperatures for a supersonic inlet boundaries. */
su2double *Inlet_Pressure; /*!< \brief Specified static pressures for supersonic inlet boundaries. */
su2double **Inlet_Velocity; /*!< \brief Specified flow velocity vectors for supersonic inlet boundaries. */
su2double **Inlet_SpeciesVal; /*!< \brief Specified species vector for inlet boundaries. */
su2double **Inlet_TurbVal; /*!< \brief Specified turbulent intensity and viscosity ratio for inlet boundaries. */
su2double *EngineInflow_Target; /*!< \brief Specified fan face targets for nacelle boundaries. */
su2double *Inflow_Mach; /*!< \brief Specified fan face mach for nacelle boundaries. */
su2double *Inflow_Pressure; /*!< \brief Specified fan face pressure for nacelle boundaries. */
su2double *Inflow_MassFlow; /*!< \brief Specified fan face massflow for nacelle boundaries. */
su2double *Inflow_ReverseMassFlow; /*!< \brief Specified fan face reverse massflow for nacelle boundaries. */
su2double *Inflow_TotalPressure; /*!< \brief Specified fan face total pressure for nacelle boundaries. */
su2double *Inflow_Temperature; /*!< \brief Specified fan face temperature for nacelle boundaries. */
su2double *Inflow_TotalTemperature; /*!< \brief Specified fan face total temperature for nacelle boundaries. */
su2double *Inflow_RamDrag; /*!< \brief Specified fan face ram drag for nacelle boundaries. */
su2double *Inflow_Force; /*!< \brief Specified force for nacelle boundaries. */
su2double *Inflow_Power; /*!< \brief Specified power for nacelle boundaries. */
su2double *Exhaust_Pressure; /*!< \brief Specified exhaust pressure for nacelle boundaries. */
su2double *Exhaust_Temperature; /*!< \brief Specified exhaust temperature for nacelle boundaries. */
su2double *Exhaust_MassFlow; /*!< \brief Specified exhaust mass flow for nacelle boundaries. */
su2double *Exhaust_TotalPressure; /*!< \brief Specified exhaust total pressure for nacelle boundaries. */
su2double *Exhaust_TotalTemperature; /*!< \brief Specified exhaust total temperature for nacelle boundaries. */
su2double *Exhaust_GrossThrust; /*!< \brief Specified exhaust gross thrust for nacelle boundaries. */
su2double *Exhaust_Force; /*!< \brief Specified exhaust force for nacelle boundaries. */
su2double *Exhaust_Power; /*!< \brief Specified exhaust power for nacelle boundaries. */
su2double *Engine_Power; /*!< \brief Specified engine power for nacelle boundaries. */
su2double *Engine_Mach; /*!< \brief Specified engine mach for nacelle boundaries. */
su2double *Engine_Force; /*!< \brief Specified engine force for nacelle boundaries. */
su2double *Engine_NetThrust; /*!< \brief Specified engine net thrust for nacelle boundaries. */
su2double *Engine_GrossThrust; /*!< \brief Specified engine gross thrust for nacelle boundaries. */
su2double *Engine_Area; /*!< \brief Specified engine area for nacelle boundaries. */
su2double *Outlet_Pressure; /*!< \brief Specified back pressures (static) for outlet boundaries. */
su2double *Isothermal_Temperature; /*!< \brief Specified isothermal wall temperatures (static). */
su2double *HeatTransfer_Coeff; /*!< \brief Specified heat transfer coefficients. */
su2double *HeatTransfer_WallTemp; /*!< \brief Specified temperatures at infinity alongside heat transfer coefficients. */
su2double *Heat_Flux; /*!< \brief Specified wall heat fluxes. */
su2double *Roughness_Height; /*!< \brief Equivalent sand grain roughness for the marker according to config file. */
su2double *Displ_Value; /*!< \brief Specified displacement for displacement boundaries. */
su2double *Load_Value; /*!< \brief Specified force for load boundaries. */
su2double *Damper_Constant; /*!< \brief Specified constant for damper boundaries. */
su2double *Load_Dir_Value; /*!< \brief Specified force for load boundaries defined in cartesian coordinates. */
su2double *Load_Dir_Multiplier; /*!< \brief Specified multiplier for load boundaries defined in cartesian coordinates. */
su2double *Disp_Dir_Value; /*!< \brief Specified force for load boundaries defined in cartesian coordinates. */
su2double *Disp_Dir_Multiplier; /*!< \brief Specified multiplier for load boundaries defined in cartesian coordinates. */
su2double **Load_Dir; /*!< \brief Specified flow direction vector (unit vector) for inlet boundaries. */
su2double **Disp_Dir; /*!< \brief Specified structural displacement direction (unit vector). */
su2double *ActDiskInlet_MassFlow; /*!< \brief Specified inlet mass flow for actuator disk. */
su2double *ActDiskInlet_Temperature; /*!< \brief Specified inlet temperature for actuator disk. */
su2double *ActDiskInlet_TotalTemperature; /*!< \brief Specified inlet total temperature for actuator disk. */
su2double *ActDiskInlet_Pressure; /*!< \brief Specified inlet pressure for actuator disk. */
su2double *ActDiskInlet_TotalPressure; /*!< \brief Specified inlet total pressure for actuator disk. */
su2double *ActDiskInlet_RamDrag; /*!< \brief Specified inlet ram drag for actuator disk. */
su2double *ActDiskInlet_Force; /*!< \brief Specified inlet force for actuator disk. */
su2double *ActDiskInlet_Power; /*!< \brief Specified inlet power for actuator disk. */
su2double *ActDiskOutlet_MassFlow; /*!< \brief Specified outlet mass flow for actuator disk. */
su2double *ActDiskOutlet_Temperature; /*!< \brief Specified outlet temperature for actuator disk. */
su2double *ActDiskOutlet_TotalTemperature; /*!< \brief Specified outlet total temperatur for actuator disk. */
su2double *ActDiskOutlet_Pressure; /*!< \brief Specified outlet pressure for actuator disk. */
su2double *ActDiskOutlet_TotalPressure; /*!< \brief Specified outlet total pressure for actuator disk. */
su2double *ActDiskOutlet_GrossThrust; /*!< \brief Specified outlet gross thrust for actuator disk. */
su2double *ActDiskOutlet_Force; /*!< \brief Specified outlet force for actuator disk. */
su2double *ActDiskOutlet_Power; /*!< \brief Specified outlet power for actuator disk. */
su2double *ActDiskOutlet_Thrust_BEM; /*!< \brief Specified outlet thrust for actuator disk. */
su2double *ActDiskOutlet_Torque_BEM; /*!< \brief Specified outlet torque for actuator disk. */
su2double **ActDisk_PressJump,
**ActDisk_TempJump, **ActDisk_Omega; /*!< \brief Specified deltas for actuator disk.*/
su2double **ActDiskBem_CG[3]; /*!< \brief Specified center for actuator disk BEM.*/
su2double **ActDiskBem_Axis[3]; /*!< \brief Specified axis for actuator disk BEM.*/
su2double BEM_blade_angle; /*!< \brief Propeller blade angle.*/
string BEM_prop_filename; /*!< \brief Propeller filename.*/
unsigned short ActDiskBem_Frequency; /*!< \brief Frequency of updating actuator disk with BEM. */
bool History_File_Append_Flag; /*!< \brief Flag to append history file.*/
su2double *ActDisk_DeltaPress; /*!< \brief Specified pressure delta for actuator disk. */
su2double *ActDisk_DeltaTemp; /*!< \brief Specified temperature delta for actuator disk. */
su2double *ActDisk_TotalPressRatio; /*!< \brief Specified tot. pres. ratio for actuator disk. */
su2double *ActDisk_TotalTempRatio; /*!< \brief Specified tot. temp. ratio for actuator disk. */
su2double *ActDisk_StaticPressRatio; /*!< \brief Specified press. ratio for actuator disk. */
su2double *ActDisk_StaticTempRatio; /*!< \brief Specified temp. ratio for actuator disk. */
su2double *ActDisk_Power; /*!< \brief Specified power for actuator disk. */
su2double *ActDisk_MassFlow; /*!< \brief Specified mass flow for actuator disk. */
su2double *ActDisk_Mach; /*!< \brief Specified mach for actuator disk. */
su2double *ActDisk_Force; /*!< \brief Specified force for actuator disk. */
su2double *Outlet_MassFlow; /*!< \brief Mass flow for outlet boundaries. */
su2double *Outlet_Density; /*!< \brief Avg. density for outlet boundaries. */
su2double *Outlet_Area; /*!< \brief Area for outlet boundaries. */
su2double *Surface_MassFlow; /*!< \brief Massflow at the boundaries. */
su2double *Surface_Mach; /*!< \brief Mach number at the boundaries. */
su2double *Surface_Temperature; /*!< \brief Temperature at the boundaries. */
su2double *Surface_Pressure; /*!< \brief Pressure at the boundaries. */
su2double *Surface_Density; /*!< \brief Density at the boundaries. */
su2double *Surface_Enthalpy; /*!< \brief Enthalpy at the boundaries. */
su2double *Surface_NormalVelocity; /*!< \brief Normal velocity at the boundaries. */
su2double *Surface_Uniformity; /*!< \brief Integral measure of the streamwise uniformity (absolute) at the boundaries (non-dim). */
su2double *Surface_SecondaryStrength; /*!< \brief Integral measure of the strength of secondary flows (absolute) at the boundaries (non-dim). */
su2double *Surface_SecondOverUniform; /*!< \brief Integral measure of the strength of secondary flows (relative to streamwise) at the boundaries (non-dim). */
su2double *Surface_MomentumDistortion; /*!< \brief Integral measure of the streamwise uniformity (relative to plug flow) at the boundaries (non-dim). */
su2double *Surface_TotalTemperature; /*!< \brief Total temperature at the boundaries. */
su2double *Surface_TotalPressure; /*!< \brief Total pressure at the boundaries. */
su2double *Surface_PressureDrop; /*!< \brief Pressure drop between boundaries. */
su2double* Surface_Species_0; /*!< \brief Average Species_0 at the boundaries. */
su2double* Surface_Species_Variance; /*!< \brief Species Variance at the boundaries. */
su2double *Surface_DC60; /*!< \brief Specified surface DC60 for nacelle boundaries. */
su2double *Surface_IDC; /*!< \brief Specified IDC for nacelle boundaries. */
su2double *Surface_IDC_Mach; /*!< \brief Specified IDC mach for nacelle boundaries. */
su2double *Surface_IDR; /*!< \brief Specified surface IDR for nacelle boundaries. */
su2double *ActDisk_NetThrust; /*!< \brief Specified net thrust for nacelle boundaries. */
su2double *ActDisk_BCThrust; /*!< \brief Specified bc thrust for nacelle boundaries. */
su2double *ActDisk_BCThrust_Old; /*!< \brief Specified old bc thrust for nacelle boundaries. */
su2double *ActDisk_GrossThrust; /*!< \brief Specified gross thrust for nacelle boundaries. */
su2double *ActDisk_Area; /*!< \brief Specified area for nacelle boundaries. */
su2double *ActDisk_ReverseMassFlow; /*!< \brief Specified fan face mach for nacelle boundaries. */
su2double **Periodic_RotCenter; /*!< \brief Rotational center for each periodic boundary. */
su2double **Periodic_RotAngles; /*!< \brief Rotation angles for each periodic boundary. */
su2double **Periodic_Translation; /*!< \brief Translation vector for each periodic boundary. */
su2double *CHT_ContactResistance; /*!< \brief Contact resistance values for each solid-solid CHT interface. */
string *Marker_CfgFile_TagBound; /*!< \brief Global index for markers using config file. */
unsigned short *Marker_All_KindBC, /*!< \brief Global index for boundaries using grid information. */
*Marker_CfgFile_KindBC; /*!< \brief Global index for boundaries using config file. */
short *Marker_All_SendRecv; /*!< \brief Information about if the boundary is sended (+), received (-). */
short *Marker_All_PerBound; /*!< \brief Global index for periodic bc using the grid information. */
unsigned long ExtIter; /*!< \brief Current external iteration number. */
unsigned long ExtIter_OffSet; /*!< \brief External iteration number offset. */
unsigned long IntIter; /*!< \brief Current internal iteration number. */
unsigned long OuterIter; /*!< \brief Current Outer iterations for multizone problems. */
unsigned long InnerIter; /*!< \brief Current inner iterations for multizone problems. */
unsigned long TimeIter; /*!< \brief Current time iterations for multizone problems. */
long Unst_AdjointIter; /*!< \brief Iteration number to begin the reverse time integration in the direct solver for the unsteady adjoint. */
long Iter_Avg_Objective; /*!< \brief Iteration the number of time steps to be averaged, counting from the back */
su2double PhysicalTime; /*!< \brief Physical time at the current iteration in the solver for unsteady problems. */
unsigned short nLevels_TimeAccurateLTS; /*!< \brief Number of time levels for time accurate local time stepping. */
unsigned short nTimeDOFsADER_DG; /*!< \brief Number of time DOFs used in the predictor step of ADER-DG. */
su2double *TimeDOFsADER_DG; /*!< \brief The location of the ADER-DG time DOFs on the interval [-1,1]. */
unsigned short nTimeIntegrationADER_DG; /*!< \brief Number of time integration points ADER-DG. */
su2double *TimeIntegrationADER_DG; /*!< \brief The location of the ADER-DG time integration points on the interval [-1,1]. */
su2double *WeightsIntegrationADER_DG; /*!< \brief The weights of the ADER-DG time integration points on the interval [-1,1]. */
unsigned short nRKStep; /*!< \brief Number of steps of the explicit Runge-Kutta method. */
su2double *RK_Alpha_Step; /*!< \brief Runge-Kutta beta coefficients. */
unsigned short nQuasiNewtonSamples; /*!< \brief Number of samples used in quasi-Newton solution methods. */
bool UseVectorization; /*!< \brief Whether to use vectorized numerics schemes. */
bool NewtonKrylov; /*!< \brief Use a coupled Newton method to solve the flow equations. */
array<unsigned short,3> NK_IntParam{{20, 3, 2}}; /*!< \brief Integer parameters for NK method. */
array<su2double,4> NK_DblParam{{-2.0, 0.1, -3.0, 1e-4}}; /*!< \brief Floating-point parameters for NK method. */
unsigned short nMGLevels; /*!< \brief Number of multigrid levels (coarse levels). */
unsigned short nCFL; /*!< \brief Number of CFL, one for each multigrid level. */
su2double
CFLRedCoeff_Turb, /*!< \brief CFL reduction coefficient on the LevelSet problem. */
CFLRedCoeff_AdjFlow, /*!< \brief CFL reduction coefficient for the adjoint problem. */
CFLRedCoeff_AdjTurb, /*!< \brief CFL reduction coefficient for the adjoint turbulent problem. */
CFLRedCoeff_Species, /*!< \brief CFL reduction coefficient on the species problem. */
CFLFineGrid, /*!< \brief CFL of the finest grid. */
Max_DeltaTime, /*!< \brief Max delta time. */
Unst_CFL; /*!< \brief Unsteady CFL number. */
TURBO_PERF_KIND *Kind_TurboPerf; /*!< \brief Kind of turbomachynery architecture.*/
TURBOMACHINERY_TYPE *Kind_TurboMachinery;
/* Turbomachinery objective functions */
su2double *EntropyGeneration;
su2double *TotalPressureLoss;
su2double *KineticEnergyLoss;
/* Gradient smoothing options */
su2double SmoothingEps1; /*!< \brief Parameter for the identity part in gradient smoothing. */
su2double SmoothingEps2; /*!< \brief Parameter for the Laplace part in gradient smoothing. */
bool SmoothGradient; /*!< \brief Flag for enabling gradient smoothing. */
bool SmoothSepDim; /*!< \brief Flag for enabling separated calculation for every dimension. */
bool SmoothOnSurface; /*!< \brief Flag for assembling the system only on the surface. */
bool SmoothDirichletSurfaceBound; /*!< \brief Flag for using zero Dirichlet boundary in the surface case. */
ENUM_SOBOLEV_MODUS SmoothNumMode; /*!< \brief The mode in which the Sobolev smoothing solver is applied. */
unsigned short Kind_Grad_Linear_Solver, /*!< Numerical method to smooth the gradient */
Kind_Grad_Linear_Solver_Prec; /*!< \brief Preconditioner of the linear solver. */
su2double Grad_Linear_Solver_Error; /*!< \brief Min error of the linear solver for the gradient smoothing. */
unsigned long Grad_Linear_Solver_Iter; /*!< \brief Max iterations of the linear solver for the gradient smoothing. */
bool ReorientElements; /*!< \brief Flag for enabling element reorientation. */
string CustomObjFunc; /*!< \brief User-defined objective function. */
string CustomOutputs; /*!< \brief User-defined functions for outputs. */
unsigned short nDV, /*!< \brief Number of design variables. */
nObj, nObjW; /*! \brief Number of objective functions. */
unsigned short* nDV_Value; /*!< \brief Number of values for each design variable (might be different than 1 if we allow arbitrary movement). */
unsigned short nFFDBox; /*!< \brief Number of ffd boxes. */
unsigned short nTurboMachineryKind; /*!< \brief Number turbomachinery types specified. */
unsigned short nParamDV; /*!< \brief Number of parameters of the design variable. */
string DV_Filename; /*!< \brief Filename for providing surface positions from an external parameterization. */
string DV_Unordered_Sens_Filename; /*!< \brief Filename of volume sensitivities in an unordered ASCII format. */
string DV_Sens_Filename; /*!< \brief Filename of surface sensitivities written to an unordered ASCII format. */
unsigned short
Sensitivity_FileFormat; /*!< \brief Format of the input volume sensitivity files (SU2_DOT). */
su2double **ParamDV; /*!< \brief Parameters of the design variable. */
su2double **CoordFFDBox; /*!< \brief Coordinates of the FFD boxes. */
unsigned short **DegreeFFDBox; /*!< \brief Degree of the FFD boxes. */
string *FFDTag; /*!< \brief Parameters of the design variable. */
string *TagFFDBox; /*!< \brief Tag of the FFD box. */
unsigned short GeometryMode; /*!< \brief Gemoetry mode (analysis or gradient computation). */
unsigned short MGCycle; /*!< \brief Kind of multigrid cycle. */
unsigned short FinestMesh; /*!< \brief Finest mesh for the full multigrid approach. */
unsigned short nFFD_Fix_IDir,
nFFD_Fix_JDir, nFFD_Fix_KDir; /*!< \brief Number of planes fixed in the FFD. */
unsigned short nMG_PreSmooth, /*!< \brief Number of MG pre-smooth parameters found in config file. */
nMG_PostSmooth, /*!< \brief Number of MG post-smooth parameters found in config file. */
nMG_CorrecSmooth; /*!< \brief Number of MG correct-smooth parameters found in config file. */
short *FFD_Fix_IDir,
*FFD_Fix_JDir, *FFD_Fix_KDir; /*!< \brief Exact sections. */
unsigned short *MG_PreSmooth, /*!< \brief Multigrid Pre smoothing. */
*MG_PostSmooth, /*!< \brief Multigrid Post smoothing. */
*MG_CorrecSmooth; /*!< \brief Multigrid Jacobi implicit smoothing of the correction. */
su2double *LocationStations; /*!< \brief Airfoil sections in wing slicing subroutine. */
ENUM_MULTIZONE Kind_MZSolver; /*!< \brief Kind of multizone solver. */
INC_DENSITYMODEL Kind_DensityModel; /*!< \brief Kind of the density model for incompressible flows. */
CHT_COUPLING Kind_CHT_Coupling; /*!< \brief Kind of coupling method used at CHT interfaces. */
VISCOSITYMODEL Kind_ViscosityModel; /*!< \brief Kind of the Viscosity Model*/
MIXINGVISCOSITYMODEL Kind_MixingViscosityModel; /*!< \brief Kind of the mixing Viscosity Model*/
CONDUCTIVITYMODEL Kind_ConductivityModel; /*!< \brief Kind of the Thermal Conductivity Model */
CONDUCTIVITYMODEL_TURB Kind_ConductivityModel_Turb; /*!< \brief Kind of the Turbulent Thermal Conductivity Model */
DIFFUSIVITYMODEL Kind_Diffusivity_Model; /*!< \brief Kind of the mass diffusivity Model */
FREESTREAM_OPTION Kind_FreeStreamOption; /*!< \brief Kind of free stream option to choose if initializing with density or temperature */
MAIN_SOLVER Kind_Solver; /*!< \brief Kind of solver: Euler, NS, Continuous adjoint, etc. */
LIMITER Kind_SlopeLimit, /*!< \brief Global slope limiter. */
Kind_SlopeLimit_Flow, /*!< \brief Slope limiter for flow equations.*/
Kind_SlopeLimit_Turb, /*!< \brief Slope limiter for the turbulence equation.*/
Kind_SlopeLimit_AdjTurb, /*!< \brief Slope limiter for the adjoint turbulent equation.*/
Kind_SlopeLimit_AdjFlow, /*!< \brief Slope limiter for the adjoint equation.*/
Kind_SlopeLimit_Heat, /*!< \brief Slope limiter for the adjoint equation.*/
Kind_SlopeLimit_Species; /*!< \brief Slope limiter for the species equation.*/
unsigned short Kind_FluidModel, /*!< \brief Kind of the Fluid Model: Ideal, van der Waals, etc. */
Kind_InitOption, /*!< \brief Kind of Init option to choose if initializing with Reynolds number or with thermodynamic conditions */
Kind_GridMovement, /*!< \brief Kind of the static mesh movement. */
*Kind_SurfaceMovement, /*!< \brief Kind of the static mesh movement. */
nKind_SurfaceMovement, /*!< \brief Kind of the dynamic mesh movement. */
Kind_Gradient_Method, /*!< \brief Numerical method for computation of spatial gradients. */
Kind_Gradient_Method_Recon, /*!< \brief Numerical method for computation of spatial gradients used for upwind reconstruction. */
Kind_Deform_Linear_Solver, /*!< Numerical method to deform the grid */
Kind_Deform_Linear_Solver_Prec, /*!< \brief Preconditioner of the linear solver. */
Kind_Linear_Solver, /*!< \brief Numerical solver for the implicit scheme. */
Kind_Linear_Solver_Prec, /*!< \brief Preconditioner of the linear solver. */
Kind_DiscAdj_Linear_Solver, /*!< \brief Linear solver for the discrete adjoint system. */
Kind_DiscAdj_Linear_Prec, /*!< \brief Preconditioner of the discrete adjoint linear solver. */
Kind_TimeNumScheme, /*!< \brief Global explicit or implicit time integration. */
Kind_TimeIntScheme_Flow, /*!< \brief Time integration for the flow equations. */
Kind_TimeIntScheme_FEM_Flow, /*!< \brief Time integration for the flow equations. */
Kind_ADER_Predictor, /*!< \brief Predictor step of the ADER-DG time integration scheme. */
Kind_TimeIntScheme_AdjFlow, /*!< \brief Time integration for the adjoint flow equations. */
Kind_TimeIntScheme_Turb, /*!< \brief Time integration for the turbulence model. */
Kind_TimeIntScheme_AdjTurb, /*!< \brief Time integration for the adjoint turbulence model. */
Kind_TimeIntScheme_Species, /*!< \brief Time integration for the species model. */
Kind_TimeIntScheme_Heat, /*!< \brief Time integration for the wave equations. */
Kind_TimeStep_Heat, /*!< \brief Time stepping method for the (fvm) heat equation. */
n_Datadriven_files;
ENUM_DATADRIVEN_METHOD Kind_DataDriven_Method; /*!< \brief Method used for datset regression in data-driven fluid models. */
su2double DataDriven_Relaxation_Factor; /*!< \brief Relaxation factor for Newton solvers in data-driven fluid models. */
STRUCT_TIME_INT Kind_TimeIntScheme_FEA; /*!< \brief Time integration for the FEA equations. */
STRUCT_SPACE_ITE Kind_SpaceIteScheme_FEA; /*!< \brief Iterative scheme for nonlinear structural analysis. */
unsigned short
Kind_TimeIntScheme_Radiation, /*!< \brief Time integration for the Radiation equations. */
Kind_ConvNumScheme, /*!< \brief Global definition of the convective term. */
Kind_ConvNumScheme_Flow, /*!< \brief Centered or upwind scheme for the flow equations. */
Kind_ConvNumScheme_FEM_Flow, /*!< \brief Finite element scheme for the flow equations. */
Kind_ConvNumScheme_Heat, /*!< \brief Centered or upwind scheme for the flow equations. */
Kind_ConvNumScheme_AdjFlow, /*!< \brief Centered or upwind scheme for the adjoint flow equations. */
Kind_ConvNumScheme_Turb, /*!< \brief Centered or upwind scheme for the turbulence model. */
Kind_ConvNumScheme_AdjTurb, /*!< \brief Centered or upwind scheme for the adjoint turbulence model. */
Kind_ConvNumScheme_Species, /*!< \brief Centered or upwind scheme for the species model. */
Kind_ConvNumScheme_Template, /*!< \brief Centered or upwind scheme for the level set equation. */
Kind_FEM, /*!< \brief Finite element scheme for the flow equations. */
Kind_FEM_Flow, /*!< \brief Finite element scheme for the flow equations. */
Kind_Matrix_Coloring; /*!< \brief Type of matrix coloring for sparse Jacobian computation. */
CENTERED
Kind_Centered, /*!< \brief Centered scheme. */
Kind_Centered_Flow, /*!< \brief Centered scheme for the flow equations. */
Kind_Centered_AdjFlow, /*!< \brief Centered scheme for the adjoint flow equations. */
Kind_Centered_Turb, /*!< \brief Centered scheme for the turbulence model. */
Kind_Centered_AdjTurb, /*!< \brief Centered scheme for the adjoint turbulence model. */
Kind_Centered_Species, /*!< \brief Centered scheme for the species model. */
Kind_Centered_Heat, /*!< \brief Centered scheme for the heat transfer model. */
Kind_Centered_Template; /*!< \brief Centered scheme for the template model. */
FEM_SHOCK_CAPTURING_DG Kind_FEM_Shock_Capturing_DG; /*!< \brief Shock capturing method for the FEM DG solver. */
BGS_RELAXATION Kind_BGS_RelaxMethod; /*!< \brief Kind of relaxation method for Block Gauss Seidel method in FSI problems. */
bool ReconstructionGradientRequired; /*!< \brief Enable or disable a second gradient calculation for upwind reconstruction only. */
bool LeastSquaresRequired; /*!< \brief Enable or disable memory allocation for least-squares gradient methods. */
bool Energy_Equation; /*!< \brief Solve the energy equation for incompressible flows. */
UPWIND
Kind_Upwind, /*!< \brief Upwind scheme. */
Kind_Upwind_Flow, /*!< \brief Upwind scheme for the flow equations. */
Kind_Upwind_AdjFlow, /*!< \brief Upwind scheme for the adjoint flow equations. */
Kind_Upwind_Turb, /*!< \brief Upwind scheme for the turbulence model. */
Kind_Upwind_AdjTurb, /*!< \brief Upwind scheme for the adjoint turbulence model. */
Kind_Upwind_Species, /*!< \brief Upwind scheme for the species model. */
Kind_Upwind_Heat, /*!< \brief Upwind scheme for the heat transfer model. */
Kind_Upwind_Template; /*!< \brief Upwind scheme for the template model. */
bool MUSCL, /*!< \brief MUSCL scheme .*/
MUSCL_Flow, /*!< \brief MUSCL scheme for the flow equations.*/
MUSCL_Turb, /*!< \brief MUSCL scheme for the turbulence equations.*/
MUSCL_Heat, /*!< \brief MUSCL scheme for the (fvm) heat equation.*/
MUSCL_AdjFlow, /*!< \brief MUSCL scheme for the adj flow equations.*/
MUSCL_AdjTurb; /*!< \brief MUSCL scheme for the adj turbulence equations.*/
bool MUSCL_Species; /*!< \brief MUSCL scheme for the species equations.*/
bool Use_Accurate_Jacobians; /*!< \brief Use numerically computed Jacobians for AUSM+up(2) and SLAU(2). */
bool EulerPersson; /*!< \brief Boolean to determine whether this is an Euler simulation with Persson shock capturing. */
bool FSI_Problem = false,/*!< \brief Boolean to determine whether the simulation is FSI or not. */
Multizone_Problem; /*!< \brief Boolean to determine whether we are solving a multizone problem. */
//bool ContactResistance = false; /*!< \brief Apply contact resistance for conjugate heat transfer. */
unsigned short nID_DV; /*!< \brief ID for the region of FEM when computed using direct differentiation. */
bool AD_Mode; /*!< \brief Algorithmic Differentiation support. */
bool AD_Preaccumulation; /*!< \brief Enable or disable preaccumulation in the AD mode. */
STRUCT_COMPRESS Kind_Material_Compress; /*!< \brief Determines if the material is compressible or incompressible (structural analysis). */
STRUCT_MODEL Kind_Material; /*!< \brief Determines the material model to be used (structural analysis). */
STRUCT_DEFORMATION Kind_Struct_Solver; /*!< \brief Determines the geometric condition (small or large deformations) for structural analysis. */
unsigned short Kind_DV_FEA; /*!< \brief Kind of Design Variable for FEA problems.*/
unsigned short nTurbVar; /*!< \brief Number of Turbulence variables, i.e. 1 for SA-types, 2 for SST. */
TURB_MODEL Kind_Turb_Model; /*!< \brief Turbulent model definition. */
SPECIES_MODEL Kind_Species_Model; /*!< \brief Species model definition. */
TURB_SGS_MODEL Kind_SGS_Model; /*!< \brief LES SGS model definition. */
TURB_TRANS_MODEL Kind_Trans_Model; /*!< \brief Transition model definition. */
TURB_TRANS_CORRELATION Kind_Trans_Correlation; /*!< \brief Transition correlation model definition. */
su2double hRoughness; /*!< \brief RMS roughness for Transition model. */
unsigned short Kind_ActDisk, Kind_Engine_Inflow,
*Kind_Data_Riemann,
*Kind_Data_Giles; /*!< \brief Kind of inlet boundary treatment. */
INLET_TYPE Kind_Inlet;
INLET_TYPE *Kind_Inc_Inlet;
INC_OUTLET_TYPE *Kind_Inc_Outlet;
unsigned short nWall_Types; /*!< \brief Number of wall treatment types listed. */
unsigned short nInc_Inlet; /*!< \brief Number of inlet boundary treatment types listed. */
unsigned short nInc_Outlet; /*!< \brief Number of inlet boundary treatment types listed. */
su2double Inc_Inlet_Damping; /*!< \brief Damping factor applied to the iterative updates to the velocity at a pressure inlet in incompressible flow. */
su2double Inc_Outlet_Damping; /*!< \brief Damping factor applied to the iterative updates to the pressure at a mass flow outlet in incompressible flow. */
bool Inc_Inlet_UseNormal; /*!< \brief Flag for whether to use the local normal as the flow direction for an incompressible pressure inlet. */
su2double Linear_Solver_Error; /*!< \brief Min error of the linear solver for the implicit formulation. */
su2double Deform_Linear_Solver_Error; /*!< \brief Min error of the linear solver for the implicit formulation. */
su2double Linear_Solver_Smoother_Relaxation; /*!< \brief Relaxation factor for iterative linear smoothers. */
unsigned long Linear_Solver_Iter; /*!< \brief Max iterations of the linear solver for the implicit formulation. */
unsigned long Deform_Linear_Solver_Iter; /*!< \brief Max iterations of the linear solver for the implicit formulation. */
unsigned long Linear_Solver_Restart_Frequency; /*!< \brief Restart frequency of the linear solver for the implicit formulation. */
unsigned long Linear_Solver_Prec_Threads; /*!< \brief Number of threads per rank for ILU and LU_SGS preconditioners. */
unsigned short Linear_Solver_ILU_n; /*!< \brief ILU fill=in level. */
su2double SemiSpan; /*!< \brief Wing Semi span. */
su2double Roe_Kappa; /*!< \brief Relaxation of the Roe scheme. */
su2double Relaxation_Factor_Adjoint; /*!< \brief Relaxation coefficient for variable updates of adjoint solvers. */
su2double Relaxation_Factor_CHT; /*!< \brief Relaxation coefficient for the update of conjugate heat variables. */
su2double EntropyFix_Coeff; /*!< \brief Entropy fix coefficient. */
unsigned short nLocationStations, /*!< \brief Number of section cuts to make when outputting mesh and cp . */
nWingStations; /*!< \brief Number of section cuts to make when calculating internal volume. */
su2double Kappa_1st_AdjFlow, /*!< \brief Lax 1st order dissipation coefficient for adjoint flow equations (coarse multigrid levels). */
Kappa_2nd_AdjFlow, /*!< \brief JST 2nd order dissipation coefficient for adjoint flow equations. */
Kappa_4th_AdjFlow, /*!< \brief JST 4th order dissipation coefficient for adjoint flow equations. */
Kappa_1st_Flow, /*!< \brief Lax 1st order dissipation coefficient for flow equations (coarse multigrid levels). */
Kappa_2nd_Flow, /*!< \brief JST 2nd order dissipation coefficient for flow equations. */
Kappa_4th_Flow, /*!< \brief JST 4th order dissipation coefficient for flow equations. */
Cent_Jac_Fix_Factor, /*!< \brief Multiply the dissipation contribution to the Jacobian of central schemes
by this factor to make the global matrix more diagonal dominant. */
Cent_Inc_Jac_Fix_Factor; /*!< \brief Multiply the dissipation contribution to the Jacobian of incompressible central schemes */
su2double Geo_Waterline_Location; /*!< \brief Location of the waterline. */
su2double Min_Beta_RoeTurkel, /*!< \brief Minimum value of Beta for the Roe-Turkel low Mach preconditioner. */
Max_Beta_RoeTurkel; /*!< \brief Maximum value of Beta for the Roe-Turkel low Mach preconditioner. */
unsigned long GridDef_Nonlinear_Iter; /*!< \brief Number of nonlinear increments for grid deformation. */
unsigned short Deform_StiffnessType; /*!< \brief Type of element stiffness imposed for FEA mesh deformation. */
bool Deform_Mesh; /*!< \brief Determines whether the mesh will be deformed. */
bool Deform_Output; /*!< \brief Print the residuals during mesh deformation to the console. */
su2double Deform_Tol_Factor; /*!< \brief Factor to multiply smallest volume for deform tolerance (0.001 default) */
su2double Deform_Coeff; /*!< \brief Deform coeffienct */
su2double Deform_Limit; /*!< \brief Deform limit */
unsigned short FFD_Continuity; /*!< \brief Surface continuity at the intersection with the FFD */
unsigned short FFD_CoordSystem; /*!< \brief Define the coordinates system */
su2double Deform_ElasticityMod, /*!< \brief Young's modulus for volume deformation stiffness model */
Deform_PoissonRatio, /*!< \brief Poisson's ratio for volume deformation stiffness model */
Deform_StiffLayerSize; /*!< \brief Size of the layer of highest stiffness for wall distance-based mesh stiffness */
bool FFD_Symmetry_Plane; /*!< \brief FFD symmetry plane. */
su2double Mach; /*!< \brief Mach number. */
su2double Reynolds; /*!< \brief Reynolds number. */
su2double Froude; /*!< \brief Froude number. */
su2double Length_Reynolds; /*!< \brief Reynolds length (dimensional). */
su2double AoA, /*!< \brief Angle of attack (just external flow). */
iH, AoS, AoA_Offset,
AoS_Offset, AoA_Sens; /*!< \brief Angle of sideSlip (just external flow). */
bool Fixed_CL_Mode; /*!< \brief Activate fixed CL mode (external flow only). */
bool Eval_dOF_dCX; /*!< \brief Activate fixed CL mode (external flow only). */
bool Discard_InFiles; /*!< \brief Discard angle of attack in solution and geometry files. */
su2double Target_CL; /*!< \brief Specify a target CL instead of AoA (external flow only). */
su2double Total_CM; /*!< \brief Specify a Total CM instead of AoA (external flow only). */
su2double Total_CD; /*!< \brief Specify a target CD instead of AoA (external flow only). */
su2double dCL_dAlpha; /*!< \brief value of dCl/dAlpha. */
unsigned long Iter_Fixed_CM; /*!< \brief Iterations to re-evaluate the angle of attack (external flow only). */
unsigned long Iter_Fixed_NetThrust; /*!< \brief Iterations to re-evaluate the angle of attack (external flow only). */
unsigned long Iter_dCL_dAlpha; /*!< \brief Number of iterations to evaluate dCL_dAlpha. */
unsigned long Update_Alpha; /*!< \brief Iterations to re-evaluate the angle of attack (external flow only). */
unsigned long Update_iH; /*!< \brief Iterations to re-evaluate the angle of attack (external flow only). */
unsigned long Update_BCThrust; /*!< \brief Iterations to re-evaluate the angle of attack (external flow only). */
su2double dNetThrust_dBCThrust; /*!< \brief value of dNetThrust/dBCThrust. */
bool Update_BCThrust_Bool; /*!< \brief Boolean flag for whether to update the AoA for fixed lift mode on a given iteration. */
bool Update_AoA; /*!< \brief Boolean flag for whether to update the AoA for fixed lift mode on a given iteration. */
unsigned long Update_AoA_Iter_Limit; /*!< \brief Limit on number of iterations between AoA updates for fixed lift mode. */
bool Finite_Difference_Mode; /*!< \brief Flag to run the finite difference mode in fixed Cl mode. */
su2double ChargeCoeff; /*!< \brief Charge coefficient (just for poisson problems). */
unsigned short Cauchy_Func_Flow, /*!< \brief Function where to apply the convergence criteria in the flow problem. */
Cauchy_Func_AdjFlow, /*!< \brief Function where to apply the convergence criteria in the adjoint problem. */
Cauchy_Elems; /*!< \brief Number of elements to evaluate. */
unsigned short Residual_Func_Flow; /*!< \brief Equation to apply residual convergence to. */
unsigned short Res_FEM_CRIT; /*!< \brief Criteria to apply to the FEM convergence (absolute/relative). */
unsigned long StartConv_Iter; /*!< \brief Start convergence criteria at iteration. */
su2double Cauchy_Eps; /*!< \brief Epsilon used for the convergence. */
bool Restart, /*!< \brief Restart solution (for direct, adjoint, and linearized problems).*/
Wrt_Restart_Compact, /*!< \brief Write compact restart files with minimum nr. of variables. */
Read_Binary_Restart, /*!< \brief Read binary SU2 native restart files.*/
Wrt_Restart_Overwrite, /*!< \brief Overwrite restart files or append iteration number.*/
Wrt_Surface_Overwrite, /*!< \brief Overwrite surface output files or append iteration number.*/
Wrt_Volume_Overwrite, /*!< \brief Overwrite volume output files or append iteration number.*/
Restart_Flow; /*!< \brief Restart flow solution for adjoint and linearized problems. */
unsigned short nMarker_Monitoring, /*!< \brief Number of markers to monitor. */
nMarker_Designing, /*!< \brief Number of markers for the objective function. */
nMarker_GeoEval, /*!< \brief Number of markers for the objective function. */
nMarker_ZoneInterface, /*!< \brief Number of markers in the zone interface. */
nMarker_Plotting, /*!< \brief Number of markers to plot. */
nMarker_Analyze, /*!< \brief Number of markers to analyze. */
nMarker_Moving, /*!< \brief Number of markers in motion (DEFORMING, MOVING_WALL). */
nMarker_PyCustom, /*!< \brief Number of markers that are customizable in Python. */
nMarker_DV, /*!< \brief Number of markers affected by the design variables. */
nMarker_WallFunctions, /*!< \brief Number of markers for which wall functions must be applied. */
nMarker_StrongBC, /*!< \brief Number of markers for which a strong BC must be applied. */
nMarker_SobolevBC; /*!< \brief Number of markers treaded in the gradient problem. */
string *Marker_Monitoring, /*!< \brief Markers to monitor. */
*Marker_Designing, /*!< \brief Markers to design. */
*Marker_GeoEval, /*!< \brief Markers to evaluate geometry. */
*Marker_Plotting, /*!< \brief Markers to plot. */
*Marker_Analyze, /*!< \brief Markers to analyze. */
*Marker_ZoneInterface, /*!< \brief Markers in the FSI interface. */
*Marker_Moving, /*!< \brief Markers in motion (DEFORMING, MOVING_WALL). */
*Marker_PyCustom, /*!< \brief Markers that are customizable in Python. */
*Marker_DV, /*!< \brief Markers affected by the design variables. */
*Marker_WallFunctions, /*!< \brief Markers for which wall functions must be applied. */
*Marker_StrongBC, /*!< \brief Markers for which a strong BC must be applied. */
*Marker_SobolevBC; /*!< \brief Markers in the gradient solver */
unsigned short nConfig_Files; /*!< \brief Number of config files for multiphysics problems. */
string *Config_Filenames; /*!< \brief List of names for configuration files. */
SST_OPTIONS *SST_Options; /*!< \brief List of modifications/corrections/versions of SST turbulence model.*/
SA_OPTIONS *SA_Options; /*!< \brief List of modifications/corrections/versions of SA turbulence model.*/
LM_OPTIONS *LM_Options; /*!< \brief List of modifications/corrections/versions of SA turbulence model.*/
unsigned short nSST_Options; /*!< \brief Number of SST options specified. */
unsigned short nSA_Options; /*!< \brief Number of SA options specified. */
unsigned short nLM_Options; /*!< \brief Number of SA options specified. */
WALL_FUNCTIONS *Kind_WallFunctions; /*!< \brief The kind of wall function to use for the corresponding markers. */
unsigned short **IntInfo_WallFunctions; /*!< \brief Additional integer information for the wall function markers. */
su2double **DoubleInfo_WallFunctions; /*!< \brief Additional double information for the wall function markers. */
unsigned short *Marker_All_Monitoring, /*!< \brief Global index for monitoring using the grid information. */
*Marker_All_GeoEval, /*!< \brief Global index for geometrical evaluation. */
*Marker_All_Plotting, /*!< \brief Global index for plotting using the grid information. */
*Marker_All_Analyze, /*!< \brief Global index for plotting using the grid information. */
*Marker_All_ZoneInterface, /*!< \brief Global index for FSI interface markers using the grid information. */
*Marker_All_Turbomachinery, /*!< \brief Global index for Turbomachinery markers using the grid information. */
*Marker_All_TurbomachineryFlag, /*!< \brief Global index for Turbomachinery markers flag using the grid information. */
*Marker_All_MixingPlaneInterface, /*!< \brief Global index for MixingPlane interface markers using the grid information. */
*Marker_All_DV, /*!< \brief Global index for design variable markers using the grid information. */
*Marker_All_Moving, /*!< \brief Global index for moving surfaces using the grid information. */
*Marker_All_Deform_Mesh, /*!< \brief Global index for deformable markers at the boundary. */
*Marker_All_Deform_Mesh_Sym_Plane, /*!< \brief Global index for markers with symmetric deformations. */
*Marker_All_Fluid_Load, /*!< \brief Global index for markers in which the flow load is computed/employed. */
*Marker_All_PyCustom, /*!< \brief Global index for Python customizable surfaces using the grid information. */
*Marker_All_Designing, /*!< \brief Global index for moving using the grid information. */
*Marker_All_SobolevBC, /*!< \brief Global index for boundary condition applied to gradient smoothing. */
*Marker_CfgFile_Monitoring, /*!< \brief Global index for monitoring using the config information. */
*Marker_CfgFile_Designing, /*!< \brief Global index for monitoring using the config information. */
*Marker_CfgFile_GeoEval, /*!< \brief Global index for monitoring using the config information. */
*Marker_CfgFile_Plotting, /*!< \brief Global index for plotting using the config information. */
*Marker_CfgFile_Analyze, /*!< \brief Global index for plotting using the config information. */
*Marker_CfgFile_ZoneInterface, /*!< \brief Global index for FSI interface using the config information. */
*Marker_CfgFile_Turbomachinery, /*!< \brief Global index for Turbomachinery using the config information. */
*Marker_CfgFile_TurbomachineryFlag, /*!< \brief Global index for Turbomachinery flag using the config information. */
*Marker_CfgFile_MixingPlaneInterface, /*!< \brief Global index for MixingPlane interface using the config information. */
*Marker_CfgFile_Moving, /*!< \brief Global index for moving surfaces using the config information. */
*Marker_CfgFile_Deform_Mesh, /*!< \brief Global index for deformable markers at the boundary. */
*Marker_CfgFile_Deform_Mesh_Sym_Plane, /*!< \brief Global index for markers with symmetric deformations. */
*Marker_CfgFile_Fluid_Load, /*!< \brief Global index for markers in which the flow load is computed/employed. */
*Marker_CfgFile_PyCustom, /*!< \brief Global index for Python customizable surfaces using the config information. */
*Marker_CfgFile_DV, /*!< \brief Global index for design variable markers using the config information. */
*Marker_CfgFile_PerBound, /*!< \brief Global index for periodic boundaries using the config information. */
*Marker_CfgFile_SobolevBC; /*!< \brief Global index for boundary condition applied to gradient smoothing using the config information. */
string *PlaneTag; /*!< \brief Global index for the plane adaptation (upper, lower). */
su2double *nBlades; /*!< \brief number of blades for turbomachinery computation. */
unsigned short Geo_Description; /*!< \brief Description of the geometry. */
unsigned short Mesh_FileFormat; /*!< \brief Mesh input format. */
TAB_OUTPUT Tab_FileFormat; /*!< \brief Format of the output files. */
unsigned short output_precision; /*!< \brief <ofstream>.precision(value) for SU2_DOT and HISTORY output */
unsigned short ActDisk_Jump; /*!< \brief Format of the output files. */
unsigned long StartWindowIteration; /*!< \brief Starting Iteration for long time Windowing apporach . */
unsigned short nCFL_AdaptParam; /*!< \brief Number of CFL parameters provided in config. */
bool CFL_Adapt; /*!< \brief Use adaptive CFL number. */
bool HB_Precondition; /*!< \brief Flag to turn on harmonic balance source term preconditioning */
su2double RefArea, /*!< \brief Reference area for coefficient computation. */
RefElemLength, /*!< \brief Reference element length for computing the slope limiting epsilon. */
RefSharpEdges, /*!< \brief Reference coefficient for detecting sharp edges. */
RefLength, /*!< \brief Reference length for moment computation. */
*RefOriginMoment_X, /*!< \brief X Origin for moment computation. */
*RefOriginMoment_Y, /*!< \brief Y Origin for moment computation. */
*RefOriginMoment_Z, /*!< \brief Z Origin for moment computation. */
*CFL_AdaptParam, /*!< \brief Information about the CFL ramp. */
*RelaxFactor_Giles, /*!< \brief Information about the under relaxation factor for Giles BC. */
*CFL, /*!< \brief CFL number. */
DomainVolume; /*!< \brief Volume of the computational grid. */
unsigned short
nRefOriginMoment_X, /*!< \brief Number of X-coordinate moment computation origins. */
nRefOriginMoment_Y, /*!< \brief Number of Y-coordinate moment computation origins. */
nRefOriginMoment_Z; /*!< \brief Number of Z-coordinate moment computation origins. */
unsigned short nMesh_Box_Size;
short *Mesh_Box_Size; /*!< \brief Array containing the number of grid points in the x-, y-, and z-directions for the analytic RECTANGLE and BOX grid formats. */
unsigned short Mesh_Box_PSolFEM; /*!< \brief FEM polynomial degree of the solution for the RECTANGLE and BOX grid formats. */
string Mesh_FileName, /*!< \brief Mesh input file. */
Mesh_Out_FileName, /*!< \brief Mesh output file. */
Solution_FileName, /*!< \brief Flow solution input file. */
Solution_AdjFileName, /*!< \brief Adjoint solution input file for drag functional. */
Volume_FileName, /*!< \brief Flow variables output file. */
Conv_FileName, /*!< \brief Convergence history output file. */
Breakdown_FileName, /*!< \brief Breakdown output file. */
Restart_FileName, /*!< \brief Restart file for flow variables. */
Restart_AdjFileName, /*!< \brief Restart file for adjoint variables, drag functional. */
Adj_FileName, /*!< \brief Output file with the adjoint variables. */
ObjFunc_Grad_FileName, /*!< \brief Gradient of the objective function. */
ObjFunc_Value_FileName, /*!< \brief Objective function. */
SurfCoeff_FileName, /*!< \brief Output file with the flow variables on the surface. */
SurfAdjCoeff_FileName, /*!< \brief Output file with the adjoint variables on the surface. */
SurfSens_FileName, /*!< \brief Output file for the sensitivity on the surface (discrete adjoint). */
VolSens_FileName, /*!< \brief Output file for the sensitivity in the volume (discrete adjoint). */
ObjFunc_Hess_FileName, /*!< \brief Hessian approximation obtained by the Sobolev smoothing solver. */
*DataDriven_Method_FileNames; /*!< \brief Dataset information for data-driven fluid models. */
bool
Wrt_Performance, /*!< \brief Write the performance summary at the end of a calculation. */
Wrt_AD_Statistics, /*!< \brief Write the tape statistics (discrete adjoint). */
Wrt_MeshQuality, /*!< \brief Write the mesh quality statistics to the visualization files. */
Wrt_MultiGrid, /*!< \brief Write the coarse grids to the visualization files. */
Wrt_Projected_Sensitivity, /*!< \brief Write projected sensitivities (dJ/dx) on surfaces to ASCII file. */
Plot_Section_Forces; /*!< \brief Write sectional forces for specified markers. */
unsigned short
Console_Output_Verb, /*!< \brief Level of verbosity for console output */
Kind_Average; /*!< \brief Particular average for the marker analyze. */
su2double Gamma, /*!< \brief Ratio of specific heats of the gas. */
Bulk_Modulus, /*!< \brief Value of the bulk modulus for incompressible flows. */
Beta_Factor, /*!< \brief Value of the epsilon^2 multiplier for Beta for the incompressible preconditioner. */
Gas_Constant, /*!< \brief Specific gas constant. */
Gas_ConstantND, /*!< \brief Non-dimensional specific gas constant. */
*Molecular_Weight; /*!< \brief Molecular weight of an incompressible ideal gas (g/mol). */
unsigned short nMolecular_Weight, /*!< \brief Number of species molecular weights. */
nSpecific_Heat_Cp; /*!< \brief Number of species specific heat constants at constant pressure. */
su2double *Specific_Heat_Cp, /*!< \brief Specific heat at constant pressure. */
Thermal_Expansion_Coeff, /*!< \brief Thermal expansion coefficient. */
Thermal_Expansion_CoeffND, /*!< \brief Non-dimensional thermal expansion coefficient. */
Inc_Density_Ref, /*!< \brief Reference density for custom incompressible non-dim. */
Inc_Velocity_Ref, /*!< \brief Reference velocity for custom incompressible non-dim. */
Inc_Temperature_Ref, /*!< \brief Reference temperature for custom incompressible non-dim. */
Inc_Density_Init, /*!< \brief Initial density for incompressible flows. */
Inc_Temperature_Init, /*!< \brief Initial temperature for incompressible flows w/ heat transfer. */
Heat_Flux_Ref, /*!< \brief Reference heat flux for non-dim. */
Gas_Constant_Ref, /*!< \brief Reference specific gas constant. */
Temperature_Critical, /*!< \brief Critical Temperature for real fluid model. */
Pressure_Critical, /*!< \brief Critical Pressure for real fluid model. */
Density_Critical, /*!< \brief Critical Density for real fluid model. */
Acentric_Factor, /*!< \brief Acentric Factor for real fluid model. */
*Mu_Constant, /*!< \brief Constant viscosity for ConstantViscosity model. */
*Thermal_Conductivity_Constant, /*!< \brief Constant thermal conductivity for ConstantConductivity model. */
*Mu_Ref, /*!< \brief Reference viscosity for Sutherland model. */
*Mu_Temperature_Ref, /*!< \brief Reference temperature for Sutherland model. */
*Mu_S; /*!< \brief Reference S for Sutherland model. */
unsigned short nMu_Constant, /*!< \brief Number of species constant viscosities. */
nMu_Ref, /*!< \brief Number of species reference constants for Sutherland model. */
nMu_Temperature_Ref, /*!< \brief Number of species reference temperature for Sutherland model. */
nMu_S, /*!< \brief Number of species reference S for Sutherland model. */
nThermal_Conductivity_Constant,/*!< \brief Number of species constant thermal conductivity. */
nPrandtl_Lam, /*!< \brief Number of species laminar Prandtl number. */
nPrandtl_Turb, /*!< \brief Number of species turbulent Prandtl number. */
nConstant_Lewis_Number; /*!< \brief Number of species Lewis Number. */
su2double Diffusivity_Constant; /*!< \brief Constant mass diffusivity for scalar transport. */
su2double Diffusivity_ConstantND; /*!< \brief Non-dim. constant mass diffusivity for scalar transport. */
su2double Schmidt_Number_Laminar; /*!< \brief Laminar Schmidt number for mass diffusion. */
su2double Schmidt_Number_Turbulent; /*!< \brief Turbulent Schmidt number for mass diffusion. */
su2double *Constant_Lewis_Number; /*!< \brief Different Lewis number for mass diffusion. */
array<su2double, N_POLY_COEFFS> CpPolyCoefficientsND{{0.0}}; /*!< \brief Definition of the non-dimensional temperature polynomial coefficients for specific heat Cp. */
array<su2double, N_POLY_COEFFS> MuPolyCoefficientsND{{0.0}}; /*!< \brief Definition of the non-dimensional temperature polynomial coefficients for viscosity. */
array<su2double, N_POLY_COEFFS> KtPolyCoefficientsND{{0.0}}; /*!< \brief Definition of the non-dimensional temperature polynomial coefficients for thermal conductivity. */
su2double TurbIntensityAndViscRatioFreeStream[2]; /*!< \brief Freestream turbulent intensity and viscosity ratio for turbulence and transition models. */
su2double Energy_FreeStream, /*!< \brief Free-stream total energy of the fluid. */
ModVel_FreeStream, /*!< \brief Magnitude of the free-stream velocity of the fluid. */
ModVel_FreeStreamND, /*!< \brief Non-dimensional magnitude of the free-stream velocity of the fluid. */
Density_FreeStream, /*!< \brief Free-stream density of the fluid. */
Viscosity_FreeStream, /*!< \brief Free-stream viscosity of the fluid. */
Tke_FreeStream, /*!< \brief Total turbulent kinetic energy of the fluid. */
Intermittency_FreeStream, /*!< \brief Freestream intermittency (for sagt transition model) of the fluid. */
ReThetaT_FreeStream, /*!< \brief Freestream Transition Momentum Thickness Reynolds Number (for LM transition model) of the fluid. */
NuFactor_FreeStream, /*!< \brief Ratio of turbulent to laminar viscosity. */
NuFactor_Engine, /*!< \brief Ratio of turbulent to laminar viscosity at the engine. */
KFactor_LowerLimit, /*!< \Non dimensional coefficient for lower limit of K in SST model. */
OmegaFactor_LowerLimit, /*!< \Non dimensional coefficient for lower limit of omega in SST model. */
SecondaryFlow_ActDisk, /*!< \brief Ratio of turbulent to laminar viscosity at the actuator disk. */
Initial_BCThrust, /*!< \brief Ratio of turbulent to laminar viscosity at the actuator disk. */
Pressure_FreeStream, /*!< \brief Total pressure of the fluid. */
Pressure_Thermodynamic, /*!< \brief Thermodynamic pressure of the fluid. */
Temperature_FreeStream, /*!< \brief Total temperature of the fluid. */
Temperature_ve_FreeStream; /*!< \brief Total vibrational-electronic temperature of the fluid. */
unsigned short wallModel_MaxIter; /*!< \brief maximum number of iterations for the Newton method for the wall model */
su2double wallModel_Kappa, /*!< \brief von Karman constant kappa for turbulence wall modeling */
wallModel_B, /*!< \brief constant B for turbulence wall modeling */
wallModel_RelFac, /*!< \brief relaxation factor for the Newton method used in the wall model */
wallModel_MinYplus; /*!< \brief minimum Y+ value, below which the wall model is not used anymore */
su2double *Prandtl_Lam, /*!< \brief Laminar Prandtl number for the gas. */
*Prandtl_Turb, /*!< \brief Turbulent Prandtl number for the gas. */
Length_Ref, /*!< \brief Reference length for non-dimensionalization. */
Pressure_Ref, /*!< \brief Reference pressure for non-dimensionalization. */
Temperature_Ref, /*!< \brief Reference temperature for non-dimensionalization.*/
Temperature_ve_Ref, /*!< \brief Reference vibrational-electronic temperature for non-dimensionalization.*/
Density_Ref, /*!< \brief Reference density for non-dimensionalization.*/
Velocity_Ref, /*!< \brief Reference velocity for non-dimensionalization.*/
Time_Ref, /*!< \brief Reference time for non-dimensionalization. */
Viscosity_Ref, /*!< \brief Reference viscosity for non-dimensionalization. */
Thermal_Conductivity_Ref, /*!< \brief Reference conductivity for non-dimensionalization. */
Energy_Ref, /*!< \brief Reference viscosity for non-dimensionalization. */
Wall_Temperature, /*!< \brief Temperature at an isotropic wall in Kelvin. */
Omega_Ref, /*!< \brief Reference angular velocity for non-dimensionalization. */
Force_Ref, /*!< \brief Reference body force for non-dimensionalization. */
Pressure_FreeStreamND, /*!< \brief Farfield pressure value (external flow). */
Pressure_ThermodynamicND, /*!< \brief Farfield thermodynamic pressure value. */
Temperature_FreeStreamND, /*!< \brief Farfield temperature value (external flow). */
Temperature_ve_FreeStreamND,/*!< \brief Farfield vibrational-electronic temperature value (external flow). */
Density_FreeStreamND, /*!< \brief Farfield density value (external flow). */
Velocity_FreeStreamND[3], /*!< \brief Farfield velocity values (external flow). */
Energy_FreeStreamND, /*!< \brief Farfield energy value (external flow). */
Viscosity_FreeStreamND, /*!< \brief Farfield viscosity value (external flow). */
Tke_FreeStreamND, /*!< \brief Farfield kinetic energy (external flow). */
Omega_FreeStreamND, /*!< \brief Specific dissipation (external flow). */
Omega_FreeStream; /*!< \brief Specific dissipation (external flow). */
bool Variable_Density; /*!< \brief Variable density for incompressible flow. */
unsigned short nElectric_Constant; /*!< \brief Number of different electric constants. */
su2double *Electric_Constant; /*!< \brief Dielectric constant modulus. */
su2double Knowles_B, /*!< \brief Knowles material model constant B. */
Knowles_N; /*!< \brief Knowles material model constant N. */
bool DE_Effects; /*!< Application of DE effects to FE analysis */
bool RefGeom, RefGeomSurf; /*!< Read a reference geometry for optimization purposes. */
unsigned long refNodeID; /*!< \brief Global ID for the reference node (optimization). */
string RefGeom_FEMFileName; /*!< \brief File name for reference geometry. */
unsigned short RefGeom_FileFormat; /*!< \brief Mesh input format. */
STRUCT_2DFORM Kind_2DElasForm; /*!< \brief Kind of bidimensional elasticity solver. */
unsigned short nIterFSI_Ramp; /*!< \brief Number of FSI subiterations during which a ramp is applied. */
unsigned short iInst; /*!< \brief Current instance value */
su2double AitkenStatRelax; /*!< \brief Aitken's relaxation factor (if set as static) */
su2double AitkenDynMaxInit; /*!< \brief Aitken's maximum dynamic relaxation factor for the first iteration */
su2double AitkenDynMinInit; /*!< \brief Aitken's minimum dynamic relaxation factor for the first iteration */
bool RampAndRelease; /*!< \brief option for ramp load and release */
bool Sine_Load; /*!< \brief option for sine load */
su2double Thermal_Diffusivity; /*!< \brief Thermal diffusivity used in the heat solver. */
su2double Mach_Motion; /*!< \brief Mach number based on mesh velocity and freestream quantities. */
su2double Motion_Origin[3] = {0.0}, /*!< \brief Mesh motion origin. */
Translation_Rate[3] = {0.0}, /*!< \brief Translational velocity of the mesh. */
Rotation_Rate[3] = {0.0}, /*!< \brief Angular velocity of the mesh . */
Pitching_Omega[3] = {0.0}, /*!< \brief Angular frequency of the mesh pitching. */
Pitching_Ampl[3] = {0.0}, /*!< \brief Pitching amplitude. */
Pitching_Phase[3] = {0.0}, /*!< \brief Pitching phase offset. */
Plunging_Omega[3] = {0.0}, /*!< \brief Angular frequency of the mesh plunging. */
Plunging_Ampl[3] = {0.0}; /*!< \brief Plunging amplitude. */
su2double *MarkerMotion_Origin, /*!< \brief Mesh motion origin of marker. */
*MarkerTranslation_Rate, /*!< \brief Translational velocity of marker. */
*MarkerRotation_Rate, /*!< \brief Angular velocity of marker. */
*MarkerPitching_Omega, /*!< \brief Angular frequency of marker. */
*MarkerPitching_Ampl, /*!< \brief Pitching amplitude of marker. */
*MarkerPitching_Phase, /*!< \brief Pitching phase offset of marker. */
*MarkerPlunging_Omega, /*!< \brief Angular frequency of marker.. */
*MarkerPlunging_Ampl; /*!< \brief Plunging amplitude of marker. */
unsigned short
nMarkerMotion_Origin, /*!< \brief Number of values provided for mesh motion origin of marker. */
nMarkerTranslation, /*!< \brief Number of values provided for translational velocity of marker. */
nMarkerRotation_Rate, /*!< \brief Number of values provided for angular velocity of marker. */
nMarkerPitching_Omega, /*!< \brief Number of values provided for angular frequency of marker. */
nMarkerPitching_Ampl, /*!< \brief Number of values provided for pitching amplitude of marker. */
nMarkerPitching_Phase, /*!< \brief Number of values provided for pitching phase offset of marker. */
nMarkerPlunging_Omega, /*!< \brief Number of values provided for angular frequency of marker. */
nMarkerPlunging_Ampl, /*!< \brief Number of values provided for plunging amplitude of marker. */
nRough_Wall; /*!< \brief Number of rough walls. */
su2double *Omega_HB; /*!< \brief Frequency for Harmonic Balance Operator (in rad/s). */
unsigned short
nOmega_HB, /*!< \brief Number of frequencies in Harmonic Balance Operator. */
nMoveMotion_Origin, /*!< \brief Number of motion origins. */
*MoveMotion_Origin; /*!< \brief Keeps track if we should move moment origin. */
vector<vector<vector<su2double> > > Aeroelastic_np1, /*!< \brief Aeroelastic solution at time level n+1. */
Aeroelastic_n, /*!< \brief Aeroelastic solution at time level n. */
Aeroelastic_n1; /*!< \brief Aeroelastic solution at time level n-1. */
su2double FlutterSpeedIndex, /*!< \brief The flutter speed index. */
PlungeNaturalFrequency, /*!< \brief Plunging natural frequency for Aeroelastic. */
PitchNaturalFrequency, /*!< \brief Pitch natural frequency for Aeroelastic. */
AirfoilMassRatio, /*!< \brief The airfoil mass ratio for Aeroelastic. */
CG_Location, /*!< \brief Center of gravity location for Aeroelastic. */
RadiusGyrationSquared; /*!< \brief The radius of gyration squared for Aeroelastic. */
su2double *Aeroelastic_plunge, /*!< \brief Value of plunging coordinate at the end of an external iteration. */
*Aeroelastic_pitch; /*!< \brief Value of pitching coordinate at the end of an external iteration. */
unsigned short AeroelasticIter; /*!< \brief Solve the aeroelastic equations every given number of internal iterations. */
unsigned short Gust_Type, /*!< \brief Type of Gust. */
Gust_Dir; /*!< \brief Direction of the gust */
su2double Gust_WaveLength, /*!< \brief The gust wavelength. */
Gust_Periods, /*!< \brief Number of gust periods. */
Gust_Ampl, /*!< \brief Gust amplitude. */
Gust_Begin_Time, /*!< \brief Time at which to begin the gust. */
Gust_Begin_Loc; /*!< \brief Location at which the gust begins. */