@@ -93,7 +93,7 @@ class CConfig {
9393 bool MG_AdjointFlow; /* !< \brief MG with the adjoint flow problem */
9494 su2double *PressureLimits,
9595 *DensityLimits,
96- * TemperatureLimits; /* !< \brief Limits for the primitive variables */
96+ TemperatureLimits[ 2 ]; /* !< \brief Limits for the primitive variables */
9797 bool ActDisk_DoubleSurface; /* !< \brief actuator disk double surface */
9898 bool Engine_HalfModel; /* !< \brief only half model is in the computational grid */
9999 bool ActDisk_SU2_DEF; /* !< \brief actuator disk double surface */
@@ -431,7 +431,8 @@ class CConfig {
431431 bool UseVectorization; /* !< \brief Whether to use vectorized numerics schemes. */
432432 bool NewtonKrylov; /* !< \brief Use a coupled Newton method to solve the flow equations. */
433433 array<unsigned short ,3 > NK_IntParam{{20 , 3 , 2 }}; /* !< \brief Integer parameters for NK method. */
434- array<su2double,4 > NK_DblParam{{-2.0 , 0.1 , -3.0 , 1e-4 }}; /* !< \brief Floating-point parameters for NK method. */
434+ array<su2double,5 > NK_DblParam{{-2.0 , 0.1 , -3.0 , 1e-4 , 1.0 }}; /* !< \brief Floating-point parameters for NK method. */
435+ su2double NK_Relaxation = 1.0 ;
435436
436437 unsigned short nMGLevels; /* !< \brief Number of multigrid levels (coarse levels). */
437438 unsigned short nCFL; /* !< \brief Number of CFL, one for each multigrid level. */
@@ -899,6 +900,8 @@ class CConfig {
899900 ModVel_FreeStreamND, /* !< \brief Non-dimensional magnitude of the free-stream velocity of the fluid. */
900901 Density_FreeStream, /* !< \brief Free-stream density of the fluid. */
901902 Viscosity_FreeStream, /* !< \brief Free-stream viscosity of the fluid. */
903+ ThermalConductivity_FreeStream, /* !< \brief Free-stream thermal conductivity of the fluid. */
904+ SpecificHeatCp_FreeStream, /* !< \brief Free-stream specific heat capacity at constant pressure of the fluid. */
902905 Tke_FreeStream, /* !< \brief Total turbulent kinetic energy of the fluid. */
903906 Intermittency_FreeStream, /* !< \brief Freestream intermittency (for sagt transition model) of the fluid. */
904907 ReThetaT_FreeStream, /* !< \brief Freestream Transition Momentum Thickness Reynolds Number (for LM transition model) of the fluid. */
@@ -940,6 +943,8 @@ class CConfig {
940943 Velocity_FreeStreamND[3 ], /* !< \brief Farfield velocity values (external flow). */
941944 Energy_FreeStreamND, /* !< \brief Farfield energy value (external flow). */
942945 Viscosity_FreeStreamND, /* !< \brief Farfield viscosity value (external flow). */
946+ ThermalConductivity_FreeStreamND, /* !< \brief Farfield thermal conductivity value (external flow). */
947+ SpecificHeatCp_FreeStreamND, /* !< \brief Farfield specific heat capacity at constant pressure value (external flow). */
943948 Tke_FreeStreamND, /* !< \brief Farfield kinetic energy (external flow). */
944949 Omega_FreeStreamND, /* !< \brief Specific dissipation (external flow). */
945950 Omega_FreeStream; /* !< \brief Specific dissipation (external flow). */
@@ -1328,9 +1333,9 @@ class CConfig {
13281333 template <class Tenum , class Tfield >
13291334 void addEnumListOption (const string name, unsigned short & input_size, Tfield*& option_field, const map<string,Tenum>& enum_map);
13301335
1331- void addDoubleArrayOption (const string& name, const int size, su2double* option_field);
1336+ void addDoubleArrayOption (const string& name, int size, bool allow_fewer , su2double* option_field);
13321337
1333- void addUShortArrayOption (const string& name, const int size, unsigned short * option_field);
1338+ void addUShortArrayOption (const string& name, int size, bool allow_fewer , unsigned short * option_field);
13341339
13351340 void addDoubleListOption (const string& name, unsigned short & size, su2double * & option_field);
13361341
@@ -1760,6 +1765,18 @@ class CConfig {
17601765 */
17611766 su2double GetViscosity_FreeStream (void ) const { return Viscosity_FreeStream; }
17621767
1768+ /* !
1769+ * \brief Get the value of the freestream thermal conductivity.
1770+ * \return Freestream thermal conductivity.
1771+ */
1772+ su2double GetThermalConductivity_FreeStream (void ) const { return ThermalConductivity_FreeStream; }
1773+
1774+ /* !
1775+ * \brief Get the value of the freestream heat capacity at constant pressure.
1776+ * \return Freestream heat capacity at constant pressure.
1777+ */
1778+ su2double GetSpecificHeatCp_FreeStream (void ) const { return SpecificHeatCp_FreeStream; }
1779+
17631780 /* !
17641781 * \brief Get the value of the freestream density.
17651782 * \return Freestream density.
@@ -1991,6 +2008,18 @@ class CConfig {
19912008 */
19922009 su2double GetViscosity_FreeStreamND (void ) const { return Viscosity_FreeStreamND; }
19932010
2011+ /* !
2012+ * \brief Get the value of the non-dimensionalized freestream thermal conductivity.
2013+ * \return Non-dimensionalized freestream thermal conductivity.
2014+ */
2015+ su2double GetThermalConductivity_FreeStreamND (void ) const { return ThermalConductivity_FreeStreamND; }
2016+
2017+ /* !
2018+ * \brief Get the value of the non-dimensionalized freestream heat capacity at constant pressure.
2019+ * \return Non-dimensionalized freestream heat capacity at constant pressure.
2020+ */
2021+ su2double GetSpecificHeatCp_FreeStreamND (void ) const { return SpecificHeatCp_FreeStreamND; }
2022+
19942023 /* !
19952024 * \brief Get the value of the non-dimensionalized freestream viscosity.
19962025 * \return Non-dimensionalized freestream viscosity.
@@ -2155,6 +2184,12 @@ class CConfig {
21552184 */
21562185 su2double GetInc_Temperature_Init (void ) const { return Inc_Temperature_Init; }
21572186
2187+ /* !
2188+ * \brief Get Temperature limits for incompressible flows.
2189+ * \return Temperature limits minimum and maximum values.
2190+ */
2191+ su2double GetTemperatureLimits (int iVar) const { return TemperatureLimits[iVar]; }
2192+
21582193 /* !
21592194 * \brief Get the flag for activating species transport clipping.
21602195 * \return Flag for species clipping.
@@ -2610,6 +2645,18 @@ class CConfig {
26102645 */
26112646 void SetViscosity_FreeStream (su2double val_viscosity_freestream) { Viscosity_FreeStream = val_viscosity_freestream; }
26122647
2648+ /* !
2649+ * \brief Set the freestream thermal conductivity.
2650+ * \param[in] val_thermalconductivity_freestream - Value of the freestream thermal conductivity.
2651+ */
2652+ void SetThermalConductivity_FreeStream (su2double val_thermalconductivity_freestream) { ThermalConductivity_FreeStream = val_thermalconductivity_freestream; }
2653+
2654+ /* !
2655+ * \brief Set the freestream specific heat capacity at constant pressure.
2656+ * \param[in] val_specificheatCp_freestream - Value of the freestream specific heat capacity at constant pressure.
2657+ */
2658+ void SetSpecificHeatCp_FreeStream (su2double val_specificheatCp_freestream) { SpecificHeatCp_FreeStream = val_specificheatCp_freestream; }
2659+
26132660 /* !
26142661 * \brief Set the magnitude of the free-stream velocity.
26152662 * \param[in] val_modvel_freestream - Magnitude of the free-stream velocity.
@@ -2672,6 +2719,18 @@ class CConfig {
26722719 */
26732720 void SetViscosity_FreeStreamND (su2double val_viscosity_freestreamnd) { Viscosity_FreeStreamND = val_viscosity_freestreamnd; }
26742721
2722+ /* !
2723+ * \brief Set the non-dimensional free-stream thermal conductivity.
2724+ * \param[in] val_thermalconductivity_freestreamnd - Value of the non-dimensional free-stream thermal conductivity.
2725+ */
2726+ void SetThermalConductivity_FreeStreamND (su2double val_thermalconductivity_freestreamnd) { ThermalConductivity_FreeStreamND = val_thermalconductivity_freestreamnd; }
2727+
2728+ /* !
2729+ * \brief Set the non-dimensional free-stream specific heat capacity at constant pressure.
2730+ * \param[in] val_specificheatCp_freestreamnd - Value of the non-dimensional free-stream specific heat capacity at constant pressure.
2731+ */
2732+ void SetSpecificHeatCp_FreeStreamND (su2double val_specificheatCp_freestreamnd) { SpecificHeatCp_FreeStreamND = val_specificheatCp_freestreamnd; }
2733+
26752734 /* !
26762735 * \brief Set the non-dimensional freestream turbulent kinetic energy.
26772736 * \param[in] val_tke_freestreamnd - Value of the non-dimensional freestream turbulent kinetic energy.
@@ -4317,12 +4376,22 @@ class CConfig {
43174376 /* !
43184377 * \brief Get Newton-Krylov integer parameters.
43194378 */
4320- array<unsigned short ,3 > GetNewtonKrylovIntParam (void ) const { return NK_IntParam; }
4379+ array<unsigned short ,3 > GetNewtonKrylovIntParam () const { return NK_IntParam; }
43214380
43224381 /* !
43234382 * \brief Get Newton-Krylov floating-point parameters.
43244383 */
4325- array<su2double,4 > GetNewtonKrylovDblParam (void ) const { return NK_DblParam; }
4384+ array<su2double,5 > GetNewtonKrylovDblParam () const { return NK_DblParam; }
4385+
4386+ /* !
4387+ * \brief Get the Newton-Krylov relaxation.
4388+ */
4389+ su2double GetNewtonKrylovRelaxation () const { return NK_Relaxation; }
4390+
4391+ /* !
4392+ * \brief Set the Newton-Krylov relaxation.
4393+ */
4394+ void SetNewtonKrylovRelaxation (const su2double& relaxation) { NK_Relaxation = relaxation; }
43264395
43274396 /* !
43284397 * \brief Returns the Roe kappa (multipler of the dissipation term).
0 commit comments