@@ -71,7 +71,6 @@ class CConfig {
7171 unsigned short Kind_PerformanceAverageProcess; /* !< \brief Kind of mixing process.*/
7272 unsigned short Kind_MixingPlaneInterface; /* !< \brief Kind of mixing process.*/
7373 unsigned short Kind_SpanWise; /* !< \brief Kind of span-wise section computation.*/
74- unsigned short *Kind_TurboMachinery; /* !< \brief Kind of turbomachynery architecture.*/
7574 unsigned short iZone, nZone; /* !< \brief Number of zones in the mesh. */
7675 unsigned short nZoneSpecified; /* !< \brief Number of zones that are specified in config file. */
7776 su2double Highlite_Area; /* !< \brief Highlite area. */
@@ -435,6 +434,9 @@ class CConfig {
435434 Max_DeltaTime, /* !< \brief Max delta time. */
436435 Unst_CFL; /* !< \brief Unsteady CFL number. */
437436
437+ TURBO_PERF_KIND *Kind_TurboPerf; /* !< \brief Kind of turbomachynery architecture.*/
438+ TURBOMACHINERY_TYPE *Kind_TurboMachinery;
439+
438440 /* Gradient smoothing options */
439441 su2double SmoothingEps1; /* !< \brief Parameter for the identity part in gradient smoothing. */
440442 su2double SmoothingEps2; /* !< \brief Parameter for the Laplace part in gradient smoothing. */
@@ -1173,6 +1175,7 @@ class CConfig {
11731175 string caseName; /* !< \brief Name of the current case */
11741176
11751177 unsigned long edgeColorGroupSize; /* !< \brief Size of the edge groups colored for OpenMP parallelization of edge loops. */
1178+ bool edgeColoringRelaxDiscAdj; /* !< \brief Allow fallback to smaller edge color group sizes and use more colors for the discrete adjoint. */
11761179
11771180 INLET_SPANWISE_INTERP Kind_InletInterpolationFunction; /* !brief type of spanwise interpolation function to use for the inlet face. */
11781181 INLET_INTERP_TYPE Kind_Inlet_InterpolationType; /* !brief type of spanwise interpolation data to use for the inlet face. */
@@ -5117,7 +5120,7 @@ class CConfig {
51175120 * \brief Get the kind of turbomachinery architecture.
51185121 * \return Kind of turbomachinery architecture.
51195122 */
5120- unsigned short GetKind_TurboMachinery (unsigned short val_iZone) const { return Kind_TurboMachinery[val_iZone]; }
5123+ TURBOMACHINERY_TYPE GetKind_TurboMachinery (unsigned short val_iZone) const { return Kind_TurboMachinery[val_iZone]; }
51215124
51225125 /* !
51235126 * \brief Get the kind of turbomachinery architecture.
@@ -5232,7 +5235,7 @@ class CConfig {
52325235 void SetnSpanWiseSections (unsigned short nSpan) { nSpanWiseSections = nSpan;}
52335236
52345237 /* !
5235- * \brief set number span-wise sections to compute 3D BC and performance for turbomachinery.
5238+ * \brief get number span-wise sections to compute 3D BC and performance for turbomachinery.
52365239 */
52375240 unsigned short GetnSpan_iZones (unsigned short iZone) const { return nSpan_iZones[iZone];}
52385241
@@ -5257,7 +5260,7 @@ class CConfig {
52575260 * \brief get marker kind for Turbomachinery performance calculation.
52585261 * \return kind index.
52595262 */
5260- unsigned short GetKind_TurboPerf (unsigned short index) ;
5263+ TURBO_PERF_KIND GetKind_TurboPerf (unsigned short val_iZone) const { return Kind_TurboPerf[val_iZone]; } ;
52615264
52625265 /* !
52635266 * \brief get outlet bounds name for Turbomachinery performance calculation.
@@ -5910,6 +5913,15 @@ class CConfig {
59105913 */
59115914 su2double GetMarkerTranslationRate (unsigned short iMarkerMoving, unsigned short iDim) const { return MarkerTranslation_Rate[3 *iMarkerMoving + iDim];}
59125915
5916+ /* !
5917+ * \brief Set the translation rate of the marker.
5918+ * \param[in] iDim - spatial component
5919+ * \param[in] val - translational velocity
5920+ */
5921+ void SetMarkerTranslationRate (unsigned short iMarkerMoving, unsigned short iDim, su2double val) {
5922+ MarkerTranslation_Rate[3 * iMarkerMoving + iDim] = val;
5923+ }
5924+
59135925 /* !
59145926 * \brief Get the rotation rate of the mesh.
59155927 * \param[in] iDim - spatial component
@@ -5933,6 +5945,16 @@ class CConfig {
59335945 */
59345946 su2double GetMarkerRotationRate (unsigned short iMarkerMoving, unsigned short iDim) const { return MarkerRotation_Rate[3 *iMarkerMoving + iDim];}
59355947
5948+ /* !
5949+ * \brief Set the rotation rate of the marker.
5950+ * \param[in] iMarkerMoving - Index of the moving marker (as specified in Marker_Moving)
5951+ * \param[in] iDim - spatial component
5952+ * \param[in] val - Rotational velocity
5953+ */
5954+ void SetMarkerRotationRate (unsigned short iMarkerMoving, unsigned short iDim, su2double val) {
5955+ MarkerRotation_Rate[3 * iMarkerMoving + iDim] = val;
5956+ }
5957+
59365958 /* !
59375959 * \brief Get the pitching rate of the mesh.
59385960 * \param[in] iDim - spatial component
@@ -9641,6 +9663,11 @@ class CConfig {
96419663 */
96429664 unsigned long GetEdgeColoringGroupSize (void ) const { return edgeColorGroupSize; }
96439665
9666+ /* !
9667+ * \brief Check if the discrete adjoint is allowed to relax the coloring, that is, allow smaller edge color group sizes and allow more colors.
9668+ */
9669+ bool GetEdgeColoringRelaxDiscAdj () const { return edgeColoringRelaxDiscAdj; }
9670+
96449671 /* !
96459672 * \brief Get the ParMETIS load balancing tolerance.
96469673 */
0 commit comments