33 * \brief All the information about the definition of the physical problem.
44 * The subroutines and functions are in the <i>CConfig.cpp</i> file.
55 * \author F. Palacios, T. Economon, B. Tracey
6- * \version 8.0.1 "Harrier"
6+ * \version 8.1.0 "Harrier"
77 *
88 * SU2 Project Website: https://su2code.github.io
99 *
@@ -108,7 +108,6 @@ class CConfig {
108108 su2double Opt_RelaxFactor; /* !< \brief Scale factor for the line search. */
109109 su2double Opt_LineSearch_Bound; /* !< \brief Bounds for the line search. */
110110 su2double StartTime;
111- unsigned short SmoothNumGrid; /* !< \brief Smooth the numerical grid. */
112111 bool ContinuousAdjoint, /* !< \brief Flag to know if the code is solving an adjoint problem. */
113112 Viscous, /* !< \brief Flag to know if the code is solving a viscous problem. */
114113 EquivArea, /* !< \brief Flag to know if the code is going to compute and plot the equivalent area. */
@@ -237,6 +236,7 @@ class CConfig {
237236 *Marker_MixingPlaneInterface, /* !< \brief MixingPlane interface boundary markers. */
238237 *Marker_TurboBoundIn, /* !< \brief Turbomachinery performance boundary markers. */
239238 *Marker_TurboBoundOut, /* !< \brief Turbomachinery performance boundary donor markers. */
239+ *Marker_Turbomachinery, /* !< \breif Turbomachinery markers */
240240 *Marker_NearFieldBound, /* !< \brief Near Field boundaries markers. */
241241 *Marker_Deform_Mesh, /* !< \brief Deformable markers at the boundary. */
242242 *Marker_Deform_Mesh_Sym_Plane, /* !< \brief Marker with symmetric deformation. */
@@ -443,6 +443,7 @@ class CConfig {
443443
444444 TURBO_PERF_KIND *Kind_TurboPerf; /* !< \brief Kind of turbomachynery architecture.*/
445445 TURBOMACHINERY_TYPE *Kind_TurboMachinery;
446+ su2vector<TURBO_INTERFACE_KIND> Kind_TurboInterface;
446447
447448 /* Gradient smoothing options */
448449 su2double SmoothingEps1; /* !< \brief Parameter for the identity part in gradient smoothing. */
@@ -466,6 +467,7 @@ class CConfig {
466467 unsigned short * nDV_Value; /* !< \brief Number of values for each design variable (might be different than 1 if we allow arbitrary movement). */
467468 unsigned short nFFDBox; /* !< \brief Number of ffd boxes. */
468469 unsigned short nTurboMachineryKind; /* !< \brief Number turbomachinery types specified. */
470+ unsigned short nTurboInterfaces; /* !< \brief Number of turbomachiery interfaces */
469471 unsigned short nParamDV; /* !< \brief Number of parameters of the design variable. */
470472 string DV_Filename; /* !< \brief Filename for providing surface positions from an external parameterization. */
471473 string DV_Unordered_Sens_Filename; /* !< \brief Filename of volume sensitivities in an unordered ASCII format. */
@@ -697,6 +699,7 @@ class CConfig {
697699 unsigned long StartConv_Iter; /* !< \brief Start convergence criteria at iteration. */
698700 su2double Cauchy_Eps; /* !< \brief Epsilon used for the convergence. */
699701 bool Restart, /* !< \brief Restart solution (for direct, adjoint, and linearized problems).*/
702+ Wrt_Restart_Compact, /* !< \brief Write compact restart files with minimum nr. of variables. */
700703 Read_Binary_Restart, /* !< \brief Read binary SU2 native restart files.*/
701704 Wrt_Restart_Overwrite, /* !< \brief Overwrite restart files or append iteration number.*/
702705 Wrt_Surface_Overwrite, /* !< \brief Overwrite surface output files or append iteration number.*/
@@ -746,6 +749,7 @@ class CConfig {
746749 *Marker_All_Turbomachinery, /* !< \brief Global index for Turbomachinery markers using the grid information. */
747750 *Marker_All_TurbomachineryFlag, /* !< \brief Global index for Turbomachinery markers flag using the grid information. */
748751 *Marker_All_MixingPlaneInterface, /* !< \brief Global index for MixingPlane interface markers using the grid information. */
752+ *Marker_All_Giles, /* !< \brief Global index for Giles markers using the grid information. */
749753 *Marker_All_DV, /* !< \brief Global index for design variable markers using the grid information. */
750754 *Marker_All_Moving, /* !< \brief Global index for moving surfaces using the grid information. */
751755 *Marker_All_Deform_Mesh, /* !< \brief Global index for deformable markers at the boundary. */
@@ -763,6 +767,7 @@ class CConfig {
763767 *Marker_CfgFile_Turbomachinery, /* !< \brief Global index for Turbomachinery using the config information. */
764768 *Marker_CfgFile_TurbomachineryFlag, /* !< \brief Global index for Turbomachinery flag using the config information. */
765769 *Marker_CfgFile_MixingPlaneInterface, /* !< \brief Global index for MixingPlane interface using the config information. */
770+ *Marker_CfgFile_Giles, /* !< \brief Global index for Giles markers flag using the config information. */
766771 *Marker_CfgFile_Moving, /* !< \brief Global index for moving surfaces using the config information. */
767772 *Marker_CfgFile_Deform_Mesh, /* !< \brief Global index for deformable markers at the boundary. */
768773 *Marker_CfgFile_Deform_Mesh_Sym_Plane, /* !< \brief Global index for markers with symmetric deformations. */
@@ -799,6 +804,7 @@ class CConfig {
799804 nRefOriginMoment_Z; /* !< \brief Number of Z-coordinate moment computation origins. */
800805 unsigned short nMesh_Box_Size;
801806 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. */
807+ unsigned short Mesh_Box_PSolFEM; /* !< \brief FEM polynomial degree of the solution for the RECTANGLE and BOX grid formats. */
802808 string Mesh_FileName, /* !< \brief Mesh input file. */
803809 Mesh_Out_FileName, /* !< \brief Mesh output file. */
804810 Solution_FileName, /* !< \brief Flow solution input file. */
@@ -999,7 +1005,7 @@ class CConfig {
9991005 bool ExtraOutput; /* !< \brief Check if extra output need. */
10001006 bool Wall_Functions; /* !< \brief Use wall functions with the turbulence model */
10011007 long ExtraHeatOutputZone; /* !< \brief Heat solver zone with extra screen output */
1002- bool DeadLoad ; /* !< \brief Application of dead loads to the FE analysis */
1008+ bool CentrifugalForce ; /* !< \brief Application of centrifugal forces to the FE analysis */
10031009 bool PseudoStatic; /* !< \brief Application of dead loads to the FE analysis */
10041010 bool SteadyRestart; /* !< \brief Restart from a steady state for FSI problems. */
10051011 su2double Newmark_beta, /* !< \brief Parameter alpha for Newmark method. */
@@ -1008,10 +1014,13 @@ class CConfig {
10081014 su2double *Int_Coeffs; /* !< \brief Time integration coefficients for structural method. */
10091015 unsigned short nElasticityMod, /* !< \brief Number of different values for the elasticity modulus. */
10101016 nPoissonRatio, /* !< \brief Number of different values for the Poisson ratio modulus. */
1011- nMaterialDensity; /* !< \brief Number of different values for the Material density. */
1017+ nMaterialDensity, /* !< \brief Number of different values for the Material density. */
1018+ nMaterialThermalExpansion; /* !< \brief Number of different values for thermal expansion coefficient. */
10121019 su2double *ElasticityMod, /* !< \brief Value of the elasticity moduli. */
10131020 *PoissonRatio, /* !< \brief Value of the Poisson ratios. */
1014- *MaterialDensity; /* !< \brief Value of the Material densities. */
1021+ *MaterialDensity, /* !< \brief Value of the Material densities. */
1022+ *MaterialThermalExpansion, /* !< \brief Value of the thermal expansion coefficients. */
1023+ MaterialReferenceTemperature; /* !< \brief Value of the reference temperature for thermal expansion. */
10151024 unsigned short nElectric_Field, /* !< \brief Number of different values for the electric field in the membrane. */
10161025 nDim_Electric_Field; /* !< \brief Dimensionality of the problem. */
10171026 unsigned short nDim_RefNode; /* !< \brief Dimensionality of the vector . */
@@ -1104,7 +1113,7 @@ class CConfig {
11041113 bool Radiation; /* !< \brief Determines if a radiation model is incorporated. */
11051114 su2double CFL_Rad; /* !< \brief CFL Number for the radiation solver. */
11061115
1107- array<su2double,5 > default_cfl_adapt; /* !< \brief Default CFL adapt param array for the COption class. */
1116+ array<su2double,6 > default_cfl_adapt; /* !< \brief Default CFL adapt param array for the COption class. */
11081117 su2double vel_init[3 ], /* !< \brief initial velocity array for the COption class. */
11091118 vel_inf[3 ], /* !< \brief freestream velocity array for the COption class. */
11101119 eng_cyl[7 ], /* !< \brief engine box array for the COption class. */
@@ -1375,7 +1384,7 @@ class CConfig {
13751384 su2double** & RotCenter, su2double** & RotAngles, su2double** & Translation);
13761385
13771386 void addTurboPerfOption (const string & name, unsigned short & nMarker_TurboPerf,
1378- string* & Marker_TurboBoundIn, string* & Marker_TurboBoundOut);
1387+ string* & Marker_TurboBoundIn, string* & Marker_TurboBoundOut, string* & Marker_Turbomachinery );
13791388
13801389 void addActDiskOption (const string & name,
13811390 unsigned short & nMarker_ActDiskInlet, unsigned short & nMarker_ActDiskOutlet, string* & Marker_ActDiskInlet, string* & Marker_ActDiskOutlet,
@@ -2384,6 +2393,16 @@ class CConfig {
23842393 */
23852394 su2double GetMaterialDensity (unsigned short id_val) const { return MaterialDensity[id_val]; }
23862395
2396+ /* !
2397+ * \brief Get the thermal expansion coefficient.
2398+ */
2399+ su2double GetMaterialThermalExpansion (unsigned short id_val) const { return MaterialThermalExpansion[id_val]; }
2400+
2401+ /* !
2402+ * \brief Temperature at which there is no stress from thermal expansion.
2403+ */
2404+ su2double GetMaterialReferenceTemperature () const { return MaterialReferenceTemperature; }
2405+
23872406 /* !
23882407 * \brief Compressibility/incompressibility of the solids analysed using the structural solver.
23892408 * \return Compressible or incompressible.
@@ -3513,6 +3532,13 @@ class CConfig {
35133532 */
35143533 void SetMarker_All_MixingPlaneInterface (unsigned short val_marker, unsigned short val_mixpla_interface) { Marker_All_MixingPlaneInterface[val_marker] = val_mixpla_interface; }
35153534
3535+ /* !
3536+ * \brief Set if a marker <i>val_marker</i> is part of the Giles boundary (read from the config file).
3537+ * \param[in] val_marker - Index of the marker in which we are interested.
3538+ * \param[in] val_giles - 0 if not part of the Giles boundary or greater than 1 if it is part.
3539+ */
3540+ void SetMarker_All_Giles (unsigned short val_marker, unsigned short val_giles) { Marker_All_Giles[val_marker] = val_giles; }
3541+
35163542 /* !
35173543 * \brief Set if a marker <i>val_marker</i> is going to be affected by design variables <i>val_moving</i>
35183544 * (read from the config file).
@@ -3659,6 +3685,13 @@ class CConfig {
36593685 */
36603686 unsigned short GetMarker_All_TurbomachineryFlag (unsigned short val_marker) const { return Marker_All_TurbomachineryFlag[val_marker]; }
36613687
3688+ /* !
3689+ * \brief Get the Giles boundary information for a marker <i>val_marker</i>.
3690+ * \param[in] val_marker value of the marker on the grid.
3691+ * \return 0 if is not part of the MixingPlane Interface and greater than 1 if it is part.
3692+ */
3693+ unsigned short GetMarker_All_Giles (unsigned short val_marker) const { return Marker_All_Giles[val_marker]; }
3694+
36623695 /* !
36633696 * \brief Get the number of FSI interface markers <i>val_marker</i>.
36643697 * \param[in] void.
@@ -5335,6 +5368,12 @@ class CConfig {
53355368 */
53365369 TURBO_PERF_KIND GetKind_TurboPerf (unsigned short val_iZone) const { return Kind_TurboPerf[val_iZone]; };
53375370
5371+ /* !
5372+ * \brief gets interface kind for an interface marker in turbomachinery problem
5373+ * \return interface kind
5374+ */
5375+ TURBO_INTERFACE_KIND GetKind_TurboInterface (unsigned short interfaceIndex) const { return Kind_TurboInterface[interfaceIndex]; }
5376+
53385377 /* !
53395378 * \brief get outlet bounds name for Turbomachinery performance calculation.
53405379 * \return name of the bound.
@@ -5465,6 +5504,12 @@ class CConfig {
54655504 */
54665505 bool GetRead_Binary_Restart (void ) const { return Read_Binary_Restart; }
54675506
5507+ /* !
5508+ * \brief Flag for whether restart files contain only necessary variables.
5509+ * \return Flag <code>TRUE</code> then the code will write compact restart files.
5510+ */
5511+ bool GetWrt_Restart_Compact (void ) const { return Wrt_Restart_Compact; }
5512+
54685513 /* !
54695514 * \brief Flag for whether restart solution files are overwritten.
54705515 * \return Flag for overwriting. If Flag=false, iteration nr is appended to filename
@@ -6293,12 +6338,6 @@ class CConfig {
62936338 */
62946339 bool GetAxisymmetric (void ) const { return Axisymmetric; }
62956340
6296- /* !
6297- * \brief Get information about there is a smoothing of the grid coordinates.
6298- * \return <code>TRUE</code> if there is smoothing of the grid coordinates; otherwise <code>FALSE</code>.
6299- */
6300- unsigned short GetSmoothNumGrid (void ) const { return SmoothNumGrid; }
6301-
63026341 /* !
63036342 * \brief Subtract one to the index of the finest grid (full multigrid strategy).
63046343 * \return Change the index of the finest grid.
@@ -6398,6 +6437,12 @@ class CConfig {
63986437 */
63996438 unsigned short GetMarker_CfgFile_MixingPlaneInterface (const string& val_marker) const ;
64006439
6440+ /* !
6441+ * \brief Get the Giles boundary information from the config definition for the marker <i>val_marker</i>.
6442+ * \return Plotting information of the boundary in the config information for the marker <i>val_marker</i>.
6443+ */
6444+ unsigned short GetMarker_CfgFile_Giles (const string& val_marker) const ;
6445+
64016446 /* !
64026447 * \brief Get the DV information from the config definition for the marker <i>val_marker</i>.
64036448 * \return DV information of the boundary in the config information for the marker <i>val_marker</i>.
@@ -8898,10 +8943,9 @@ class CConfig {
88988943 su2double GetAitkenDynMinInit (void ) const { return AitkenDynMinInit; }
88998944
89008945 /* !
8901- * \brief Decide whether to apply dead loads to the model.
8902- * \return <code>TRUE</code> if the dead loads are to be applied, <code>FALSE</code> otherwise.
8946+ * \brief Decide whether to apply centrifugal forces to the model.
89038947 */
8904- bool GetDeadLoad (void ) const { return DeadLoad ; }
8948+ bool GetCentrifugalForce (void ) const { return CentrifugalForce ; }
89058949
89068950 /* !
89078951 * \brief Identifies if the mesh is matching or not (temporary, while implementing interpolation procedures).
@@ -9563,6 +9607,12 @@ class CConfig {
95639607 */
95649608 su2double GetMeshBoxOffset (unsigned short val_iDim) const { return mesh_box_offset[val_iDim]; }
95659609
9610+ /* !
9611+ * \brief Get the polynomial degree of the FEM solution for the analytic RECTANGLE or BOX.
9612+ * \return The polynomial degree of the FEM solution.
9613+ */
9614+ unsigned short GetMeshBoxPSolFEM (void ) const { return Mesh_Box_PSolFEM; }
9615+
95669616 /* !
95679617 * \brief Get the number of screen output variables requested (maximum 6)
95689618 */
0 commit comments