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 *
@@ -138,6 +138,7 @@ class CConfig {
138138 su2double Buffet_lambda; /* !< \brief Offset parameter for buffet sensor.*/
139139 su2double Damp_Engine_Inflow; /* !< \brief Damping factor for the engine inlet. */
140140 su2double Damp_Engine_Exhaust; /* !< \brief Damping factor for the engine exhaust. */
141+ unsigned long Bc_Eval_Freq; /* !< \brief Evaluation frequency for Engine and Actuator disk markers. */
141142 su2double Damp_Res_Restric, /* !< \brief Damping factor for the residual restriction. */
142143 Damp_Correc_Prolong; /* !< \brief Damping factor for the correction prolongation. */
143144 su2double Position_Plane; /* !< \brief Position of the Near-Field (y coordinate 2D, and z coordinate 3D). */
@@ -192,6 +193,7 @@ class CConfig {
192193 nMarker_Fluid_Load, /* !< \brief Number of markers in which the flow load is computed/employed. */
193194 nMarker_Fluid_InterfaceBound, /* !< \brief Number of fluid interface markers. */
194195 nMarker_CHTInterface, /* !< \brief Number of conjugate heat transfer interface markers. */
196+ nMarker_ContactResistance, /* !< \brief Number of CHT interfaces with contact resistance. */
195197 nMarker_Inlet, /* !< \brief Number of inlet flow markers. */
196198 nMarker_Inlet_Species, /* !< \brief Number of inlet species markers. */
197199 nSpecies_per_Inlet, /* !< \brief Number of species defined per inlet markers. */
@@ -235,6 +237,7 @@ class CConfig {
235237 *Marker_MixingPlaneInterface, /* !< \brief MixingPlane interface boundary markers. */
236238 *Marker_TurboBoundIn, /* !< \brief Turbomachinery performance boundary markers. */
237239 *Marker_TurboBoundOut, /* !< \brief Turbomachinery performance boundary donor markers. */
240+ *Marker_Turbomachinery, /* !< \breif Turbomachinery markers */
238241 *Marker_NearFieldBound, /* !< \brief Near Field boundaries markers. */
239242 *Marker_Deform_Mesh, /* !< \brief Deformable markers at the boundary. */
240243 *Marker_Deform_Mesh_Sym_Plane, /* !< \brief Marker with symmetric deformation. */
@@ -396,6 +399,7 @@ class CConfig {
396399 su2double **Periodic_RotCenter; /* !< \brief Rotational center for each periodic boundary. */
397400 su2double **Periodic_RotAngles; /* !< \brief Rotation angles for each periodic boundary. */
398401 su2double **Periodic_Translation; /* !< \brief Translation vector for each periodic boundary. */
402+ su2double *CHT_ContactResistance; /* !< \brief Contact resistance values for each solid-solid CHT interface. */
399403 string *Marker_CfgFile_TagBound; /* !< \brief Global index for markers using config file. */
400404 unsigned short *Marker_All_KindBC, /* !< \brief Global index for boundaries using grid information. */
401405 *Marker_CfgFile_KindBC; /* !< \brief Global index for boundaries using config file. */
@@ -440,6 +444,7 @@ class CConfig {
440444
441445 TURBO_PERF_KIND *Kind_TurboPerf; /* !< \brief Kind of turbomachynery architecture.*/
442446 TURBOMACHINERY_TYPE *Kind_TurboMachinery;
447+ su2vector<TURBO_INTERFACE_KIND> Kind_TurboInterface;
443448
444449 /* Gradient smoothing options */
445450 su2double SmoothingEps1; /* !< \brief Parameter for the identity part in gradient smoothing. */
@@ -463,6 +468,7 @@ class CConfig {
463468 unsigned short * nDV_Value; /* !< \brief Number of values for each design variable (might be different than 1 if we allow arbitrary movement). */
464469 unsigned short nFFDBox; /* !< \brief Number of ffd boxes. */
465470 unsigned short nTurboMachineryKind; /* !< \brief Number turbomachinery types specified. */
471+ unsigned short nTurboInterfaces; /* !< \brief Number of turbomachiery interfaces */
466472 unsigned short nParamDV; /* !< \brief Number of parameters of the design variable. */
467473 string DV_Filename; /* !< \brief Filename for providing surface positions from an external parameterization. */
468474 string DV_Unordered_Sens_Filename; /* !< \brief Filename of volume sensitivities in an unordered ASCII format. */
@@ -589,6 +595,7 @@ class CConfig {
589595 bool EulerPersson; /* !< \brief Boolean to determine whether this is an Euler simulation with Persson shock capturing. */
590596 bool FSI_Problem = false ,/* !< \brief Boolean to determine whether the simulation is FSI or not. */
591597 Multizone_Problem; /* !< \brief Boolean to determine whether we are solving a multizone problem. */
598+ // bool ContactResistance = false; /*!< \brief Apply contact resistance for conjugate heat transfer. */
592599 unsigned short nID_DV; /* !< \brief ID for the region of FEM when computed using direct differentiation. */
593600
594601 bool AD_Mode; /* !< \brief Algorithmic Differentiation support. */
@@ -742,6 +749,7 @@ class CConfig {
742749 *Marker_All_Turbomachinery, /* !< \brief Global index for Turbomachinery markers using the grid information. */
743750 *Marker_All_TurbomachineryFlag, /* !< \brief Global index for Turbomachinery markers flag using the grid information. */
744751 *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. */
745753 *Marker_All_DV, /* !< \brief Global index for design variable markers using the grid information. */
746754 *Marker_All_Moving, /* !< \brief Global index for moving surfaces using the grid information. */
747755 *Marker_All_Deform_Mesh, /* !< \brief Global index for deformable markers at the boundary. */
@@ -759,6 +767,7 @@ class CConfig {
759767 *Marker_CfgFile_Turbomachinery, /* !< \brief Global index for Turbomachinery using the config information. */
760768 *Marker_CfgFile_TurbomachineryFlag, /* !< \brief Global index for Turbomachinery flag using the config information. */
761769 *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. */
762771 *Marker_CfgFile_Moving, /* !< \brief Global index for moving surfaces using the config information. */
763772 *Marker_CfgFile_Deform_Mesh, /* !< \brief Global index for deformable markers at the boundary. */
764773 *Marker_CfgFile_Deform_Mesh_Sym_Plane, /* !< \brief Global index for markers with symmetric deformations. */
@@ -995,7 +1004,7 @@ class CConfig {
9951004 bool ExtraOutput; /* !< \brief Check if extra output need. */
9961005 bool Wall_Functions; /* !< \brief Use wall functions with the turbulence model */
9971006 long ExtraHeatOutputZone; /* !< \brief Heat solver zone with extra screen output */
998- bool DeadLoad ; /* !< \brief Application of dead loads to the FE analysis */
1007+ bool CentrifugalForce ; /* !< \brief Application of centrifugal forces to the FE analysis */
9991008 bool PseudoStatic; /* !< \brief Application of dead loads to the FE analysis */
10001009 bool SteadyRestart; /* !< \brief Restart from a steady state for FSI problems. */
10011010 su2double Newmark_beta, /* !< \brief Parameter alpha for Newmark method. */
@@ -1004,10 +1013,13 @@ class CConfig {
10041013 su2double *Int_Coeffs; /* !< \brief Time integration coefficients for structural method. */
10051014 unsigned short nElasticityMod, /* !< \brief Number of different values for the elasticity modulus. */
10061015 nPoissonRatio, /* !< \brief Number of different values for the Poisson ratio modulus. */
1007- nMaterialDensity; /* !< \brief Number of different values for the Material density. */
1016+ nMaterialDensity, /* !< \brief Number of different values for the Material density. */
1017+ nMaterialThermalExpansion; /* !< \brief Number of different values for thermal expansion coefficient. */
10081018 su2double *ElasticityMod, /* !< \brief Value of the elasticity moduli. */
10091019 *PoissonRatio, /* !< \brief Value of the Poisson ratios. */
1010- *MaterialDensity; /* !< \brief Value of the Material densities. */
1020+ *MaterialDensity, /* !< \brief Value of the Material densities. */
1021+ *MaterialThermalExpansion, /* !< \brief Value of the thermal expansion coefficients. */
1022+ MaterialReferenceTemperature; /* !< \brief Value of the reference temperature for thermal expansion. */
10111023 unsigned short nElectric_Field, /* !< \brief Number of different values for the electric field in the membrane. */
10121024 nDim_Electric_Field; /* !< \brief Dimensionality of the problem. */
10131025 unsigned short nDim_RefNode; /* !< \brief Dimensionality of the vector . */
@@ -1101,7 +1113,7 @@ class CConfig {
11011113 bool Radiation; /* !< \brief Determines if a radiation model is incorporated. */
11021114 su2double CFL_Rad; /* !< \brief CFL Number for the radiation solver. */
11031115
1104- 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. */
11051117 su2double vel_init[3 ], /* !< \brief initial velocity array for the COption class. */
11061118 vel_inf[3 ], /* !< \brief freestream velocity array for the COption class. */
11071119 eng_cyl[7 ], /* !< \brief engine box array for the COption class. */
@@ -1372,7 +1384,7 @@ class CConfig {
13721384 su2double** & RotCenter, su2double** & RotAngles, su2double** & Translation);
13731385
13741386 void addTurboPerfOption (const string & name, unsigned short & nMarker_TurboPerf,
1375- string* & Marker_TurboBoundIn, string* & Marker_TurboBoundOut);
1387+ string* & Marker_TurboBoundIn, string* & Marker_TurboBoundOut, string* & Marker_Turbomachinery );
13761388
13771389 void addActDiskOption (const string & name,
13781390 unsigned short & nMarker_ActDiskInlet, unsigned short & nMarker_ActDiskOutlet, string* & Marker_ActDiskInlet, string* & Marker_ActDiskOutlet,
@@ -2381,6 +2393,16 @@ class CConfig {
23812393 */
23822394 su2double GetMaterialDensity (unsigned short id_val) const { return MaterialDensity[id_val]; }
23832395
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+
23842406 /* !
23852407 * \brief Compressibility/incompressibility of the solids analysed using the structural solver.
23862408 * \return Compressible or incompressible.
@@ -3510,6 +3532,13 @@ class CConfig {
35103532 */
35113533 void SetMarker_All_MixingPlaneInterface (unsigned short val_marker, unsigned short val_mixpla_interface) { Marker_All_MixingPlaneInterface[val_marker] = val_mixpla_interface; }
35123534
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+
35133542 /* !
35143543 * \brief Set if a marker <i>val_marker</i> is going to be affected by design variables <i>val_moving</i>
35153544 * (read from the config file).
@@ -3656,13 +3685,27 @@ class CConfig {
36563685 */
36573686 unsigned short GetMarker_All_TurbomachineryFlag (unsigned short val_marker) const { return Marker_All_TurbomachineryFlag[val_marker]; }
36583687
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+
36593695 /* !
36603696 * \brief Get the number of FSI interface markers <i>val_marker</i>.
36613697 * \param[in] void.
36623698 * \return Number of markers belonging to the FSI interface.
36633699 */
36643700 unsigned short GetMarker_n_ZoneInterface (void ) const { return nMarker_ZoneInterface; }
36653701
3702+ /* !
3703+ * \brief Get the contact resistance value of a specified interface.
3704+ * \param[in] val_interface interface index.
3705+ * \return Contact resistance value (zero by default).
3706+ */
3707+ su2double GetContactResistance (unsigned short val_interface) const { return (nMarker_ContactResistance > 0 ) ? CHT_ContactResistance[val_interface] : 0.0 ; }
3708+
36663709 /* !
36673710 * \brief Get the DV information for a marker <i>val_marker</i>.
36683711 * \param[in] val_marker - 0 or 1 depending if the the marker is going to be affected by design variables.
@@ -5325,6 +5368,12 @@ class CConfig {
53255368 */
53265369 TURBO_PERF_KIND GetKind_TurboPerf (unsigned short val_iZone) const { return Kind_TurboPerf[val_iZone]; };
53275370
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+
53285377 /* !
53295378 * \brief get outlet bounds name for Turbomachinery performance calculation.
53305379 * \return name of the bound.
@@ -6388,6 +6437,12 @@ class CConfig {
63886437 */
63896438 unsigned short GetMarker_CfgFile_MixingPlaneInterface (const string& val_marker) const ;
63906439
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+
63916446 /* !
63926447 * \brief Get the DV information from the config definition for the marker <i>val_marker</i>.
63936448 * \return DV information of the boundary in the config information for the marker <i>val_marker</i>.
@@ -6506,6 +6561,12 @@ class CConfig {
65066561 */
65076562 su2double GetMinLogResidual (void ) const { return MinLogResidual; }
65086563
6564+ /* !
6565+ * \brief Evaluation frequency for Engine and Actuator disk markers.
6566+ * \return Value Evaluation frequency .
6567+ */
6568+ unsigned long GetBc_Eval_Freq (void ) const { return Bc_Eval_Freq; }
6569+
65096570 /* !
65106571 * \brief Value of the damping factor for the engine inlet bc.
65116572 * \return Value of the damping factor.
@@ -8888,10 +8949,9 @@ class CConfig {
88888949 su2double GetAitkenDynMinInit (void ) const { return AitkenDynMinInit; }
88898950
88908951 /* !
8891- * \brief Decide whether to apply dead loads to the model.
8892- * \return <code>TRUE</code> if the dead loads are to be applied, <code>FALSE</code> otherwise.
8952+ * \brief Decide whether to apply centrifugal forces to the model.
88938953 */
8894- bool GetDeadLoad (void ) const { return DeadLoad ; }
8954+ bool GetCentrifugalForce (void ) const { return CentrifugalForce ; }
88958955
88968956 /* !
88978957 * \brief Identifies if the mesh is matching or not (temporary, while implementing interpolation procedures).
0 commit comments