diff --git a/Common/include/CConfig.hpp b/Common/include/CConfig.hpp
index b85042d14ac4..9682fd95ad3e 100644
--- a/Common/include/CConfig.hpp
+++ b/Common/include/CConfig.hpp
@@ -141,8 +141,7 @@ class CConfig {
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.*/
- Buffet_Monitoring; /*!< \brief Flag for computing the buffet sensor.*/
+ 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. */
@@ -5034,11 +5033,6 @@ class CConfig {
*/
unsigned short GetKind_ObjFunc(unsigned short val_obj = 0) const { return Kind_ObjFunc[val_obj]; }
- /*!
- * \brief Similar to GetKind_ObjFunc but returns the corresponding string.
- */
- string GetName_ObjFunc(unsigned short val_obj = 0) const;
-
/*!
* \author H. Kline
* \brief Get the weight of objective function. There are several options: Drag coefficient,
@@ -5867,12 +5861,6 @@ class CConfig {
*/
unsigned short GetDesign_Variable(unsigned short val_dv) const { return Design_Variable[val_dv]; }
- /*!
- * \brief Provides the buffet monitoring information.
- * \return Buffet monitoring information, if TRUE then the code will compute the buffet sensor.
- */
- bool GetBuffet_Monitoring(void) const { return Buffet_Monitoring; }
-
/*!
* \brief Get the buffet sensor sharpness coefficient.
* \return Sharpness coefficient for buffet sensor.
diff --git a/Common/include/option_structure.hpp b/Common/include/option_structure.hpp
index 461df39ee198..c69c5f5d44ca 100644
--- a/Common/include/option_structure.hpp
+++ b/Common/include/option_structure.hpp
@@ -1485,7 +1485,7 @@ enum ENUM_OBJECTIVE {
INVERSE_DESIGN_HEATFLUX = 6, /*!< \brief Heat flux objective function definition (inverse design). */
TOTAL_HEATFLUX = 7, /*!< \brief Total heat flux. */
MAXIMUM_HEATFLUX = 8, /*!< \brief Maximum heat flux. */
- TOTAL_AVG_TEMPERATURE = 70, /*!< \brief Total averaged temperature. */
+ AVG_TEMPERATURE = 70, /*!< \brief Total averaged temperature. */
MOMENT_X_COEFFICIENT = 9, /*!< \brief Pitching moment objective function definition. */
MOMENT_Y_COEFFICIENT = 10, /*!< \brief Rolling moment objective function definition. */
MOMENT_Z_COEFFICIENT = 11, /*!< \brief Yawing objective function definition. */
@@ -1545,7 +1545,7 @@ static const MapType Objective_Map = {
MakePair("TORQUE", TORQUE_COEFFICIENT)
MakePair("TOTAL_HEATFLUX", TOTAL_HEATFLUX)
MakePair("MAXIMUM_HEATFLUX", MAXIMUM_HEATFLUX)
- MakePair("TOTAL_AVG_TEMPERATURE", TOTAL_AVG_TEMPERATURE)
+ MakePair("AVG_TEMPERATURE", AVG_TEMPERATURE)
MakePair("FIGURE_OF_MERIT", FIGURE_OF_MERIT)
MakePair("BUFFET", BUFFET_SENSOR)
MakePair("SURFACE_TOTAL_PRESSURE", SURFACE_TOTAL_PRESSURE)
diff --git a/Common/src/CConfig.cpp b/Common/src/CConfig.cpp
index 41b60c4dd0bd..dc370d2e843d 100644
--- a/Common/src/CConfig.cpp
+++ b/Common/src/CConfig.cpp
@@ -1594,8 +1594,6 @@ void CConfig::SetConfig_Options() {
/* DESCRIPTION: Evaluate a problem with engines */
addBoolOption("ENGINE", Engine, false);
- /* DESCRIPTION: Compute buffet sensor */
- addBoolOption("BUFFET_MONITORING", Buffet_Monitoring, false);
/* DESCRIPTION: Sharpness coefficient for the buffet sensor */
addDoubleOption("BUFFET_K", Buffet_k, 10.0);
/* DESCRIPTION: Offset parameter for the buffet sensor */
@@ -3502,10 +3500,6 @@ void CConfig::SetPostprocessing(unsigned short val_software, unsigned short val_
SU2_MPI::Error("Harmonic Balance not yet implemented for the incompressible solver.", CURRENT_FUNCTION);
}
- if ((Kind_Solver != NAVIER_STOKES && Kind_Solver != RANS) && (Buffet_Monitoring == true)){
- SU2_MPI::Error("Buffet monitoring incompatible with solvers other than NAVIER_STOKES and RANS", CURRENT_FUNCTION);
- }
-
/*--- Check for Fluid model consistency ---*/
if (standard_air) {
@@ -7996,9 +7990,9 @@ string CConfig::GetObjFunc_Extension(string val_filename) const {
case TORQUE_COEFFICIENT: AdjExt = "_cq"; break;
case TOTAL_HEATFLUX: AdjExt = "_totheat"; break;
case MAXIMUM_HEATFLUX: AdjExt = "_maxheat"; break;
- case TOTAL_AVG_TEMPERATURE: AdjExt = "_avtp"; break;
+ case AVG_TEMPERATURE: AdjExt = "_avtp"; break;
case FIGURE_OF_MERIT: AdjExt = "_merit"; break;
- case BUFFET_SENSOR: AdjExt = "_buffet"; break;
+ case BUFFET_SENSOR: AdjExt = "_buffet"; break;
case SURFACE_TOTAL_PRESSURE: AdjExt = "_pt"; break;
case SURFACE_STATIC_PRESSURE: AdjExt = "_pe"; break;
case SURFACE_MASSFLOW: AdjExt = "_mfr"; break;
@@ -9305,13 +9299,6 @@ short CConfig::FindInterfaceMarker(unsigned short iInterface) const {
return -1;
}
-string CConfig::GetName_ObjFunc(unsigned short val_obj) const {
- for (auto item : Objective_Map)
- if (item.second == static_cast(Kind_ObjFunc[val_obj]))
- return item.first;
- return string();
-}
-
void CConfig::Tick(double *val_start_time) {
#ifdef PROFILE
diff --git a/Common/src/grid_movement/CVolumetricMovement.cpp b/Common/src/grid_movement/CVolumetricMovement.cpp
index 68b35eb613a1..0fb747fe1ab8 100644
--- a/Common/src/grid_movement/CVolumetricMovement.cpp
+++ b/Common/src/grid_movement/CVolumetricMovement.cpp
@@ -353,7 +353,7 @@ void CVolumetricMovement::ComputenNonconvexElements(CGeometry *geometry, bool Sc
nNonconvexElements++;
}
}
- } else {
+ } else if (false) {
/*--- 3D elements ---*/
unsigned short iNode, iFace, nFaceNodes;
@@ -371,6 +371,8 @@ void CVolumetricMovement::ComputenNonconvexElements(CGeometry *geometry, bool Sc
face_point_i = geometry->elem[iElem]->GetNode(geometry->elem[iElem]->GetFaces(iFace, iNode));
+ /// TODO: Faces may have up to 4 nodes, not all posibilities are covered
+
if (iNode == 0) {
face_point_j = geometry->elem[iElem]->GetNode(geometry->elem[iElem]->GetFaces(iFace, nFaceNodes-1));
face_point_k = geometry->elem[iElem]->GetNode(geometry->elem[iElem]->GetFaces(iFace, iNode+1));
@@ -391,6 +393,9 @@ void CVolumetricMovement::ComputenNonconvexElements(CGeometry *geometry, bool Sc
/*--- Calculate cross product of edge vectors and its length---*/
su2double crossProduct[3];
GeometryToolbox::CrossProduct(edgeVector_i, edgeVector_j, crossProduct);
+
+ /// TODO: This logic is incorrect, the norm will never be less than 0
+
crossProductLength = GeometryToolbox::Norm(nDim, crossProduct);
/*--- Check if length is minimum or maximum ---*/
diff --git a/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp b/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp
index b4048cbeccab..7f91243a70c3 100644
--- a/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp
+++ b/SU2_CFD/include/numerics/NEMO/NEMO_diffusion.hpp
@@ -38,8 +38,8 @@
*/
class CAvgGrad_NEMO : public CNEMONumerics {
private:
- unsigned short iDim, iVar; /*!< \brief Iterators in dimension an variable. */
- su2double *Mean_PrimVar, /*!< \brief Mean primitive variables. */
+ unsigned short iVar; /*!< \brief Iterators in dimension an variable. */
+ su2double *Mean_PrimVar, /*!< \brief Mean primitive variables. */
*Mean_U,
**Mean_GU,
*Mean_dTdU,
@@ -54,9 +54,8 @@ class CAvgGrad_NEMO : public CNEMONumerics {
Mean_Eddy_Viscosity, /*!< \brief Mean value of the eddy viscosity. */
Mean_Thermal_Conductivity, /*!< \brief Mean value of the thermal conductivity. */
Mean_Thermal_Conductivity_ve, /*!< \brief Mean value of the vib-el. thermal conductivity. */
- *ProjFlux, /*!< \brief Projection of the viscous fluxes. */
dist_ij; /*!< \brief Length of the edge and face. */
-
+
public:
/*!
@@ -109,13 +108,11 @@ class CAvgGradCorrected_NEMO : public CNEMONumerics {
Mean_Eddy_Viscosity, /*!< \brief Mean value of the eddy viscosity. */
Mean_Thermal_Conductivity, /*!< \brief Mean value of the thermal conductivity. */
Mean_Thermal_Conductivity_ve, /*!< \brief Mean value of the vib-el. thermal conductivity. */
-
- *ProjFlux, /*!< \brief Projection of the viscous fluxes. */
dist_ij; /*!< \brief Length of the edge and face. */
bool implicit; /*!< \brief Implicit calculus. */
su2double* Flux = nullptr; /*!< \brief The flux / residual across the edge. */
-
+
public:
/*!
@@ -142,5 +139,5 @@ class CAvgGradCorrected_NEMO : public CNEMONumerics {
* \param[in] config - Definition of the particular problem.
*/
ResidualType<> ComputeResidual(const CConfig* config) final;
-
+
};
diff --git a/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp b/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp
index 48ea1e1909c4..91091a65b52e 100644
--- a/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp
+++ b/SU2_CFD/include/solvers/CDiscAdjFEASolver.hpp
@@ -48,7 +48,6 @@ class CDiscAdjFEASolver final : public CSolver {
su2double *Solution_Vel = nullptr, /*!< \brief Velocity componenent of the solution. */
*Solution_Accel = nullptr; /*!< \brief Acceleration componenent of the solution. */
- su2double ObjFunc_Value = 0.0; /*!< \brief Value of the objective function. */
su2double *normalLoads = nullptr; /*!< \brief Values of the normal loads for each marker iMarker_nL. */
unsigned short nMPROP = 0; /*!< \brief Number of material properties */
@@ -160,12 +159,6 @@ class CDiscAdjFEASolver final : public CSolver {
*/
void ExtractAdjoint_Solution(CGeometry *geometry, CConfig *config) override;
- /*!
- * \brief Register the objective function as output.
- * \param[in] geometry - The geometrical definition of the problem.
- */
- void RegisterObj_Func(CConfig *config) override;
-
/*!
* \brief Set the surface sensitivity.
* \param[in] geometry - Geometrical definition of the problem.
@@ -180,13 +173,6 @@ class CDiscAdjFEASolver final : public CSolver {
*/
void SetSensitivity(CGeometry *geometry, CConfig *config, CSolver*) override;
- /*!
- * \brief Set the objective function.
- * \param[in] geometry - Geometrical definition of the problem.
- * \param[in] config - Definition of the particular problem.
- */
- void SetAdj_ObjFunc(CGeometry *geometry, CConfig* config) override;
-
/*!
* \brief Provide the total Young's modulus sensitivity
* \return Value of the total Young's modulus sensitivity
diff --git a/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp b/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp
index 1d926e81ab21..ae3216b705b1 100644
--- a/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp
+++ b/SU2_CFD/include/solvers/CDiscAdjMeshSolver.hpp
@@ -39,7 +39,6 @@
*/
class CDiscAdjMeshSolver final : public CSolver {
private:
- unsigned short KindDirect_Solver = 0;
CSolver *direct_solver = nullptr;
CDiscAdjMeshBoundVariable* nodes = nullptr; /*!< \brief Variables of the discrete adjoint mesh solver. */
diff --git a/SU2_CFD/include/solvers/CDiscAdjSolver.hpp b/SU2_CFD/include/solvers/CDiscAdjSolver.hpp
index 52244aafd6cd..6b60189c7d97 100644
--- a/SU2_CFD/include/solvers/CDiscAdjSolver.hpp
+++ b/SU2_CFD/include/solvers/CDiscAdjSolver.hpp
@@ -49,7 +49,6 @@ class CDiscAdjSolver final : public CSolver {
su2double Total_Sens_BPress; /*!< \brief Total sensitivity to outlet pressure. */
su2double Total_Sens_Density; /*!< \brief Total sensitivity to initial density (incompressible). */
su2double Total_Sens_ModVel; /*!< \brief Total sensitivity to inlet velocity (incompressible). */
- su2double ObjFunc_Value; /*!< \brief Value of the objective function. */
su2double Mach, Alpha, Beta, Pressure, Temperature, BPressure, ModVel;
su2double TemperatureRad, Total_Sens_Temp_Rad;
@@ -140,12 +139,6 @@ class CDiscAdjSolver final : public CSolver {
*/
void ExtractAdjoint_Geometry(CGeometry *geometry, CConfig *config) override;
- /*!
- * \brief Register the objective function as output.
- * \param[in] geometry - The geometrical definition of the problem.
- */
- void RegisterObj_Func(CConfig *config) override;
-
/*!
* \brief Set the surface sensitivity.
* \param[in] geometry - Geometrical definition of the problem.
@@ -160,13 +153,6 @@ class CDiscAdjSolver final : public CSolver {
*/
void SetSensitivity(CGeometry *geometry, CConfig *config, CSolver*) override;
- /*!
- * \brief Set the objective function.
- * \param[in] geometry - Geometrical definition of the problem.
- * \param[in] config - Definition of the particular problem.
- */
- void SetAdj_ObjFunc(CGeometry *geometry, CConfig* config) override;
-
/*!
* \brief Provide the total shape sensitivity coefficient.
* \return Value of the geometrical sensitivity coefficient
diff --git a/SU2_CFD/include/solvers/CEulerSolver.hpp b/SU2_CFD/include/solvers/CEulerSolver.hpp
index f7f6af0ce5e8..5a28b6c2e783 100644
--- a/SU2_CFD/include/solvers/CEulerSolver.hpp
+++ b/SU2_CFD/include/solvers/CEulerSolver.hpp
@@ -474,7 +474,7 @@ class CEulerSolver : public CFVMFlowSolverBase {
* \brief Compute weighted-sum "combo" objective output
* \param[in] config - Definition of the particular problem.
*/
- void Evaluate_ObjFunc(CConfig *config) override;
+ void Evaluate_ObjFunc(const CConfig *config) override;
/*!
* \brief Impose the far-field boundary condition using characteristics.
diff --git a/SU2_CFD/include/solvers/CFEASolver.hpp b/SU2_CFD/include/solvers/CFEASolver.hpp
index 6602d21ccbba..31ec0790bad5 100644
--- a/SU2_CFD/include/solvers/CFEASolver.hpp
+++ b/SU2_CFD/include/solvers/CFEASolver.hpp
@@ -67,8 +67,9 @@ class CFEASolver : public CSolver {
su2double Total_OFRefGeom; /*!< \brief Total Objective Function: Reference Geometry. */
su2double Total_OFRefNode; /*!< \brief Total Objective Function: Reference Node. */
su2double Total_OFVolFrac; /*!< \brief Total Objective Function: Volume fraction (topology optimization). */
+ su2double Total_OFDiscreteness; /*!< \brief Total Objective Function: Discreteness (topology optimization). */
su2double Total_OFCompliance; /*!< \brief Total Objective Function: Compliance (topology optimization). */
- su2double Total_OFCombo = 0.0; /*!< \brief One of the above, for output/history purposes. */
+ su2double ObjFunc;
su2double Global_OFRefGeom; /*!< \brief Global Objective Function (added over time steps): Reference Geometry. */
su2double Global_OFRefNode; /*!< \brief Global Objective Function (added over time steps): Reference Node. */
@@ -198,6 +199,34 @@ class CFEASolver : public CSolver {
su2double der,
su2double der_avg) const;
+ /*!
+ * \brief Compute the objective function for a reference geometry
+ * \param[in] geometry - Geometrical definition of the problem.
+ * \param[in] config - Definition of the particular problem.
+ */
+ void Compute_OFRefGeom(CGeometry *geometry, const CConfig *config);
+
+ /*!
+ * \brief Compute the objective function for a reference node
+ * \param[in] geometry - Geometrical definition of the problem.
+ * \param[in] config - Definition of the particular problem.
+ */
+ void Compute_OFRefNode(CGeometry *geometry, const CConfig *config);
+
+ /*!
+ * \brief Compute the objective function for a volume fraction
+ * \param[in] geometry - Geometrical definition of the problem.
+ * \param[in] config - Definition of the particular problem.
+ */
+ void Compute_OFVolFrac(CGeometry *geometry, const CConfig *config);
+
+ /*!
+ * \brief Compute the compliance objective function
+ * \param[in] geometry - Geometrical definition of the problem.
+ * \param[in] config - Definition of the particular problem.
+ */
+ void Compute_OFCompliance(CGeometry *geometry, const CConfig *config);
+
public:
/*!
* \brief Constructor of the class.
@@ -245,20 +274,6 @@ class CFEASolver : public CSolver {
CConfig *config,
unsigned long TimeIter) override;
- /*!
- * \brief Compute the time step for solving the FEM equations.
- * \param[in] geometry - Geometrical definition of the problem.
- * \param[in] solver_container - Container vector with all the solutions.
- * \param[in] config - Definition of the particular problem.
- * \param[in] iMesh - Index of the mesh in multigrid computations.
- * \param[in] Iteration - Index of the current iteration.
- */
- inline void SetTime_Step(CGeometry *geometry,
- CSolver **solver_container,
- CConfig *config,
- unsigned short iMesh,
- unsigned long Iteration) override { }
-
/*!
* \brief Get the value of the reference coordinate to set on the element structure.
* \param[in] geometry - Geometrical definition of the problem.
@@ -508,15 +523,11 @@ class CFEASolver : public CSolver {
/*!
* \brief Postprocessing.
* \param[in] geometry - Geometrical definition of the problem.
- * \param[in] solver_container - Container vector with all the solutions.
* \param[in] config - Definition of the particular problem.
- * \param[in] iMesh - Index of the mesh in multigrid computations.
+ * \param[in] numerics - Implementation of numerical method.
+ * \param[in] of_comp_mode - Mode to compute just the objective function.
*/
- void Postprocessing(CGeometry *geometry,
- CSolver **solver_container,
- CConfig *config,
- CNumerics **numerics,
- unsigned short iMesh) final;
+ void Postprocessing(CGeometry *geometry, CConfig *config, CNumerics **numerics, bool of_comp_mode) final;
/*!
* \brief Routine to solve the Jacobian-Residual linearized system.
@@ -541,22 +552,24 @@ class CFEASolver : public CSolver {
/*!
* \brief Retrieve the value of the objective function for a reference geometry
- * \param[out] OFRefGeom - value of the objective function.
*/
inline su2double GetTotal_OFRefGeom(void) const final { return Total_OFRefGeom; }
/*!
* \brief Retrieve the value of the objective function for a reference node
- * \param[out] OFRefNode - value of the objective function.
*/
inline su2double GetTotal_OFRefNode(void) const final { return Total_OFRefNode; }
/*!
* \brief Retrieve the value of the volume fraction objective function
- * \param[out] OFVolFrac - value of the objective function.
*/
inline su2double GetTotal_OFVolFrac(void) const final { return Total_OFVolFrac; }
+ /*!
+ * \brief Retrieve the value of the discreteness objective function
+ */
+ inline su2double GetTotal_OFDiscreteness(void) const final { return Total_OFDiscreteness; }
+
/*!
* \brief Retrieve the value of the structural compliance objective function
* \return Value of the objective function.
@@ -564,10 +577,34 @@ class CFEASolver : public CSolver {
inline su2double GetTotal_OFCompliance(void) const final { return Total_OFCompliance; }
/*!
- * \brief Retrieve the value of the combined objective function
- * \note For now there is no combination, this is just a seletion.
+ * \brief Compute the objective function.
+ * \param[in] config - Definition of the problem.
+ */
+ inline void Evaluate_ObjFunc(const CConfig *config) final {
+ ObjFunc = 0.0;
+ switch (config->GetKind_ObjFunc()) {
+ case REFERENCE_GEOMETRY:
+ ObjFunc = GetTotal_OFRefGeom();
+ break;
+ case REFERENCE_NODE:
+ ObjFunc = GetTotal_OFRefNode();
+ break;
+ case TOPOL_COMPLIANCE:
+ ObjFunc = GetTotal_OFCompliance();
+ break;
+ case VOLUME_FRACTION:
+ ObjFunc = GetTotal_OFVolFrac();
+ break;
+ case TOPOL_DISCRETENESS:
+ ObjFunc = GetTotal_OFDiscreteness();
+ break;
+ }
+ }
+
+ /*!
+ * \brief Provide the total "combo" objective (weighted sum of other values).
*/
- inline su2double GetTotal_ComboObj(void) const final { return Total_OFCombo; }
+ inline su2double GetTotal_ComboObj() const final { return ObjFunc; }
/*!
* \brief Determines whether there is an element-based file or not.
@@ -656,43 +693,13 @@ class CFEASolver : public CSolver {
*/
void SetAitken_Relaxation(CGeometry *geometry, CConfig *config) final;
- /*!
- * \brief Compute the objective function for a reference geometry
- * \param[in] geometry - Geometrical definition of the problem.
- * \param[in] config - Definition of the particular problem.
- */
- void Compute_OFRefGeom(CGeometry *geometry, const CConfig *config) final;
-
- /*!
- * \brief Compute the objective function for a reference node
- * \param[in] geometry - Geometrical definition of the problem.
- * \param[in] config - Definition of the particular problem.
- */
- void Compute_OFRefNode(CGeometry *geometry, const CConfig *config) final;
-
- /*!
- * \brief Compute the objective function for a volume fraction
- * \param[in] geometry - Geometrical definition of the problem.
- * \param[in] config - Definition of the particular problem.
- */
- void Compute_OFVolFrac(CGeometry *geometry, const CConfig *config) final;
-
- /*!
- * \brief Compute the compliance objective function
- * \param[in] geometry - Geometrical definition of the problem.
- * \param[in] config - Definition of the particular problem.
- */
- void Compute_OFCompliance(CGeometry *geometry, const CConfig *config) final;
-
/*!
* \brief Compute the penalty due to the stiffness increase
* \param[in] geometry - Geometrical definition of the problem.
- * \param[in] solver_container - Container vector with all the solutions.
* \param[in] numerics - Description of the numerical method.
* \param[in] config - Definition of the particular problem.
*/
void Stiffness_Penalty(CGeometry *geometry,
- CSolver **solver_container,
CNumerics **numerics_container,
CConfig *config);
diff --git a/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp b/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp
index 068fc49c7e11..728eb8c84ad7 100644
--- a/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp
+++ b/SU2_CFD/include/solvers/CFVMFlowSolverBase.hpp
@@ -1464,6 +1464,13 @@ class CFVMFlowSolverBase : public CSolver {
*/
void Friction_Forces(const CGeometry* geometry, const CConfig* config) final;
+ /*!
+ * \brief Compute the buffet sensor.
+ * \param[in] geometry - Geometrical definition of the problem.
+ * \param[in] config - Definition of the particular problem.
+ */
+ inline virtual void Buffet_Monitoring(const CGeometry *geometry, const CConfig *config) { }
+
/*!
* \brief Allocates the final pointer of SlidingState depending on how many donor vertex donate to it.
* That number is stored in SlidingStateNodes[val_marker][val_vertex].
diff --git a/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl b/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl
index 26b4bb7850b7..926885d3069c 100644
--- a/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl
+++ b/SU2_CFD/include/solvers/CFVMFlowSolverBase.inl
@@ -2487,6 +2487,10 @@ void CFVMFlowSolverBase::Friction_Forces(const CGeometry* geometr
SurfaceCoeff.CMy[iMarker_Monitoring] += SurfaceViscCoeff.CMy[iMarker_Monitoring];
SurfaceCoeff.CMz[iMarker_Monitoring] += SurfaceViscCoeff.CMz[iMarker_Monitoring];
}
+
+
+ Buffet_Monitoring(geometry, config);
+
}
template
@@ -2586,6 +2590,9 @@ su2double CFVMFlowSolverBase::EvaluateCommonObjFunc(const CConfig& config)
case SURFACE_SECOND_OVER_UNIFORM:
objFun += weight * config.GetSurface_SecondOverUniform(0);
break;
+ case SURFACE_PRESSURE_DROP:
+ objFun += weight * config.GetSurface_PressureDrop(0);
+ break;
case CUSTOM_OBJFUNC:
objFun += weight * Total_Custom_ObjFunc;
break;
diff --git a/SU2_CFD/include/solvers/CIncEulerSolver.hpp b/SU2_CFD/include/solvers/CIncEulerSolver.hpp
index e53a7072a795..45a8db4b36ee 100644
--- a/SU2_CFD/include/solvers/CIncEulerSolver.hpp
+++ b/SU2_CFD/include/solvers/CIncEulerSolver.hpp
@@ -218,7 +218,9 @@ class CIncEulerSolver : public CFVMFlowSolverBaseGetWeakly_Coupled_Heat()) {
solvers[HEAT_SOL]->Heat_Fluxes(geometry, solvers, config);
}
+
+ direct_output[iZone]->SetHistory_Output(geometry, solvers, config);
+
solvers[FLOW_SOL]->Evaluate_ObjFunc(config);
break;
+
case DISC_ADJ_HEAT:
solvers[HEAT_SOL]->Heat_Fluxes(geometry, solvers, config);
break;
- }
- direct_output[iZone]->SetHistory_Output(geometry, solvers, config);
+ case DISC_ADJ_FEM:
+ solvers[FEA_SOL]->Postprocessing(geometry, config, numerics_container[iZone][INST_0][MESH_0][FEA_SOL], true);
+ break;
+ }
}
/*--- Extract objective function values. ---*/
@@ -694,144 +697,48 @@ void CDiscAdjMultizoneDriver::SetObjFunction(unsigned short kind_recording) {
auto config = config_container[iZone];
auto solvers = solver_container[iZone][INST_0][MESH_0];
- auto geometry = geometry_container[iZone][INST_0][MESH_0];
-
- nMarker_Analyze = config->GetnMarker_Analyze();
-
- for (iMarker_Analyze = 0; iMarker_Analyze < nMarker_Analyze; iMarker_Analyze++) {
-
- Weight_ObjFunc = config->GetWeight_ObjFunc(iMarker_Analyze);
-
- switch (config->GetKind_Solver()) {
- case DISC_ADJ_EULER: case DISC_ADJ_NAVIER_STOKES: case DISC_ADJ_RANS:
- // per-surface output to be added soon
- break;
- case HEAT_EQUATION: case DISC_ADJ_HEAT:
- // per-surface output to be added soon
- break;
- default:
- break;
- }
- }
-
- /*--- Not-per-surface objective functions (shall not be included above) ---*/
-
- Weight_ObjFunc = config->GetWeight_ObjFunc(0);
-
- bool ObjectiveNotCovered = false;
+ const auto Weight_ObjFunc = config->GetWeight_ObjFunc(0);
switch (config->GetKind_Solver()) {
case DISC_ADJ_EULER: case DISC_ADJ_NAVIER_STOKES: case DISC_ADJ_RANS:
case DISC_ADJ_INC_EULER: case DISC_ADJ_INC_NAVIER_STOKES: case DISC_ADJ_INC_RANS:
{
- string FieldName;
-
- switch (config->GetKind_ObjFunc()) {
-
- // Aerodynamic coefficients
-
- case DRAG_COEFFICIENT:
- case LIFT_COEFFICIENT:
- case SIDEFORCE_COEFFICIENT:
- case EFFICIENCY:
- case MOMENT_X_COEFFICIENT:
- case MOMENT_Y_COEFFICIENT:
- case MOMENT_Z_COEFFICIENT:
- case FORCE_X_COEFFICIENT:
- case FORCE_Y_COEFFICIENT:
- case FORCE_Z_COEFFICIENT:
- FieldName = config->GetName_ObjFunc();
- break;
-
- // Other surface-related output values
- // The names are different than in CConfig...
-
- case SURFACE_MASSFLOW: FieldName = "AVG_MASSFLOW"; break;
- case SURFACE_MACH: FieldName = "AVG_MACH"; break;
- case SURFACE_UNIFORMITY: FieldName = "UNIFORMITY"; break;
- case SURFACE_SECONDARY: FieldName = "SECONDARY_STRENGTH"; break;
- case SURFACE_MOM_DISTORTION: FieldName = "MOMENTUM_DISTORTION"; break;
- case SURFACE_SECOND_OVER_UNIFORM: FieldName = "SECONDARY_OVER_UNIFORMITY"; break;
- case TOTAL_AVG_TEMPERATURE: FieldName = "AVG_TOTALTEMP"; break;
- case SURFACE_TOTAL_PRESSURE: FieldName = "AVG_TOTALPRESS"; break;
+ auto val = solvers[FLOW_SOL]->GetTotal_ComboObj();
- // Not yet covered by new output structure. Be careful these use MARKER_MONITORING.
-
- case SURFACE_PRESSURE_DROP:
- ObjFunc += config->GetSurface_PressureDrop(0)*Weight_ObjFunc;
- break;
- case SURFACE_STATIC_PRESSURE:
- ObjFunc += config->GetSurface_Pressure(0)*Weight_ObjFunc;
- break;
- case TOTAL_HEATFLUX:
- ObjFunc += solvers[FLOW_SOL]->GetTotal_HeatFlux()*Weight_ObjFunc;
- break;
-
- default:
- ObjectiveNotCovered = true;
- break;
+ if (config->GetWeakly_Coupled_Heat()) {
+ if (config->GetKind_ObjFunc() == TOTAL_HEATFLUX) {
+ val += solvers[HEAT_SOL]->GetTotal_HeatFlux();
+ }
+ else if (config->GetKind_ObjFunc() == AVG_TEMPERATURE) {
+ val += solvers[HEAT_SOL]->GetTotal_AvgTemperature();
+ }
}
-
- if(!FieldName.empty())
- ObjFunc += direct_output[iZone]->GetHistoryFieldValue(FieldName)*Weight_ObjFunc;
-
+ ObjFunc += val*Weight_ObjFunc;
break;
}
case DISC_ADJ_HEAT:
{
switch(config->GetKind_ObjFunc()) {
-
- // Not yet covered by new output structure. Be careful these use MARKER_MONITORING.
-
case TOTAL_HEATFLUX:
ObjFunc += solvers[HEAT_SOL]->GetTotal_HeatFlux()*Weight_ObjFunc;
break;
- case TOTAL_AVG_TEMPERATURE:
+ case AVG_TEMPERATURE:
ObjFunc += solvers[HEAT_SOL]->GetTotal_AvgTemperature()*Weight_ObjFunc;
break;
-
- default:
- ObjectiveNotCovered = true;
- break;
}
break;
}
case DISC_ADJ_FEM:
{
- switch(config->GetKind_ObjFunc()) {
-
- case REFERENCE_NODE:
- solvers[FEA_SOL]->Compute_OFRefNode(geometry, config);
- ObjFunc += solvers[FEA_SOL]->GetTotal_OFRefNode()*Weight_ObjFunc;
- break;
- case REFERENCE_GEOMETRY:
- solvers[FEA_SOL]->Compute_OFRefGeom(geometry, config);
- ObjFunc += solvers[FEA_SOL]->GetTotal_OFRefGeom()*Weight_ObjFunc;
- break;
- case TOPOL_COMPLIANCE:
- solvers[FEA_SOL]->Compute_OFCompliance(geometry, config);
- ObjFunc += solvers[FEA_SOL]->GetTotal_OFCompliance()*Weight_ObjFunc;
- break;
- case VOLUME_FRACTION:
- case TOPOL_DISCRETENESS:
- solvers[FEA_SOL]->Compute_OFVolFrac(geometry, config);
- ObjFunc += solvers[FEA_SOL]->GetTotal_OFVolFrac()*Weight_ObjFunc;
- break;
-
- default:
- ObjectiveNotCovered = true;
- break;
- }
+ solvers[FEA_SOL]->Evaluate_ObjFunc(config);
+ ObjFunc += solvers[FEA_SOL]->GetTotal_ComboObj()*Weight_ObjFunc;
break;
}
default:
break;
}
-
- if (ObjectiveNotCovered && (rank == MASTER_NODE) && (kind_recording == SOLUTION_VARIABLES))
- cout << " Objective function not covered in Zone " << iZone << endl;
}
if (rank == MASTER_NODE) {
diff --git a/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp b/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp
index b1561b048f94..a77d7a2a3484 100644
--- a/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp
+++ b/SU2_CFD/src/drivers/CDiscAdjSinglezoneDriver.cpp
@@ -377,7 +377,7 @@ void CDiscAdjSinglezoneDriver::SetObjFunction(){
if (config->GetKind_ObjFunc() == TOTAL_HEATFLUX) {
ObjFunc += solver[HEAT_SOL]->GetTotal_HeatFlux();
}
- else if (config->GetKind_ObjFunc() == TOTAL_AVG_TEMPERATURE) {
+ else if (config->GetKind_ObjFunc() == AVG_TEMPERATURE) {
ObjFunc += solver[HEAT_SOL]->GetTotal_AvgTemperature();
}
}
@@ -416,7 +416,7 @@ void CDiscAdjSinglezoneDriver::SetObjFunction(){
case TOTAL_HEATFLUX:
ObjFunc = solver[HEAT_SOL]->GetTotal_HeatFlux();
break;
- case TOTAL_AVG_TEMPERATURE:
+ case AVG_TEMPERATURE:
ObjFunc = solver[HEAT_SOL]->GetTotal_AvgTemperature();
break;
default:
@@ -425,24 +425,9 @@ void CDiscAdjSinglezoneDriver::SetObjFunction(){
break;
case DISC_ADJ_FEM:
- switch (config->GetKind_ObjFunc()){
- case REFERENCE_GEOMETRY:
- ObjFunc = solver[FEA_SOL]->GetTotal_OFRefGeom();
- break;
- case REFERENCE_NODE:
- ObjFunc = solver[FEA_SOL]->GetTotal_OFRefNode();
- break;
- case TOPOL_COMPLIANCE:
- ObjFunc = solver[FEA_SOL]->GetTotal_OFCompliance();
- break;
- case VOLUME_FRACTION:
- case TOPOL_DISCRETENESS:
- ObjFunc = solver[FEA_SOL]->GetTotal_OFVolFrac();
- break;
- default:
- ObjFunc = 0.0; // If the objective function is computed in a different physical problem
- break;
- }
+ solver[FEA_SOL]->Postprocessing(geometry, config, numerics_container[ZONE_0][INST_0][MESH_0][FEA_SOL], true);
+ solver[FEA_SOL]->Evaluate_ObjFunc(config);
+ ObjFunc = solver[FEA_SOL]->GetTotal_ComboObj();
break;
}
diff --git a/SU2_CFD/src/integration/CMultiGridIntegration.cpp b/SU2_CFD/src/integration/CMultiGridIntegration.cpp
index 05188d343850..b4d628c0e74a 100644
--- a/SU2_CFD/src/integration/CMultiGridIntegration.cpp
+++ b/SU2_CFD/src/integration/CMultiGridIntegration.cpp
@@ -688,12 +688,6 @@ void CMultiGridIntegration::NonDimensional_Parameters(CGeometry **geometry, CSol
solver_container[FinestMesh][FLOW_SOL]->Momentum_Forces(geometry[FinestMesh], config);
solver_container[FinestMesh][FLOW_SOL]->Friction_Forces(geometry[FinestMesh], config);
- /*--- Evaluate the buffet metric if requested ---*/
-
- if(config->GetBuffet_Monitoring() || config->GetKind_ObjFunc() == BUFFET_SENSOR){
- solver_container[FinestMesh][FLOW_SOL]->Buffet_Monitoring(geometry[FinestMesh], config);
- }
-
break;
case RUNTIME_ADJFLOW_SYS:
diff --git a/SU2_CFD/src/integration/CStructuralIntegration.cpp b/SU2_CFD/src/integration/CStructuralIntegration.cpp
index f366e77513b9..a2c7b9304e8a 100644
--- a/SU2_CFD/src/integration/CStructuralIntegration.cpp
+++ b/SU2_CFD/src/integration/CStructuralIntegration.cpp
@@ -62,10 +62,8 @@ void CStructuralIntegration::Structural_Iteration(CGeometry ****geometry, CSolve
RunTime_EqSystem);
solver->Postprocessing(geometry[iZone][iInst][MESH_0],
- solver_container[iZone][iInst][MESH_0],
config[iZone],
- numerics_container[iZone][iInst][MESH_0][SolContainer_Position],
- MESH_0);
+ numerics_container[iZone][iInst][MESH_0][SolContainer_Position]);
}
void CStructuralIntegration::Space_Integration_FEM(CGeometry *geometry, CSolver **solver_container,
diff --git a/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp b/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp
index d889f036b4ce..37418e7fd881 100644
--- a/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp
+++ b/SU2_CFD/src/iteration/CDiscAdjFEAIteration.cpp
@@ -401,10 +401,6 @@ void CDiscAdjFEAIteration::RegisterOutput(CSolver***** solver, CGeometry**** geo
void CDiscAdjFEAIteration::InitializeAdjoint(CSolver***** solver, CGeometry**** geometry, CConfig** config,
unsigned short iZone, unsigned short iInst) {
- /*--- Initialize the adjoint of the objective function (typically with 1.0) ---*/
-
- solver[iZone][iInst][MESH_0][ADJFEA_SOL]->SetAdj_ObjFunc(geometry[iZone][iInst][MESH_0], config[iZone]);
-
/*--- Initialize the adjoints the conservative variables ---*/
solver[iZone][iInst][MESH_0][ADJFEA_SOL]->SetAdjoint_Output(geometry[iZone][iInst][MESH_0], config[iZone]);
@@ -447,21 +443,8 @@ void CDiscAdjFEAIteration::Postprocess(COutput* output, CIntegration**** integra
myfile_res << config[val_iZone]->GetTimeIter() << "\t";
- switch (config[val_iZone]->GetKind_ObjFunc()) {
- case REFERENCE_GEOMETRY:
- myfile_res << scientific << solver[val_iZone][val_iInst][MESH_0][FEA_SOL]->GetTotal_OFRefGeom() << "\t";
- break;
- case REFERENCE_NODE:
- myfile_res << scientific << solver[val_iZone][val_iInst][MESH_0][FEA_SOL]->GetTotal_OFRefNode() << "\t";
- break;
- case VOLUME_FRACTION:
- case TOPOL_DISCRETENESS:
- myfile_res << scientific << solver[val_iZone][val_iInst][MESH_0][FEA_SOL]->GetTotal_OFVolFrac() << "\t";
- break;
- case TOPOL_COMPLIANCE:
- myfile_res << scientific << solver[val_iZone][val_iInst][MESH_0][FEA_SOL]->GetTotal_OFCompliance() << "\t";
- break;
- }
+ solver[val_iZone][val_iInst][MESH_0][FEA_SOL]->Evaluate_ObjFunc(config[val_iZone]);
+ myfile_res << scientific << solver[val_iZone][val_iInst][MESH_0][FEA_SOL]->GetTotal_ComboObj() << "\t";
for (iVar = 0; iVar < config[val_iZone]->GetnElasticityMod(); iVar++)
myfile_res << scientific << solver[val_iZone][val_iInst][MESH_0][ADJFEA_SOL]->GetTotal_Sens_E(iVar) << "\t";
@@ -471,13 +454,11 @@ void CDiscAdjFEAIteration::Postprocess(COutput* output, CIntegration**** integra
for (iVar = 0; iVar < config[val_iZone]->GetnMaterialDensity(); iVar++)
myfile_res << scientific << solver[val_iZone][val_iInst][MESH_0][ADJFEA_SOL]->GetTotal_Sens_Rho(iVar) << "\t";
}
-
if (de_effects) {
for (iVar = 0; iVar < config[val_iZone]->GetnElectric_Field(); iVar++)
myfile_res << scientific << solver[val_iZone][val_iInst][MESH_0][ADJFEA_SOL]->GetTotal_Sens_EField(iVar)
<< "\t";
}
-
for (iVar = 0; iVar < solver[val_iZone][val_iInst][MESH_0][ADJFEA_SOL]->GetnDVFEA(); iVar++) {
myfile_res << scientific << solver[val_iZone][val_iInst][MESH_0][ADJFEA_SOL]->GetTotal_Sens_DVFEA(iVar) << "\t";
}
diff --git a/SU2_CFD/src/output/CAdjElasticityOutput.cpp b/SU2_CFD/src/output/CAdjElasticityOutput.cpp
index 82e792fddb53..fcee50afc170 100644
--- a/SU2_CFD/src/output/CAdjElasticityOutput.cpp
+++ b/SU2_CFD/src/output/CAdjElasticityOutput.cpp
@@ -106,8 +106,6 @@ void CAdjElasticityOutput::SetHistoryOutputFields(CConfig *config){
AddHistoryOutput("SENS_E", "Sens[E]", ScreenOutputFormat::SCIENTIFIC, "SENSITIVITY", "");
AddHistoryOutput("SENS_NU","Sens[Nu]", ScreenOutputFormat::SCIENTIFIC, "SENSITIVITY", "");
- AddHistoryOutput("COMBO", "ObjFun", ScreenOutputFormat::SCIENTIFIC, "COMBO", "", HistoryFieldType::COEFFICIENT);
-
AddHistoryOutput("LINSOL_ITER", "LinSolIter", ScreenOutputFormat::INTEGER, "LINSOL", "Number of iterations of the linear solver.");
AddHistoryOutput("LINSOL_RESIDUAL", "LinSolRes", ScreenOutputFormat::FIXED, "LINSOL", "Residual of the linear solver.");
@@ -141,8 +139,6 @@ inline void CAdjElasticityOutput::LoadHistoryData(CConfig *config, CGeometry *ge
SetHistoryOutputValue("SENS_E", Total_SensE);
SetHistoryOutputValue("SENS_NU", Total_SensNu);
- SetHistoryOutputValue("COMBO", solver[FEA_SOL]->GetTotal_ComboObj());
-
SetHistoryOutputValue("LINSOL_ITER", solver[ADJFEA_SOL]->GetIterLinSolver());
SetHistoryOutputValue("LINSOL_RESIDUAL", log10(solver[ADJFEA_SOL]->GetResLinSolver()));
diff --git a/SU2_CFD/src/output/CElasticityOutput.cpp b/SU2_CFD/src/output/CElasticityOutput.cpp
index b5a8ae3bd243..0f7408b01166 100644
--- a/SU2_CFD/src/output/CElasticityOutput.cpp
+++ b/SU2_CFD/src/output/CElasticityOutput.cpp
@@ -134,7 +134,15 @@ void CElasticityOutput::LoadHistoryData(CConfig *config, CGeometry *geometry, CS
SetHistoryOutputValue("LINSOL_ITER", fea_solver->GetIterLinSolver());
SetHistoryOutputValue("LINSOL_RESIDUAL", log10(fea_solver->GetResLinSolver()));
- SetHistoryOutputValue("COMBO", fea_solver->GetTotal_ComboObj());
+ SetHistoryOutputValue("REFERENCE_NODE", fea_solver->GetTotal_OFRefNode());
+ SetHistoryOutputValue("TOPOL_COMPLIANCE", fea_solver->GetTotal_OFCompliance());
+ if (config->GetRefGeom()) {
+ SetHistoryOutputValue("REFERENCE_GEOMETRY", fea_solver->GetTotal_OFRefGeom());
+ }
+ if (config->GetTopology_Optimization()) {
+ SetHistoryOutputValue("VOLUME_FRACTION", fea_solver->GetTotal_OFVolFrac());
+ SetHistoryOutputValue("TOPOL_DISCRETENESS", fea_solver->GetTotal_OFDiscreteness());
+ }
}
@@ -158,11 +166,18 @@ void CElasticityOutput::SetHistoryOutputFields(CConfig *config){
AddHistoryOutput("BGS_DISP_Z", "bgs[DispZ]", ScreenOutputFormat::FIXED, "BGS_RES", "", HistoryFieldType::RESIDUAL);
AddHistoryOutput("VMS", "VonMises", ScreenOutputFormat::SCIENTIFIC, "", "VMS");
- AddHistoryOutput("LOAD_INCREMENT", "Load[%]", ScreenOutputFormat::PERCENT, "", "LOAD_INCREMENT");
- AddHistoryOutput("LOAD_RAMP", "Load_Ramp", ScreenOutputFormat::FIXED, "", "LOAD_RAMP");
-
- AddHistoryOutput("COMBO", "ObjFun", ScreenOutputFormat::SCIENTIFIC, "COMBO", "", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("LOAD_INCREMENT", "Load[%]", ScreenOutputFormat::PERCENT, "", "LOAD_INCREMENT");
+ AddHistoryOutput("LOAD_RAMP", "Load_Ramp",ScreenOutputFormat::FIXED, "", "LOAD_RAMP");
+ AddHistoryOutput("REFERENCE_NODE", "RefNode", ScreenOutputFormat::SCIENTIFIC, "STRUCT_COEFF", "", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("TOPOL_COMPLIANCE", "TopComp", ScreenOutputFormat::SCIENTIFIC, "STRUCT_COEFF", "", HistoryFieldType::COEFFICIENT);
+ if (config->GetRefGeom()) {
+ AddHistoryOutput("REFERENCE_GEOMETRY", "RefGeom", ScreenOutputFormat::SCIENTIFIC, "STRUCT_COEFF", "", HistoryFieldType::COEFFICIENT);
+ }
+ if (config->GetTopology_Optimization()) {
+ AddHistoryOutput("VOLUME_FRACTION", "VolFrac", ScreenOutputFormat::SCIENTIFIC, "STRUCT_COEFF", "", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("TOPOL_DISCRETENESS", "TopDisc", ScreenOutputFormat::SCIENTIFIC, "STRUCT_COEFF", "", HistoryFieldType::COEFFICIENT);
+ }
}
void CElasticityOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CSolver **solver, unsigned long iPoint){
diff --git a/SU2_CFD/src/output/CFlowCompOutput.cpp b/SU2_CFD/src/output/CFlowCompOutput.cpp
index e59202bf7aef..5face463a4e4 100644
--- a/SU2_CFD/src/output/CFlowCompOutput.cpp
+++ b/SU2_CFD/src/output/CFlowCompOutput.cpp
@@ -215,27 +215,25 @@ void CFlowCompOutput::SetHistoryOutputFields(CConfig *config){
/// BEGIN_GROUP: ROTATING_FRAME, DESCRIPTION: Coefficients related to a rotating frame of reference.
/// DESCRIPTION: Merit
- AddHistoryOutput("MERIT", "CMerit", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "Merit", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("FIGURE_OF_MERIT", "CMerit", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "Merit", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: CT
- AddHistoryOutput("CT", "CT", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "CT", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("THRUST", "CT", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "CT", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: CQ
- AddHistoryOutput("CQ", "CQ", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "CQ", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("TORQUE", "CQ", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "CQ", HistoryFieldType::COEFFICIENT);
/// END_GROUP
/// BEGIN_GROUP: EQUIVALENT_AREA, DESCRIPTION: Equivalent area.
/// DESCRIPTION: Equivalent area
AddHistoryOutput("EQUIV_AREA", "CEquiv_Area", ScreenOutputFormat::SCIENTIFIC, "EQUIVALENT_AREA", "Equivalent area", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Nearfield obj. function
- AddHistoryOutput("NEARFIELD_OF", "CNearFieldOF", ScreenOutputFormat::SCIENTIFIC, "EQUIVALENT_AREA", "Nearfield obj. function ", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("NEARFIELD_OF", "CNearFieldOF", ScreenOutputFormat::SCIENTIFIC, "EQUIVALENT_AREA", "Nearfield obj. function", HistoryFieldType::COEFFICIENT);
/// END_GROUP
/// /// BEGIN_GROUP: HEAT_COEFF, DESCRIPTION: Heat coefficients on all surfaces set with MARKER_MONITORING.
/// DESCRIPTION: Total heatflux
AddHistoryOutput("TOTAL_HEATFLUX", "HF", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total heatflux on all surfaces set with MARKER_MONITORING.", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Maximal heatflux
- AddHistoryOutput("HEATFLUX_MAX", "maxHF", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total maximum heatflux on all surfaces set with MARKER_MONITORING.", HistoryFieldType::COEFFICIENT);
- /// DESCRIPTION: Temperature
- AddHistoryOutput("TEMPERATURE", "Temp", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total avg. temperature on all surfaces set with MARKER_MONITORING.", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("MAXIMUM_HEATFLUX", "maxHF", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total maximum heatflux on all surfaces set with MARKER_MONITORING.", HistoryFieldType::COEFFICIENT);
/// END_GROUP
AddHistoryOutput("MIN_DELTA_TIME", "Min DT", ScreenOutputFormat::SCIENTIFIC, "CFL_NUMBER", "Current minimum local time step");
@@ -273,6 +271,10 @@ void CFlowCompOutput::SetHistoryOutputFields(CConfig *config){
AddAerodynamicCoefficients(config);
+ if (config->GetKind_Solver() == RANS || config->GetKind_Solver() == NAVIER_STOKES){
+ AddHistoryOutput("BUFFET", "Buffet", ScreenOutputFormat::SCIENTIFIC, "AERO_COEFF", "Buffet sensor", HistoryFieldType::COEFFICIENT);
+ }
+
/*--- Add Cp diff fields ---*/
Add_CpInverseDesignOutput(config);
@@ -662,9 +664,8 @@ void CFlowCompOutput::LoadHistoryData(CConfig *config, CGeometry *geometry, CSol
}
}
- SetHistoryOutputValue("TOTAL_HEATFLUX", flow_solver->GetTotal_HeatFlux());
- SetHistoryOutputValue("HEATFLUX_MAX", flow_solver->GetTotal_MaxHeatFlux());
- SetHistoryOutputValue("TEMPERATURE", flow_solver->GetTotal_AvgTemperature());
+ SetHistoryOutputValue("TOTAL_HEATFLUX", flow_solver->GetTotal_HeatFlux());
+ SetHistoryOutputValue("MAXIMUM_HEATFLUX", flow_solver->GetTotal_MaxHeatFlux());
SetHistoryOutputValue("MIN_DELTA_TIME", flow_solver->GetMin_Delta_Time());
SetHistoryOutputValue("MAX_DELTA_TIME", flow_solver->GetMax_Delta_Time());
@@ -699,6 +700,10 @@ void CFlowCompOutput::LoadHistoryData(CConfig *config, CGeometry *geometry, CSol
SetAerodynamicCoefficients(config, flow_solver);
+ if (config->GetKind_Solver() == RANS || config->GetKind_Solver() == NAVIER_STOKES){
+ SetHistoryOutputValue("BUFFET", flow_solver->GetTotal_Buffet_Metric());
+ }
+
/*--- Set rotating frame coefficients --- */
SetRotatingFrameCoefficients(config, flow_solver);
diff --git a/SU2_CFD/src/output/CFlowIncOutput.cpp b/SU2_CFD/src/output/CFlowIncOutput.cpp
index 927cb743c8ff..992df9c8e527 100644
--- a/SU2_CFD/src/output/CFlowIncOutput.cpp
+++ b/SU2_CFD/src/output/CFlowIncOutput.cpp
@@ -183,20 +183,20 @@ void CFlowIncOutput::SetHistoryOutputFields(CConfig *config){
/// BEGIN_GROUP: ROTATING_FRAME, DESCRIPTION: Coefficients related to a rotating frame of reference.
/// DESCRIPTION: Merit
- AddHistoryOutput("MERIT", "CMerit", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "Merit", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("FIGURE_OF_MERIT", "CMerit", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "Merit", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: CT
- AddHistoryOutput("CT", "CT", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "CT", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("THRUST", "CT", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "CT", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: CQ
- AddHistoryOutput("CQ", "CQ", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "CQ", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("TORQUE", "CQ", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "CQ", HistoryFieldType::COEFFICIENT);
/// END_GROUP
/// BEGIN_GROUP: HEAT_COEFF, DESCRIPTION: Heat coefficients on all surfaces set with MARKER_MONITORING.
/// DESCRIPTION: Total heatflux
AddHistoryOutput("TOTAL_HEATFLUX", "HF", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total heatflux on all surfaces set with MARKER_MONITORING.", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Maximal heatflux
- AddHistoryOutput("HEATFLUX_MAX", "maxHF", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total maximum heatflux on all surfaces set with MARKER_MONITORING.", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("MAXIMUM_HEATFLUX", "maxHF", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total maximum heatflux on all surfaces set with MARKER_MONITORING.", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Temperature
- AddHistoryOutput("TEMPERATURE", "Temp", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total avg. temperature on all surfaces set with MARKER_MONITORING.", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("AVG_TEMPERATURE", "Temp", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total avg. temperature on all surfaces set with MARKER_MONITORING.", HistoryFieldType::COEFFICIENT);
/// END_GROUP
/// DESCRIPTION: Angle of attack
@@ -293,25 +293,25 @@ void CFlowIncOutput::LoadHistoryData(CConfig *config, CGeometry *geometry, CSolv
}
if (weakly_coupled_heat){
- SetHistoryOutputValue("TOTAL_HEATFLUX", heat_solver->GetTotal_HeatFlux());
- SetHistoryOutputValue("HEATFLUX_MAX", heat_solver->GetTotal_MaxHeatFlux());
- SetHistoryOutputValue("TEMPERATURE", heat_solver->GetTotal_AvgTemperature());
- SetHistoryOutputValue("RMS_TEMPERATURE", log10(heat_solver->GetRes_RMS(0)));
- SetHistoryOutputValue("MAX_TEMPERATURE", log10(heat_solver->GetRes_Max(0)));
- if (multiZone) SetHistoryOutputValue("BGS_TEMPERATURE", log10(heat_solver->GetRes_BGS(0)));
+ SetHistoryOutputValue("TOTAL_HEATFLUX", heat_solver->GetTotal_HeatFlux());
+ SetHistoryOutputValue("MAXIMUM_HEATFLUX", heat_solver->GetTotal_MaxHeatFlux());
+ SetHistoryOutputValue("AVG_TEMPERATURE", heat_solver->GetTotal_AvgTemperature());
+ SetHistoryOutputValue("RMS_TEMPERATURE", log10(heat_solver->GetRes_RMS(0)));
+ SetHistoryOutputValue("MAX_TEMPERATURE", log10(heat_solver->GetRes_Max(0)));
+ if (multiZone) SetHistoryOutputValue("BGS_TEMPERATURE", log10(heat_solver->GetRes_BGS(0)));
}
if (heat){
- SetHistoryOutputValue("TOTAL_HEATFLUX", flow_solver->GetTotal_HeatFlux());
- SetHistoryOutputValue("HEATFLUX_MAX", flow_solver->GetTotal_MaxHeatFlux());
- SetHistoryOutputValue("TEMPERATURE", flow_solver->GetTotal_AvgTemperature());
- if (nDim == 3) SetHistoryOutputValue("RMS_TEMPERATURE", log10(flow_solver->GetRes_RMS(4)));
- else SetHistoryOutputValue("RMS_TEMPERATURE", log10(flow_solver->GetRes_RMS(3)));
-
- if (nDim == 3) SetHistoryOutputValue("MAX_TEMPERATURE", log10(flow_solver->GetRes_Max(4)));
- else SetHistoryOutputValue("MAX_TEMPERATURE", log10(flow_solver->GetRes_Max(3)));
+ SetHistoryOutputValue("TOTAL_HEATFLUX", flow_solver->GetTotal_HeatFlux());
+ SetHistoryOutputValue("MAXIMUM_HEATFLUX", flow_solver->GetTotal_MaxHeatFlux());
+ SetHistoryOutputValue("AVG_TEMPERATURE", flow_solver->GetTotal_AvgTemperature());
+ if (nDim == 3) SetHistoryOutputValue("RMS_TEMPERATURE", log10(flow_solver->GetRes_RMS(4)));
+ else SetHistoryOutputValue("RMS_TEMPERATURE", log10(flow_solver->GetRes_RMS(3)));
+
+ if (nDim == 3) SetHistoryOutputValue("MAX_TEMPERATURE", log10(flow_solver->GetRes_Max(4)));
+ else SetHistoryOutputValue("MAX_TEMPERATURE", log10(flow_solver->GetRes_Max(3)));
if (multiZone){
- if (nDim == 3) SetHistoryOutputValue("BGS_TEMPERATURE", log10(flow_solver->GetRes_BGS(4)));
- else SetHistoryOutputValue("BGS_TEMPERATURE", log10(flow_solver->GetRes_BGS(3)));
+ if (nDim == 3) SetHistoryOutputValue("BGS_TEMPERATURE", log10(flow_solver->GetRes_BGS(4)));
+ else SetHistoryOutputValue("BGS_TEMPERATURE", log10(flow_solver->GetRes_BGS(3)));
}
}
diff --git a/SU2_CFD/src/output/CFlowOutput.cpp b/SU2_CFD/src/output/CFlowOutput.cpp
index f0038d1c6268..f3428d265ef2 100644
--- a/SU2_CFD/src/output/CFlowOutput.cpp
+++ b/SU2_CFD/src/output/CFlowOutput.cpp
@@ -41,13 +41,13 @@ void CFlowOutput::AddAnalyzeSurfaceOutput(CConfig *config){
/// DESCRIPTION: Average mass flow
- AddHistoryOutput("AVG_MASSFLOW", "Avg_Massflow", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total average mass flow on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("SURFACE_MASSFLOW", "Avg_Massflow", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total average mass flow on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Average Mach number
- AddHistoryOutput("AVG_MACH", "Avg_Mach", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total average mach number on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("SURFACE_MACH", "Avg_Mach", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total average mach number on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Average Temperature
- AddHistoryOutput("AVG_TEMP", "Avg_Temp", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total average temperature on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("SURFACE_STATIC_TEMPERATURE","Avg_Temp", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total average temperature on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Average Pressure
- AddHistoryOutput("AVG_PRESS", "Avg_Press", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total average pressure on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("SURFACE_STATIC_PRESSURE", "Avg_Press", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total average pressure on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Average Density
AddHistoryOutput("AVG_DENSITY", "Avg_Density", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total average density on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Average Enthalpy
@@ -55,19 +55,19 @@ void CFlowOutput::AddAnalyzeSurfaceOutput(CConfig *config){
/// DESCRIPTION: Average velocity in normal direction of the surface
AddHistoryOutput("AVG_NORMALVEL", "Avg_NormalVel", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total average normal velocity on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Flow uniformity
- AddHistoryOutput("UNIFORMITY", "Uniformity", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total flow uniformity on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("SURFACE_UNIFORMITY", "Uniformity", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total flow uniformity on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Secondary strength
- AddHistoryOutput("SECONDARY_STRENGTH", "Secondary_Strength", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total secondary strength on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("SURFACE_SECONDARY", "Secondary_Strength", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total secondary strength on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Momentum distortion
- AddHistoryOutput("MOMENTUM_DISTORTION", "Momentum_Distortion", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total momentum distortion on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("SURFACE_MOM_DISTORTION", "Momentum_Distortion", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total momentum distortion on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Secondary over uniformity
- AddHistoryOutput("SECONDARY_OVER_UNIFORMITY", "Secondary_Over_Uniformity", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total secondary over uniformity on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("SURFACE_SECOND_OVER_UNIFORM","Secondary_Over_Uniformity",ScreenOutputFormat::SCIENTIFIC,"FLOW_COEFF", "Total secondary over uniformity on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Average total temperature
- AddHistoryOutput("AVG_TOTALTEMP", "Avg_TotalTemp", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total average total temperature all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("SURFACE_TOTAL_TEMPERATURE","Avg_TotalTemp", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total average total temperature all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Average total pressure
- AddHistoryOutput("AVG_TOTALPRESS", "Avg_TotalPress", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total average total pressure on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("SURFACE_TOTAL_PRESSURE", "Avg_TotalPress", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total average total pressure on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Pressure drop
- AddHistoryOutput("PRESSURE_DROP", "Pressure_Drop", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total pressure drop on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("SURFACE_PRESSURE_DROP", "Pressure_Drop", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF", "Total pressure drop on all markers set in MARKER_ANALYZE", HistoryFieldType::COEFFICIENT);
/// END_GROUP
@@ -78,13 +78,13 @@ void CFlowOutput::AddAnalyzeSurfaceOutput(CConfig *config){
}
/// DESCRIPTION: Average mass flow
- AddHistoryOutputPerSurface("AVG_MASSFLOW", "Avg_Massflow", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
+ AddHistoryOutputPerSurface("SURFACE_MASSFLOW", "Avg_Massflow", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Average Mach number
- AddHistoryOutputPerSurface("AVG_MACH", "Avg_Mach", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
+ AddHistoryOutputPerSurface("SURFACE_MACH", "Avg_Mach", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Average Temperature
- AddHistoryOutputPerSurface("AVG_TEMP", "Avg_Temp", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
+ AddHistoryOutputPerSurface("SURFACE_STATIC_TEMPERATURE","Avg_Temp", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Average Pressure
- AddHistoryOutputPerSurface("AVG_PRESS", "Avg_Press", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
+ AddHistoryOutputPerSurface("SURFACE_STATIC_PRESSURE", "Avg_Press", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Average Density
AddHistoryOutputPerSurface("AVG_DENSITY", "Avg_Density", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Average Enthalpy
@@ -92,19 +92,19 @@ void CFlowOutput::AddAnalyzeSurfaceOutput(CConfig *config){
/// DESCRIPTION: Average velocity in normal direction of the surface
AddHistoryOutputPerSurface("AVG_NORMALVEL", "Avg_NormalVel", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Flow uniformity
- AddHistoryOutputPerSurface("UNIFORMITY", "Uniformity", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
+ AddHistoryOutputPerSurface("SURFACE_UNIFORMITY", "Uniformity", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Secondary strength
- AddHistoryOutputPerSurface("SECONDARY_STRENGTH", "Secondary_Strength", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
+ AddHistoryOutputPerSurface("SURFACE_SECONDARY", "Secondary_Strength", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Momentum distortion
- AddHistoryOutputPerSurface("MOMENTUM_DISTORTION", "Momentum_Distortion", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
+ AddHistoryOutputPerSurface("SURFACE_MOM_DISTORTION", "Momentum_Distortion", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Secondary over uniformity
- AddHistoryOutputPerSurface("SECONDARY_OVER_UNIFORMITY", "Secondary_Over_Uniformity", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
+ AddHistoryOutputPerSurface("SURFACE_SECOND_OVER_UNIFORM","Secondary_Over_Uniformity",ScreenOutputFormat::SCIENTIFIC,"FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Average total temperature
- AddHistoryOutputPerSurface("AVG_TOTALTEMP", "Avg_TotalTemp", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
+ AddHistoryOutputPerSurface("SURFACE_TOTAL_TEMPERATURE","Avg_TotalTemp", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Average total pressure
- AddHistoryOutputPerSurface("AVG_TOTALPRESS", "Avg_TotalPress", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
+ AddHistoryOutputPerSurface("SURFACE_TOTAL_PRESSURE", "Avg_TotalPress", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Pressure drop
- AddHistoryOutputPerSurface("PRESSURE_DROP", "Pressure_Drop", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
+ AddHistoryOutputPerSurface("SURFACE_PRESSURE_DROP", "Pressure_Drop", ScreenOutputFormat::SCIENTIFIC, "FLOW_COEFF_SURF", Marker_Analyze, HistoryFieldType::COEFFICIENT);
/// END_GROUP
}
@@ -470,22 +470,22 @@ void CFlowOutput::SetAnalyzeSurface(CSolver *solver, CGeometry *geometry, CConfi
su2double MassFlow = Surface_MassFlow_Total[iMarker_Analyze] * config->GetDensity_Ref() * config->GetVelocity_Ref();
if (config->GetSystemMeasurements() == US) MassFlow *= 32.174;
- SetHistoryOutputPerSurfaceValue("AVG_MASSFLOW", MassFlow, iMarker_Analyze);
+ SetHistoryOutputPerSurfaceValue("SURFACE_MASSFLOW", MassFlow, iMarker_Analyze);
Tot_Surface_MassFlow += MassFlow;
config->SetSurface_MassFlow(iMarker_Analyze, MassFlow);
su2double Mach = Surface_Mach_Total[iMarker_Analyze];
- SetHistoryOutputPerSurfaceValue("AVG_MACH", Mach, iMarker_Analyze);
+ SetHistoryOutputPerSurfaceValue("SURFACE_MACH", Mach, iMarker_Analyze);
Tot_Surface_Mach += Mach;
config->SetSurface_Mach(iMarker_Analyze, Mach);
su2double Temperature = Surface_Temperature_Total[iMarker_Analyze] * config->GetTemperature_Ref();
- SetHistoryOutputPerSurfaceValue("AVG_TEMP", Temperature, iMarker_Analyze);
+ SetHistoryOutputPerSurfaceValue("SURFACE_STATIC_TEMPERATURE", Temperature, iMarker_Analyze);
Tot_Surface_Temperature += Temperature;
config->SetSurface_Temperature(iMarker_Analyze, Temperature);
su2double Pressure = Surface_Pressure_Total[iMarker_Analyze] * config->GetPressure_Ref();
- SetHistoryOutputPerSurfaceValue("AVG_PRESS", Pressure, iMarker_Analyze);
+ SetHistoryOutputPerSurfaceValue("SURFACE_STATIC_PRESSURE", Pressure, iMarker_Analyze);
Tot_Surface_Pressure += Pressure;
config->SetSurface_Pressure(iMarker_Analyze, Pressure);
@@ -505,32 +505,32 @@ void CFlowOutput::SetAnalyzeSurface(CSolver *solver, CGeometry *geometry, CConfi
config->SetSurface_NormalVelocity(iMarker_Analyze, NormalVelocity);
su2double Uniformity = sqrt(Surface_StreamVelocity2_Total[iMarker_Analyze]) * config->GetVelocity_Ref();
- SetHistoryOutputPerSurfaceValue("UNIFORMITY", Uniformity, iMarker_Analyze);
+ SetHistoryOutputPerSurfaceValue("SURFACE_UNIFORMITY", Uniformity, iMarker_Analyze);
Tot_Surface_StreamVelocity2 += Uniformity;
config->SetSurface_Uniformity(iMarker_Analyze, Uniformity);
su2double SecondaryStrength = sqrt(Surface_TransvVelocity2_Total[iMarker_Analyze]) * config->GetVelocity_Ref();
- SetHistoryOutputPerSurfaceValue("SECONDARY_STRENGTH", SecondaryStrength, iMarker_Analyze);
+ SetHistoryOutputPerSurfaceValue("SURFACE_SECONDARY", SecondaryStrength, iMarker_Analyze);
Tot_Surface_TransvVelocity2 += SecondaryStrength;
config->SetSurface_SecondaryStrength(iMarker_Analyze, SecondaryStrength);
su2double MomentumDistortion = Surface_MomentumDistortion_Total[iMarker_Analyze];
- SetHistoryOutputPerSurfaceValue("MOMENTUM_DISTORTION", MomentumDistortion, iMarker_Analyze);
+ SetHistoryOutputPerSurfaceValue("SURFACE_MOM_DISTORTION", MomentumDistortion, iMarker_Analyze);
Tot_Momentum_Distortion += MomentumDistortion;
config->SetSurface_MomentumDistortion(iMarker_Analyze, MomentumDistortion);
su2double SecondOverUniform = SecondaryStrength/Uniformity;
- SetHistoryOutputPerSurfaceValue("SECONDARY_OVER_UNIFORMITY", SecondOverUniform, iMarker_Analyze);
+ SetHistoryOutputPerSurfaceValue("SURFACE_SECOND_OVER_UNIFORM", SecondOverUniform, iMarker_Analyze);
Tot_SecondOverUniformity += SecondOverUniform;
config->SetSurface_SecondOverUniform(iMarker_Analyze, SecondOverUniform);
su2double TotalTemperature = Surface_TotalTemperature_Total[iMarker_Analyze] * config->GetTemperature_Ref();
- SetHistoryOutputPerSurfaceValue("AVG_TOTALTEMP", TotalTemperature, iMarker_Analyze);
+ SetHistoryOutputPerSurfaceValue("SURFACE_TOTAL_TEMPERATURE", TotalTemperature, iMarker_Analyze);
Tot_Surface_TotalTemperature += TotalTemperature;
config->SetSurface_TotalTemperature(iMarker_Analyze, TotalTemperature);
su2double TotalPressure = Surface_TotalPressure_Total[iMarker_Analyze] * config->GetPressure_Ref();
- SetHistoryOutputPerSurfaceValue("AVG_TOTALPRESS", TotalPressure, iMarker_Analyze);
+ SetHistoryOutputPerSurfaceValue("SURFACE_TOTAL_PRESSURE", TotalPressure, iMarker_Analyze);
Tot_Surface_TotalPressure += TotalPressure;
config->SetSurface_TotalPressure(iMarker_Analyze, TotalPressure);
@@ -549,24 +549,24 @@ void CFlowOutput::SetAnalyzeSurface(CSolver *solver, CGeometry *geometry, CConfi
Pressure_Drop = (Surface_Pressure_Total[1]-Surface_Pressure_Total[0]) * config->GetPressure_Ref();
config->SetSurface_PressureDrop(iMarker_Analyze, Pressure_Drop);
}
- SetHistoryOutputPerSurfaceValue("PRESSURE_DROP", Pressure_Drop, iMarker_Analyze);
+ SetHistoryOutputPerSurfaceValue("SURFACE_PRESSURE_DROP", Pressure_Drop, iMarker_Analyze);
Tot_Surface_PressureDrop += Pressure_Drop;
}
- SetHistoryOutputValue("AVG_MASSFLOW", Tot_Surface_MassFlow);
- SetHistoryOutputValue("AVG_MACH", Tot_Surface_Mach);
- SetHistoryOutputValue("AVG_TEMP", Tot_Surface_Temperature);
- SetHistoryOutputValue("AVG_PRESS", Tot_Surface_Pressure);
+ SetHistoryOutputValue("SURFACE_MASSFLOW", Tot_Surface_MassFlow);
+ SetHistoryOutputValue("SURFACE_MACH", Tot_Surface_Mach);
+ SetHistoryOutputValue("SURFACE_STATIC_TEMPERATURE", Tot_Surface_Temperature);
+ SetHistoryOutputValue("SURFACE_STATIC_PRESSURE", Tot_Surface_Pressure);
SetHistoryOutputValue("AVG_DENSITY", Tot_Surface_Density);
SetHistoryOutputValue("AVG_ENTHALPY", Tot_Surface_Enthalpy);
SetHistoryOutputValue("AVG_NORMALVEL", Tot_Surface_Enthalpy);
- SetHistoryOutputValue("UNIFORMITY", Tot_Surface_StreamVelocity2);
- SetHistoryOutputValue("SECONDARY_STRENGTH", Tot_Surface_TransvVelocity2);
- SetHistoryOutputValue("MOMENTUM_DISTORTION", Tot_Momentum_Distortion);
- SetHistoryOutputValue("SECONDARY_OVER_UNIFORMITY", Tot_SecondOverUniformity);
- SetHistoryOutputValue("AVG_TOTALTEMP", Tot_Surface_TotalTemperature);
- SetHistoryOutputValue("AVG_TOTALPRESS", Tot_Surface_TotalPressure);
- SetHistoryOutputValue("PRESSURE_DROP", Tot_Surface_PressureDrop);
+ SetHistoryOutputValue("SURFACE_UNIFORMITY", Tot_Surface_StreamVelocity2);
+ SetHistoryOutputValue("SURFACE_SECONDARY", Tot_Surface_TransvVelocity2);
+ SetHistoryOutputValue("SURFACE_MOM_DISTORTION", Tot_Momentum_Distortion);
+ SetHistoryOutputValue("SURFACE_SECOND_OVER_UNIFORM", Tot_SecondOverUniformity);
+ SetHistoryOutputValue("SURFACE_TOTAL_TEMPERATURE", Tot_Surface_TotalTemperature);
+ SetHistoryOutputValue("SURFACE_TOTAL_PRESSURE", Tot_Surface_TotalPressure);
+ SetHistoryOutputValue("SURFACE_PRESSURE_DROP", Tot_Surface_PressureDrop);
if ((rank == MASTER_NODE) && !config->GetDiscrete_Adjoint() && output) {
@@ -797,15 +797,15 @@ void CFlowOutput::SetAerodynamicCoefficients(CConfig *config, CSolver *flow_solv
void CFlowOutput::SetRotatingFrameCoefficients(CConfig *config, CSolver *flow_solver) {
- SetHistoryOutputValue("CT", flow_solver->GetTotal_CT());
- SetHistoryOutputValue("CQ", flow_solver->GetTotal_CQ());
- SetHistoryOutputValue("MERIT", flow_solver->GetTotal_CMerit());
+ SetHistoryOutputValue("THRUST", flow_solver->GetTotal_CT());
+ SetHistoryOutputValue("TORQUE", flow_solver->GetTotal_CQ());
+ SetHistoryOutputValue("FIGURE_OF_MERIT", flow_solver->GetTotal_CMerit());
}
void CFlowOutput::Add_CpInverseDesignOutput(CConfig *config){
- AddHistoryOutput("CP_DIFF", "Cp_Diff", ScreenOutputFormat::FIXED, "CP_DIFF", "Cp difference for inverse design");
+ AddHistoryOutput("INVERSE_DESIGN_PRESSURE", "Cp_Diff", ScreenOutputFormat::FIXED, "CP_DIFF", "Cp difference for inverse design");
}
@@ -929,7 +929,7 @@ void CFlowOutput::Set_CpInverseDesign(CSolver *solver, CGeometry *geometry, CCon
solver->SetTotal_CpDiff(PressDiff);
- SetHistoryOutputValue("CP_DIFF", PressDiff);
+ SetHistoryOutputValue("INVERSE_DESIGN_PRESSURE", PressDiff);
}
diff --git a/SU2_CFD/src/output/CHeatOutput.cpp b/SU2_CFD/src/output/CHeatOutput.cpp
index 9d76e88542ea..7f6738fe000d 100644
--- a/SU2_CFD/src/output/CHeatOutput.cpp
+++ b/SU2_CFD/src/output/CHeatOutput.cpp
@@ -83,7 +83,7 @@ void CHeatOutput::LoadHistoryData(CConfig *config, CGeometry *geometry, CSolver
CSolver* heat_solver = solver[HEAT_SOL];
SetHistoryOutputValue("TOTAL_HEATFLUX", heat_solver->GetTotal_HeatFlux());
- SetHistoryOutputValue("HEATFLUX_MAX", heat_solver->GetTotal_MaxHeatFlux());
+ SetHistoryOutputValue("MAXIMUM_HEATFLUX", heat_solver->GetTotal_MaxHeatFlux());
SetHistoryOutputValue("AVG_TEMPERATURE", heat_solver->GetTotal_AvgTemperature());
SetHistoryOutputValue("RMS_TEMPERATURE", log10(heat_solver->GetRes_RMS(0)));
SetHistoryOutputValue("MAX_TEMPERATURE", log10(heat_solver->GetRes_Max(0)));
@@ -107,7 +107,7 @@ void CHeatOutput::SetHistoryOutputFields(CConfig *config){
AddHistoryOutput("BGS_TEMPERATURE", "bgs[T]", ScreenOutputFormat::FIXED, "BGS_RES", "Block-Gauss seidel residual of the temperature", HistoryFieldType::RESIDUAL);
AddHistoryOutput("TOTAL_HEATFLUX", "HF", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total heatflux on all surfaces defined in MARKER_MONITORING", HistoryFieldType::COEFFICIENT);
- AddHistoryOutput("HEATFLUX_MAX", "MaxHF", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total maximal heatflux on all surfaces defined in MARKER_MONITORING", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("MAXIMUM_HEATFLUX", "MaxHF", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total maximal heatflux on all surfaces defined in MARKER_MONITORING", HistoryFieldType::COEFFICIENT);
AddHistoryOutput("AVG_TEMPERATURE", "AvgTemp", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total average temperature on all surfaces defined in MARKER_MONITORING", HistoryFieldType::COEFFICIENT);
AddHistoryOutput("CFL_NUMBER", "CFL number", ScreenOutputFormat::SCIENTIFIC, "CFL_NUMBER", "Current value of the CFL number");
diff --git a/SU2_CFD/src/output/CNEMOCompOutput.cpp b/SU2_CFD/src/output/CNEMOCompOutput.cpp
index 836e78200254..763f9006af56 100644
--- a/SU2_CFD/src/output/CNEMOCompOutput.cpp
+++ b/SU2_CFD/src/output/CNEMOCompOutput.cpp
@@ -225,11 +225,11 @@ void CNEMOCompOutput::SetHistoryOutputFields(CConfig *config){
/// BEGIN_GROUP: ROTATING_FRAME, DESCRIPTION: Coefficients related to a rotating frame of reference.
/// DESCRIPTION: Merit
- AddHistoryOutput("MERIT", "CMerit", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "Merit", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("FIGURE_OF_MERIT", "CMerit", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "Merit", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: CT
- AddHistoryOutput("CT", "CT", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "CT", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("THRUST", "CT", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "CT", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: CQ
- AddHistoryOutput("CQ", "CQ", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "CQ", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("TORQUE", "CQ", ScreenOutputFormat::SCIENTIFIC, "ROTATING_FRAME", "CQ", HistoryFieldType::COEFFICIENT);
/// END_GROUP
/// BEGIN_GROUP: EQUIVALENT_AREA, DESCRIPTION: Equivalent area.
@@ -241,11 +241,9 @@ void CNEMOCompOutput::SetHistoryOutputFields(CConfig *config){
/// /// BEGIN_GROUP: HEAT_COEFF, DESCRIPTION: Heat coefficients on all surfaces set with MARKER_MONITORING.
/// DESCRIPTION: Total heatflux
- AddHistoryOutput("HEATFLUX", "HF", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total heatflux on all surfaces set with MARKER_MONITORING.", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("TOTAL_HEATFLUX", "HF", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total heatflux on all surfaces set with MARKER_MONITORING.", HistoryFieldType::COEFFICIENT);
/// DESCRIPTION: Maximal heatflux
- AddHistoryOutput("HEATFLUX_MAX", "maxHF", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total maximum heatflux on all surfaces set with MARKER_MONITORING.", HistoryFieldType::COEFFICIENT);
- /// DESCRIPTION: Temperature
- AddHistoryOutput("TEMPERATURE", "Temp", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total avg. temperature on all surfaces set with MARKER_MONITORING.", HistoryFieldType::COEFFICIENT);
+ AddHistoryOutput("MAXIMUM_HEATFLUX", "maxHF", ScreenOutputFormat::SCIENTIFIC, "HEAT", "Total maximum heatflux on all surfaces set with MARKER_MONITORING.", HistoryFieldType::COEFFICIENT);
/// END_GROUP
AddHistoryOutput("CFL_NUMBER", "CFL number", ScreenOutputFormat::SCIENTIFIC, "CFL_NUMBER", "Current value of the CFL number");
@@ -441,7 +439,7 @@ void CNEMOCompOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CSolv
SetVolumeOutputValue("COORD-Y", iPoint, Node_Geo->GetCoord(iPoint, 1));
if (nDim == 3)
SetVolumeOutputValue("COORD-Z", iPoint, Node_Geo->GetCoord(iPoint, 2));
-
+
for(iSpecies = 0; iSpecies < nSpecies; iSpecies++)
SetVolumeOutputValue("DENSITY_" + std::to_string(iSpecies), iPoint, Node_Flow->GetSolution(iPoint, iSpecies));
@@ -581,7 +579,7 @@ void CNEMOCompOutput::LoadHistoryData(CConfig *config, CGeometry *geometry, CSol
for(iSpecies = 0; iSpecies < nSpecies; iSpecies++)
SetHistoryOutputValue("RMS_DENSITY_" + std::to_string(iSpecies), log10(NEMO_solver->GetRes_RMS(iSpecies)));
-
+
SetHistoryOutputValue("RMS_MOMENTUM-X", log10(NEMO_solver->GetRes_RMS(nSpecies)));
SetHistoryOutputValue("RMS_MOMENTUM-Y", log10(NEMO_solver->GetRes_RMS(nSpecies+1)));
if (nDim == 2){
@@ -649,9 +647,8 @@ void CNEMOCompOutput::LoadHistoryData(CConfig *config, CGeometry *geometry, CSol
}
}
- SetHistoryOutputValue("HEATFLUX", NEMO_solver->GetTotal_HeatFlux());
- SetHistoryOutputValue("HEATFLUX_MAX", NEMO_solver->GetTotal_MaxHeatFlux());
- SetHistoryOutputValue("TEMPERATURE", NEMO_solver->GetTotal_AvgTemperature());
+ SetHistoryOutputValue("TOTAL_HEATFLUX", NEMO_solver->GetTotal_HeatFlux());
+ SetHistoryOutputValue("MAXIMUM_HEATFLUX", NEMO_solver->GetTotal_MaxHeatFlux());
SetHistoryOutputValue("CFL_NUMBER", config->GetCFL(MESH_0));
diff --git a/SU2_CFD/src/output/output_structure_legacy.cpp b/SU2_CFD/src/output/output_structure_legacy.cpp
index 59b76a3aee8d..aca2fa2c602b 100644
--- a/SU2_CFD/src/output/output_structure_legacy.cpp
+++ b/SU2_CFD/src/output/output_structure_legacy.cpp
@@ -347,7 +347,7 @@ void COutputLegacy::SetConvHistory_Header(ofstream *ConvHist_file, CConfig *conf
bool rotating_frame = config->GetRotating_Frame();
bool aeroelastic = config->GetAeroelastic_Simulation();
bool equiv_area = config->GetEquivArea();
- bool buffet = (config->GetBuffet_Monitoring() || config->GetKind_ObjFunc() == BUFFET_SENSOR);
+ bool buffet = (config->GetViscous() || config->GetKind_Regime() == COMPRESSIBLE);
bool engine = ((config->GetnMarker_EngineInflow() != 0) || (config->GetnMarker_EngineExhaust() != 0));
bool actuator_disk = ((config->GetnMarker_ActDiskInlet() != 0) || (config->GetnMarker_ActDiskOutlet() != 0));
bool turbulent = ((config->GetKind_Solver() == RANS) || (config->GetKind_Solver() == ADJ_RANS) ||
@@ -760,7 +760,7 @@ void COutputLegacy::SetConvHistory_Body(ofstream *ConvHist_file,
(config[val_iZone]->GetKind_Solver() == ADJ_NAVIER_STOKES) || (config[val_iZone]->GetKind_Solver() == ADJ_RANS) ||
(config[val_iZone]->GetKind_Solver() == INC_EULER) || (config[val_iZone]->GetKind_Solver() == INC_NAVIER_STOKES) ||
(config[val_iZone]->GetKind_Solver() == INC_RANS);
- bool buffet = (config[val_iZone]->GetBuffet_Monitoring() || config[val_iZone]->GetKind_ObjFunc() == BUFFET_SENSOR);
+ bool buffet = (config[val_iZone]->GetViscous() || config[val_iZone]->GetKind_Regime() == COMPRESSIBLE);
bool fem = ((config[val_iZone]->GetKind_Solver() == FEM_ELASTICITY) || // FEM structural solver.
(config[val_iZone]->GetKind_Solver() == DISC_ADJ_FEM));
diff --git a/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp b/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp
index 1621d22f12f0..fdcb0df49219 100644
--- a/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp
+++ b/SU2_CFD/src/solvers/CDiscAdjFEASolver.cpp
@@ -462,67 +462,6 @@ void CDiscAdjFEASolver::RegisterOutput(CGeometry *geometry, CConfig *config){
}
-void CDiscAdjFEASolver::RegisterObj_Func(CConfig *config){
-
- /*--- Here we can add new (scalar) objective functions ---*/
-
- switch (config->GetKind_ObjFunc()){
- case REFERENCE_GEOMETRY:
- ObjFunc_Value = direct_solver->GetTotal_OFRefGeom();
- break;
- case REFERENCE_NODE:
- ObjFunc_Value = direct_solver->GetTotal_OFRefNode();
- break;
- case VOLUME_FRACTION:
- case TOPOL_DISCRETENESS:
- ObjFunc_Value = direct_solver->GetTotal_OFVolFrac();
- break;
- case TOPOL_COMPLIANCE:
- ObjFunc_Value = direct_solver->GetTotal_OFCompliance();
- break;
- default:
- ObjFunc_Value = 0.0; // If the objective function is computed in a different physical problem
- break;
- /*--- Template for new objective functions where TemplateObjFunction()
- * is the routine that returns the obj. function value. The computation
- * must be done while the tape is active, i.e. between AD::StartRecording() and
- * AD::StopRecording() in DiscAdjMeanFlowIteration::Iterate(). The best place is somewhere
- * inside MeanFlowIteration::Iterate().
- *
- * case TEMPLATE_OBJECTIVE:
- * ObjFunc_Value = TemplateObjFunction();
- * break;
- * ---*/
- }
- if (rank == MASTER_NODE){
- AD::RegisterOutput(ObjFunc_Value);
- }
-}
-
-
-void CDiscAdjFEASolver::SetAdj_ObjFunc(CGeometry *geometry, CConfig *config){
-
- bool dynamic = (config->GetTime_Domain());
- unsigned long IterAvg_Obj = config->GetIter_Avg_Objective();
- unsigned long TimeIter = config->GetTimeIter();
- su2double seeding = 1.0;
-
- if (dynamic){
- if (TimeIter < IterAvg_Obj){
- seeding = 1.0/((su2double)IterAvg_Obj);
- }
- else{
- seeding = 0.0;
- }
- }
-
- if (rank == MASTER_NODE){
- SU2_TYPE::SetDerivative(ObjFunc_Value, SU2_TYPE::GetValue(seeding));
- } else {
- SU2_TYPE::SetDerivative(ObjFunc_Value, 0.0);
- }
-}
-
void CDiscAdjFEASolver::ExtractAdjoint_Solution(CGeometry *geometry, CConfig *config){
bool dynamic = config->GetTime_Domain();
diff --git a/SU2_CFD/src/solvers/CDiscAdjSolver.cpp b/SU2_CFD/src/solvers/CDiscAdjSolver.cpp
index de7eebe5d27e..de2de7f09c2e 100644
--- a/SU2_CFD/src/solvers/CDiscAdjSolver.cpp
+++ b/SU2_CFD/src/solvers/CDiscAdjSolver.cpp
@@ -394,87 +394,6 @@ void CDiscAdjSolver::RegisterOutput(CGeometry *geometry, CConfig *config) {
direct_solver->GetNodes()->RegisterSolution(input, push_index);
}
-void CDiscAdjSolver::RegisterObj_Func(CConfig *config) {
-
- /*--- Here we can add new (scalar) objective functions ---*/
- if (config->GetnObj()==1) {
- switch (config->GetKind_ObjFunc()) {
- case DRAG_COEFFICIENT:
- ObjFunc_Value = direct_solver->GetTotal_CD();
- if (config->GetFixed_CL_Mode()) ObjFunc_Value -= config->GetdCD_dCL() * direct_solver->GetTotal_CL();
- if (config->GetFixed_CM_Mode()) ObjFunc_Value -= config->GetdCD_dCMy() * direct_solver->GetTotal_CMy();
- break;
- case LIFT_COEFFICIENT:
- ObjFunc_Value = direct_solver->GetTotal_CL();
- break;
- case SIDEFORCE_COEFFICIENT:
- ObjFunc_Value = direct_solver->GetTotal_CSF();
- break;
- case EFFICIENCY:
- ObjFunc_Value = direct_solver->GetTotal_CEff();
- break;
- case MOMENT_X_COEFFICIENT:
- ObjFunc_Value = direct_solver->GetTotal_CMx();
- break;
- case MOMENT_Y_COEFFICIENT:
- ObjFunc_Value = direct_solver->GetTotal_CMy();
- break;
- case MOMENT_Z_COEFFICIENT:
- ObjFunc_Value = direct_solver->GetTotal_CMz();
- break;
- case EQUIVALENT_AREA:
- ObjFunc_Value = direct_solver->GetTotal_CEquivArea();
- break;
- case BUFFET_SENSOR:
- ObjFunc_Value = direct_solver->GetTotal_Buffet_Metric();
- break;
- case TOTAL_HEATFLUX:
- ObjFunc_Value = direct_solver->GetTotal_HeatFlux();
- break;
- }
-
- /*--- Template for new objective functions where TemplateObjFunction()
- * is the routine that returns the obj. function value. The computation
- * must be done while the tape is active, i.e. between AD::StartRecording() and
- * AD::StopRecording() in DiscAdjMeanFlowIteration::Iterate(). The best place is somewhere
- * inside MeanFlowIteration::Iterate().
- *
- * case TEMPLATE_OBJECTIVE:
- * ObjFunc_Value = TemplateObjFunction();
- * break;
- * ---*/
- }
- else{
- ObjFunc_Value = direct_solver->GetTotal_ComboObj();
- }
- if (rank == MASTER_NODE) {
- AD::RegisterOutput(ObjFunc_Value);
- }
-}
-
-void CDiscAdjSolver::SetAdj_ObjFunc(CGeometry *geometry, CConfig *config) {
-
- bool time_stepping = config->GetTime_Marching() != STEADY;
- unsigned long IterAvg_Obj = config->GetIter_Avg_Objective();
- unsigned long TimeIter = config->GetTimeIter();
- su2double seeding = 1.0;
-
- if (time_stepping) {
- if (TimeIter < IterAvg_Obj) {
- seeding = 1.0/((su2double)IterAvg_Obj);
- }
- else {
- seeding = 0.0;
- }
- }
-
- if (rank == MASTER_NODE) {
- SU2_TYPE::SetDerivative(ObjFunc_Value, SU2_TYPE::GetValue(seeding));
- } else {
- SU2_TYPE::SetDerivative(ObjFunc_Value, 0.0);
- }
-}
-
void CDiscAdjSolver::ExtractAdjoint_Solution(CGeometry *geometry, CConfig *config){
const bool time_n1_needed = config->GetTime_Marching() == DT_STEPPING_2ND;
diff --git a/SU2_CFD/src/solvers/CEulerSolver.cpp b/SU2_CFD/src/solvers/CEulerSolver.cpp
index d05bbfc0bc3a..73806f978d92 100644
--- a/SU2_CFD/src/solvers/CEulerSolver.cpp
+++ b/SU2_CFD/src/solvers/CEulerSolver.cpp
@@ -5522,7 +5522,7 @@ void CEulerSolver::UpdateCustomBoundaryConditions(CGeometry **geometry_container
}
}
-void CEulerSolver::Evaluate_ObjFunc(CConfig *config) {
+void CEulerSolver::Evaluate_ObjFunc(const CConfig *config) {
unsigned short iMarker_Monitoring, Kind_ObjFunc;
su2double Weight_ObjFunc;
@@ -5573,9 +5573,6 @@ void CEulerSolver::Evaluate_ObjFunc(CConfig *config) {
case SURFACE_MACH:
Total_ComboObj+=Weight_ObjFunc*config->GetSurface_Mach(0);
break;
- case TOTAL_AVG_TEMPERATURE:
- Total_ComboObj+=Weight_ObjFunc*config->GetSurface_Temperature(0);
- break;
default:
break;
}
diff --git a/SU2_CFD/src/solvers/CFEASolver.cpp b/SU2_CFD/src/solvers/CFEASolver.cpp
index fe10390bf57c..f9afa46d1651 100644
--- a/SU2_CFD/src/solvers/CFEASolver.cpp
+++ b/SU2_CFD/src/solvers/CFEASolver.cpp
@@ -194,7 +194,9 @@ CFEASolver::CFEASolver(CGeometry *geometry, CConfig *config) : CSolver() {
/*--- Initialize the value of the total objective function ---*/
Total_OFRefGeom = 0.0;
Total_OFRefNode = 0.0;
- Total_OFVolFrac = 0.0;
+ Total_OFVolFrac = 1.0;
+ Total_OFDiscreteness = 0.0;
+ Total_OFCompliance = 0.0;
/*--- Initialize the value of the global objective function ---*/
Global_OFRefGeom = 0.0;
@@ -1909,34 +1911,43 @@ CSysVector computeLinearResidual(const CSysMatrix& A,
return r;
}
-void CFEASolver::Postprocessing(CGeometry *geometry, CSolver **solver_container,
- CConfig *config, CNumerics **numerics, unsigned short iMesh) {
+void CFEASolver::Postprocessing(CGeometry *geometry, CConfig *config, CNumerics **numerics, bool of_comp_mode) {
- const bool nonlinear_analysis = (config->GetGeometricConditions() == LARGE_DEFORMATIONS);
-
- /*--- Compute stresses for monitoring and output. ---*/
-
- Compute_NodalStress(geometry, numerics, config);
-
- /*--- Compute the objective function to be able to monitor it. ---*/
+ /*--- Compute the objective function. ---*/
const auto kindObjFunc = config->GetKind_ObjFunc();
+ const bool penalty = ((kindObjFunc == REFERENCE_GEOMETRY) || (kindObjFunc == REFERENCE_NODE)) &&
+ ((config->GetDV_FEA() == YOUNG_MODULUS) || (config->GetDV_FEA() == DENSITY_VAL));
+
+ if (of_comp_mode) {
+ if (penalty) Stiffness_Penalty(geometry, numerics, config);
+
+ switch (kindObjFunc) {
+ case REFERENCE_GEOMETRY: Compute_OFRefGeom(geometry, config); break;
+ case REFERENCE_NODE: Compute_OFRefNode(geometry, config); break;
+ case VOLUME_FRACTION: Compute_OFVolFrac(geometry, config); break;
+ case TOPOL_DISCRETENESS: Compute_OFVolFrac(geometry, config); break;
+ case TOPOL_COMPLIANCE: Compute_OFCompliance(geometry, config); break;
+ }
+ return;
+ }
- if (((kindObjFunc == REFERENCE_GEOMETRY) || (kindObjFunc == REFERENCE_NODE)) &&
- ((config->GetDV_FEA() == YOUNG_MODULUS) || (config->GetDV_FEA() == DENSITY_VAL))) {
+ if (!config->GetDiscrete_Adjoint()) {
+ /*--- Compute stresses for monitoring and output. ---*/
+ Compute_NodalStress(geometry, numerics, config);
- Stiffness_Penalty(geometry, solver_container, numerics, config);
+ /*--- Compute functions for monitoring and output. ---*/
+ if (penalty) Stiffness_Penalty(geometry, numerics, config);
+ Compute_OFRefNode(geometry, config);
+ Compute_OFCompliance(geometry, config);
+ if (config->GetRefGeom()) Compute_OFRefGeom(geometry, config);
+ if (config->GetTopology_Optimization()) Compute_OFVolFrac(geometry, config);
}
- switch (kindObjFunc) {
- case REFERENCE_GEOMETRY: Compute_OFRefGeom(geometry, config); break;
- case REFERENCE_NODE: Compute_OFRefNode(geometry, config); break;
- case VOLUME_FRACTION: Compute_OFVolFrac(geometry, config); break;
- case TOPOL_DISCRETENESS: Compute_OFVolFrac(geometry, config); break;
- case TOPOL_COMPLIANCE: Compute_OFCompliance(geometry, config); break;
- }
+ /*--- Residuals do not have to be computed while recording. ---*/
+ if (config->GetDiscrete_Adjoint() && AD::TapeActive()) return;
- if (nonlinear_analysis) {
+ if (config->GetGeometricConditions() == LARGE_DEFORMATIONS) {
/*--- For nonlinear analysis we have 3 convergence criteria: ---*/
/*--- UTOL = norm(Delta_U(k)): ABSOLUTE, norm of the incremental displacements ---*/
@@ -3006,9 +3017,6 @@ void CFEASolver::Compute_OFRefGeom(CGeometry *geometry, const CConfig *config){
Global_OFRefGeom += Total_OFRefGeom;
- /*--- To be accessible from the output. ---*/
- Total_OFCombo = Total_OFRefGeom;
-
/// TODO: Temporary output files for the direct mode.
if ((rank == MASTER_NODE) && (config->GetDirectDiff() != NO_DERIVATIVE)) {
@@ -3052,9 +3060,6 @@ void CFEASolver::Compute_OFRefNode(CGeometry *geometry, const CConfig *config){
Global_OFRefNode += Total_OFRefNode;
- /*--- To be accessible from the output. ---*/
- Total_OFCombo = Total_OFRefNode;
-
/// TODO: Temporary output files for the direct mode.
if ((rank == MASTER_NODE) && (config->GetDirectDiff() != NO_DERIVATIVE)) {
@@ -3109,13 +3114,8 @@ void CFEASolver::Compute_OFVolFrac(CGeometry *geometry, const CConfig *config)
SU2_MPI::Allreduce(&discreteness,&tmp,1,MPI_DOUBLE,MPI_SUM,MPI_COMM_WORLD);
discreteness = tmp;
- if (config->GetKind_ObjFunc() == TOPOL_DISCRETENESS)
- Total_OFVolFrac = discreteness/total_volume;
- else
- Total_OFVolFrac = integral/total_volume;
-
- /*--- To be accessible from the output. ---*/
- Total_OFCombo = Total_OFVolFrac;
+ Total_OFDiscreteness = discreteness/total_volume;
+ Total_OFVolFrac = integral/total_volume;
}
@@ -3169,12 +3169,9 @@ void CFEASolver::Compute_OFCompliance(CGeometry *geometry, const CConfig *config
SU2_MPI::Allreduce(&compliance, &Total_OFCompliance, 1,MPI_DOUBLE,MPI_SUM,MPI_COMM_WORLD);
- /*--- To be accessible from the output. ---*/
- Total_OFCombo = Total_OFCompliance;
-
}
-void CFEASolver::Stiffness_Penalty(CGeometry *geometry, CSolver **solver, CNumerics **numerics, CConfig *config){
+void CFEASolver::Stiffness_Penalty(CGeometry *geometry, CNumerics **numerics, CConfig *config){
if (config->GetTotalDV_Penalty() == 0.0) {
/*--- No need to go into expensive computations. ---*/
diff --git a/SU2_CFD/src/solvers/CIncEulerSolver.cpp b/SU2_CFD/src/solvers/CIncEulerSolver.cpp
index 50c62b0635b6..06063ba959a5 100644
--- a/SU2_CFD/src/solvers/CIncEulerSolver.cpp
+++ b/SU2_CFD/src/solvers/CIncEulerSolver.cpp
@@ -2189,27 +2189,6 @@ void CIncEulerSolver::ImplicitEuler_Iteration(CGeometry *geometry, CSolver **sol
}
-void CIncEulerSolver::Evaluate_ObjFunc(CConfig *config) {
-
- Total_ComboObj = EvaluateCommonObjFunc(*config);
-
- /*--- The following are not per-surface, and so to avoid that they are
- double-counted when multiple surfaces are specified, they have been
- placed outside of the loop above. In addition, multi-objective mode is
- also disabled for these objective functions (error thrown at start). ---*/
-
- const auto Weight_ObjFunc = config->GetWeight_ObjFunc(0);
- const auto Kind_ObjFunc = config->GetKind_ObjFunc(0);
-
- switch(Kind_ObjFunc) {
- case SURFACE_PRESSURE_DROP:
- Total_ComboObj+=Weight_ObjFunc*config->GetSurface_PressureDrop(0);
- break;
- default:
- break;
- }
-}
-
void CIncEulerSolver::SetBeta_Parameter(CGeometry *geometry, CSolver **solver_container,
CConfig *config, unsigned short iMesh) {
diff --git a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp
index 787c60e90c03..188d26edbb26 100644
--- a/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp
+++ b/SU2_CFD/src/solvers/CNEMOEulerSolver.cpp
@@ -219,22 +219,22 @@ CNEMOEulerSolver::CNEMOEulerSolver(CGeometry *geometry, CConfig *config,
counter_local = 0;
for (iPoint = 0; iPoint < nPoint; iPoint++) {
-
+
nonPhys = nodes->SetPrimVar(iPoint, FluidModel);
-
+
/*--- Set mixture state ---*/
- FluidModel->SetTDStatePTTv(Pressure_Inf, MassFrac_Inf, Temperature_Inf, Temperature_ve_Inf);
+ FluidModel->SetTDStatePTTv(Pressure_Inf, MassFrac_Inf, Temperature_Inf, Temperature_ve_Inf);
/*--- Compute other freestream quantities ---*/
Density_Inf = FluidModel->GetDensity();
Soundspeed_Inf = FluidModel->GetSoundSpeed();
-
+
sqvel = 0.0;
for (iDim = 0; iDim < nDim; iDim++){
sqvel += Mvec_Inf[iDim]*Soundspeed_Inf * Mvec_Inf[iDim]*Soundspeed_Inf;
}
const auto& Energies_Inf = FluidModel->ComputeMixtureEnergies();
-
+
/*--- Initialize Solution & Solution_Old vectors ---*/
for (iSpecies = 0; iSpecies < nSpecies; iSpecies++) {
Solution[iSpecies] = Density_Inf*MassFrac_Inf[iSpecies];
@@ -246,9 +246,9 @@ CNEMOEulerSolver::CNEMOEulerSolver(CGeometry *geometry, CConfig *config,
Solution[nSpecies+nDim+1] = Density_Inf*Energies_Inf[1];
nodes->SetSolution(iPoint,Solution);
nodes->SetSolution_Old(iPoint,Solution);
-
+
if(nonPhys)
- counter_local++;
+ counter_local++;
}
/*--- Warning message about non-physical points ---*/
@@ -614,6 +614,7 @@ void CNEMOEulerSolver::SetTime_Step(CGeometry *geometry, CSolver **solver_contai
SU2_OMP_MASTER
if (config->GetComm_Level() == COMM_FULL) {
su2double rbuf_time;
+ SU2_MPI::Allreduce(&Min_Delta_Time, &rbuf_time, 1, MPI_DOUBLE, MPI_MIN, MPI_COMM_WORLD);
Min_Delta_Time = rbuf_time;
SU2_MPI::Allreduce(&Max_Delta_Time, &rbuf_time, 1, MPI_DOUBLE, MPI_MAX, MPI_COMM_WORLD);
@@ -1501,7 +1502,7 @@ void CNEMOEulerSolver::SetNondimensionalization(CConfig *config, unsigned short
#else
SU2_MPI::Error(string("Either 1) Mutation++ has not been configured/compiled (add '-Denable-mpp=true' to your meson string) or 2) CODI must be deactivated since it is not compatible with Mutation++."),
CURRENT_FUNCTION);
- #endif
+ #endif
break;
case SU2_NONEQ:
FluidModel = new CSU2TCLib(config, nDim, viscous);
diff --git a/SU2_CFD/src/solvers/CNSSolver.cpp b/SU2_CFD/src/solvers/CNSSolver.cpp
index 7ff339bfcfed..a648c30c47c2 100644
--- a/SU2_CFD/src/solvers/CNSSolver.cpp
+++ b/SU2_CFD/src/solvers/CNSSolver.cpp
@@ -51,13 +51,9 @@ CNSSolver::CNSSolver(CGeometry *geometry, CConfig *config, unsigned short iMesh)
/*--- Buffet sensor in all the markers and coefficients ---*/
- if (config->GetBuffet_Monitoring() || config->GetKind_ObjFunc() == BUFFET_SENSOR){
-
- Alloc2D(nMarker, nVertex, Buffet_Sensor);
- Buffet_Metric = new su2double[nMarker];
- Surface_Buffet_Metric = new su2double[config->GetnMarker_Monitoring()];
-
- }
+ Alloc2D(nMarker, nVertex, Buffet_Sensor);
+ Buffet_Metric = new su2double[nMarker];
+ Surface_Buffet_Metric = new su2double[config->GetnMarker_Monitoring()];
/*--- Read farfield conditions from config ---*/
@@ -304,14 +300,13 @@ void CNSSolver::Viscous_Residual(unsigned long iEdge, CGeometry *geometry, CSolv
}
-void CNSSolver::Buffet_Monitoring(CGeometry *geometry, CConfig *config) {
+void CNSSolver::Buffet_Monitoring(const CGeometry *geometry, const CConfig *config) {
unsigned long iVertex;
unsigned short Boundary, Monitoring, iMarker, iMarker_Monitoring, iDim;
- su2double *Vel_FS = config->GetVelocity_FreeStream();
+ const su2double* Vel_FS = Velocity_Inf;
su2double VelMag_FS = 0.0, SkinFrictionMag = 0.0, SkinFrictionDot = 0.0, *Normal, Area, Sref = config->GetRefArea();
- su2double k = config->GetBuffet_k(),
- lam = config->GetBuffet_lambda();
+ su2double k = config->GetBuffet_k(), lam = config->GetBuffet_lambda();
string Marker_Tag, Monitoring_Tag;
for (iDim = 0; iDim < nDim; iDim++){
@@ -347,7 +342,7 @@ void CNSSolver::Buffet_Monitoring(CGeometry *geometry, CConfig *config) {
SkinFrictionMag = 0.0;
SkinFrictionDot = 0.0;
for(iDim = 0; iDim < nDim; iDim++){
- SkinFrictionMag += CSkinFriction[iMarker][iDim][iVertex]*CSkinFriction[iMarker][iDim][iVertex];
+ SkinFrictionMag += pow(CSkinFriction[iMarker][iDim][iVertex], 2);
SkinFrictionDot += CSkinFriction[iMarker][iDim][iVertex]*Vel_FS[iDim];
}
SkinFrictionMag = sqrt(SkinFrictionMag);
@@ -414,7 +409,7 @@ void CNSSolver::Buffet_Monitoring(CGeometry *geometry, CConfig *config) {
}
-void CNSSolver::Evaluate_ObjFunc(CConfig *config) {
+void CNSSolver::Evaluate_ObjFunc(const CConfig *config) {
unsigned short iMarker_Monitoring, Kind_ObjFunc;
su2double Weight_ObjFunc;
diff --git a/SU2_DEF/src/SU2_DEF.cpp b/SU2_DEF/src/SU2_DEF.cpp
index 225a74d42221..7514d1ee86cb 100644
--- a/SU2_DEF/src/SU2_DEF.cpp
+++ b/SU2_DEF/src/SU2_DEF.cpp
@@ -39,7 +39,6 @@ int main(int argc, char *argv[]) {
/*--- MPI initialization ---*/
-#ifdef HAVE_MPI
#ifdef HAVE_OMP
int provided;
SU2_MPI::Init_thread(&argc, &argv, MPI_THREAD_FUNNELED, &provided);
@@ -47,9 +46,6 @@ int main(int argc, char *argv[]) {
SU2_MPI::Init(&argc, &argv);
#endif
SU2_MPI::Comm MPICommunicator(MPI_COMM_WORLD);
-#else
- SU2_Comm MPICommunicator(0);
-#endif
rank = SU2_MPI::GetRank();
size = SU2_MPI::GetSize();
@@ -502,10 +498,7 @@ int main(int argc, char *argv[]) {
cout << endl << "------------------------- Exit Success (SU2_DEF) ------------------------" << endl << endl;
/*--- Finalize MPI parallelization ---*/
-
-#ifdef HAVE_MPI
SU2_MPI::Finalize();
-#endif
return EXIT_SUCCESS;
diff --git a/SU2_DOT/src/SU2_DOT.cpp b/SU2_DOT/src/SU2_DOT.cpp
index 4960c2a40716..e1176a71ea74 100644
--- a/SU2_DOT/src/SU2_DOT.cpp
+++ b/SU2_DOT/src/SU2_DOT.cpp
@@ -38,7 +38,6 @@ int main(int argc, char *argv[]) {
/*--- MPI initialization, and buffer setting ---*/
-#ifdef HAVE_MPI
#ifdef HAVE_OMP
int provided;
SU2_MPI::Init_thread(&argc, &argv, MPI_THREAD_FUNNELED, &provided);
@@ -46,9 +45,6 @@ int main(int argc, char *argv[]) {
SU2_MPI::Init(&argc, &argv);
#endif
SU2_MPI::Comm MPICommunicator(MPI_COMM_WORLD);
-#else
- SU2_Comm MPICommunicator(0);
-#endif
const int rank = SU2_MPI::GetRank();
const int size = SU2_MPI::GetSize();
@@ -407,10 +403,7 @@ int main(int argc, char *argv[]) {
cout << "\n------------------------- Exit Success (SU2_DOT) ------------------------\n" << endl;
/*--- Finalize MPI parallelization ---*/
-
-#ifdef HAVE_MPI
SU2_MPI::Finalize();
-#endif
return EXIT_SUCCESS;
@@ -777,11 +770,8 @@ void SetProjection_AD(CGeometry *geometry, CConfig *config, CSurfaceMovement *su
for (iDV_Value = 0; iDV_Value < nDV_Value; iDV_Value++){
DV_Value = config->GetDV_Value(iDV, iDV_Value);
my_Gradient = SU2_TYPE::GetDerivative(DV_Value);
-#ifdef HAVE_MPI
- SU2_MPI::Allreduce(&my_Gradient, &localGradient, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD);
-#else
- localGradient = my_Gradient;
-#endif
+ SU2_MPI::Allreduce(&my_Gradient, &localGradient, 1, MPI_DOUBLE, MPI_SUM, MPI_COMM_WORLD);
+
/*--- Angle of Attack design variable (this is different,
the value comes form the input file) ---*/
diff --git a/SU2_GEO/src/SU2_GEO.cpp b/SU2_GEO/src/SU2_GEO.cpp
index 8ac58865cb9e..8a2c83a90716 100644
--- a/SU2_GEO/src/SU2_GEO.cpp
+++ b/SU2_GEO/src/SU2_GEO.cpp
@@ -58,12 +58,8 @@ int main(int argc, char *argv[]) {
/*--- MPI initialization ---*/
-#ifdef HAVE_MPI
SU2_MPI::Init(&argc,&argv);
SU2_MPI::Comm MPICommunicator(MPI_COMM_WORLD);
-#else
- SU2_Comm MPICommunicator(0);
-#endif
rank = SU2_MPI::GetRank();
size = SU2_MPI::GetSize();
@@ -1292,10 +1288,7 @@ int main(int argc, char *argv[]) {
/*--- Finalize MPI parallelization ---*/
-
-#ifdef HAVE_MPI
SU2_MPI::Finalize();
-#endif
return EXIT_SUCCESS;
diff --git a/SU2_PY/SU2/io/historyMap.py b/SU2_PY/SU2/io/historyMap.py
index 080280e5c530..157218eaeaaf 100644
--- a/SU2_PY/SU2/io/historyMap.py
+++ b/SU2_PY/SU2/io/historyMap.py
@@ -35,50 +35,35 @@
'GROUP': 'FLOW_COEFF',
'HEADER': 'Avg_Enthalpy',
'TYPE': 'COEFFICIENT'},
- 'AVG_MACH': {'DESCRIPTION': 'Total average mach number on all markers set in '
- 'MARKER_ANALYZE',
- 'GROUP': 'FLOW_COEFF',
- 'HEADER': 'Avg_Mach',
- 'TYPE': 'COEFFICIENT'},
- 'AVG_MASSFLOW': {'DESCRIPTION': 'Total average mass flow on all markers set '
- 'in MARKER_ANALYZE',
- 'GROUP': 'FLOW_COEFF',
- 'HEADER': 'Avg_Massflow',
- 'TYPE': 'COEFFICIENT'},
'AVG_NORMALVEL': {'DESCRIPTION': 'Total average normal velocity on all '
'markers set in MARKER_ANALYZE',
'GROUP': 'FLOW_COEFF',
'HEADER': 'Avg_NormalVel',
'TYPE': 'COEFFICIENT'},
- 'AVG_PRESS': {'DESCRIPTION': 'Total average pressure on all markers set in '
- 'MARKER_ANALYZE',
- 'GROUP': 'FLOW_COEFF',
- 'HEADER': 'Avg_Press',
- 'TYPE': 'COEFFICIENT'},
- 'AVG_TEMP': {'DESCRIPTION': 'Total average temperature on all markers set in '
- 'MARKER_ANALYZE',
- 'GROUP': 'FLOW_COEFF',
- 'HEADER': 'Avg_Temp',
- 'TYPE': 'COEFFICIENT'},
'AVG_TEMPERATURE': {'DESCRIPTION': 'Total average temperature on all surfaces '
'defined in MARKER_MONITORING',
'GROUP': 'HEAT',
'HEADER': 'AvgTemp',
'TYPE': 'COEFFICIENT'},
- 'AVG_TOTALPRESS': {'DESCRIPTION': 'Total average total pressure on all '
- 'markers set in MARKER_ANALYZE',
- 'GROUP': 'FLOW_COEFF',
- 'HEADER': 'Avg_TotalPress',
- 'TYPE': 'COEFFICIENT'},
- 'AVG_TOTALTEMP': {'DESCRIPTION': 'Total average total temperature all markers '
- 'set in MARKER_ANALYZE',
- 'GROUP': 'FLOW_COEFF',
- 'HEADER': 'Avg_TotalTemp',
- 'TYPE': 'COEFFICIENT'},
'BGS_ADJ_DENSITY': {'DESCRIPTION': 'BGS residual of the adjoint density.',
'GROUP': 'BGS_RES',
'HEADER': 'bgs[A_Rho]',
'TYPE': 'RESIDUAL'},
+ 'BGS_ADJ_DISP_X': {'DESCRIPTION': 'BGS residual of the adjoint X '
+ 'displacement.',
+ 'GROUP': 'BGS_RES',
+ 'HEADER': 'bgs[A_Ux]',
+ 'TYPE': 'RESIDUAL'},
+ 'BGS_ADJ_DISP_Y': {'DESCRIPTION': 'BGS residual of the adjoint Y '
+ 'displacement.',
+ 'GROUP': 'BGS_RES',
+ 'HEADER': 'bgs[A_Uy]',
+ 'TYPE': 'RESIDUAL'},
+ 'BGS_ADJ_DISP_Z': {'DESCRIPTION': 'BGS residual of the adjoint Z '
+ 'displacement.',
+ 'GROUP': 'BGS_RES',
+ 'HEADER': 'bgs[A_Uz]',
+ 'TYPE': 'RESIDUAL'},
'BGS_ADJ_DISSIPATION': {'DESCRIPTION': 'BGS residual of the adjoint '
'dissipation.',
'GROUP': 'BGS_RES',
@@ -201,6 +186,10 @@
'GROUP': 'BGS_RES',
'HEADER': 'bgs[W]',
'TYPE': 'RESIDUAL'},
+ 'BUFFET': {'DESCRIPTION': 'Buffet sensor',
+ 'GROUP': 'AERO_COEFF',
+ 'HEADER': 'Buffet',
+ 'TYPE': 'COEFFICIENT'},
'CFL_NUMBER': {'DESCRIPTION': 'Current value of the CFL number',
'GROUP': 'CFL_NUMBER',
'HEADER': 'CFL number',
@@ -222,18 +211,6 @@
'GROUP': 'COMBO',
'HEADER': 'ComboObj',
'TYPE': 'COEFFICIENT'},
- 'CP_DIFF': {'DESCRIPTION': 'Cp difference for inverse design',
- 'GROUP': 'CP_DIFF',
- 'HEADER': 'Cp_Diff',
- 'TYPE': 'DEFAULT'},
- 'CQ': {'DESCRIPTION': 'CQ',
- 'GROUP': 'ROTATING_FRAME',
- 'HEADER': 'CQ',
- 'TYPE': 'COEFFICIENT'},
- 'CT': {'DESCRIPTION': 'CT',
- 'GROUP': 'ROTATING_FRAME',
- 'HEADER': 'CT',
- 'TYPE': 'COEFFICIENT'},
'DEFORM_ITER': {'DESCRIPTION': 'Linear solver iterations for the mesh '
'deformation',
'GROUP': 'DEFORM',
@@ -273,38 +250,18 @@
'GROUP': 'D_FLOW_COEFF',
'HEADER': 'd[Avg_Enthalpy]',
'TYPE': 'D_COEFFICIENT'},
- 'D_AVG_MACH': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_FLOW_COEFF',
- 'HEADER': 'd[Avg_Mach]',
- 'TYPE': 'D_COEFFICIENT'},
- 'D_AVG_MASSFLOW': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_FLOW_COEFF',
- 'HEADER': 'd[Avg_Massflow]',
- 'TYPE': 'D_COEFFICIENT'},
'D_AVG_NORMALVEL': {'DESCRIPTION': 'Derivative value',
'GROUP': 'D_FLOW_COEFF',
'HEADER': 'd[Avg_NormalVel]',
'TYPE': 'D_COEFFICIENT'},
- 'D_AVG_PRESS': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_FLOW_COEFF',
- 'HEADER': 'd[Avg_Press]',
- 'TYPE': 'D_COEFFICIENT'},
- 'D_AVG_TEMP': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_FLOW_COEFF',
- 'HEADER': 'd[Avg_Temp]',
- 'TYPE': 'D_COEFFICIENT'},
'D_AVG_TEMPERATURE': {'DESCRIPTION': 'Derivative value',
'GROUP': 'D_HEAT',
'HEADER': 'd[AvgTemp]',
'TYPE': 'D_COEFFICIENT'},
- 'D_AVG_TOTALPRESS': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_FLOW_COEFF',
- 'HEADER': 'd[Avg_TotalPress]',
- 'TYPE': 'D_COEFFICIENT'},
- 'D_AVG_TOTALTEMP': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_FLOW_COEFF',
- 'HEADER': 'd[Avg_TotalTemp]',
- 'TYPE': 'D_COEFFICIENT'},
+ 'D_BUFFET': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_AERO_COEFF',
+ 'HEADER': 'd[Buffet]',
+ 'TYPE': 'D_COEFFICIENT'},
'D_CIRCUMFERENTIAL_DISTORTION': {'DESCRIPTION': 'Derivative value',
'GROUP': 'D_ENGINE_OUTPUT',
'HEADER': 'd[Circumferential_Distortion]',
@@ -313,14 +270,6 @@
'GROUP': 'D_COMBO',
'HEADER': 'd[ComboObj]',
'TYPE': 'D_COEFFICIENT'},
- 'D_CQ': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_ROTATING_FRAME',
- 'HEADER': 'd[CQ]',
- 'TYPE': 'D_COEFFICIENT'},
- 'D_CT': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_ROTATING_FRAME',
- 'HEADER': 'd[CT]',
- 'TYPE': 'D_COEFFICIENT'},
'D_DELTA_CL': {'DESCRIPTION': 'Derivative value',
'GROUP': 'D_FIXED_CL',
'HEADER': 'd[Delta_CL]',
@@ -337,6 +286,10 @@
'GROUP': 'D_EQUIVALENT_AREA',
'HEADER': 'd[CEquiv_Area]',
'TYPE': 'D_COEFFICIENT'},
+ 'D_FIGURE_OF_MERIT': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_ROTATING_FRAME',
+ 'HEADER': 'd[CMerit]',
+ 'TYPE': 'D_COEFFICIENT'},
'D_FORCE_X': {'DESCRIPTION': 'Derivative value',
'GROUP': 'D_AERO_COEFF',
'HEADER': 'd[CFx]',
@@ -349,26 +302,14 @@
'GROUP': 'D_AERO_COEFF',
'HEADER': 'd[CFz]',
'TYPE': 'D_COEFFICIENT'},
- 'D_HEATFLUX': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_HEAT',
- 'HEADER': 'd[HF]',
- 'TYPE': 'D_COEFFICIENT'},
- 'D_HEATFLUX_MAX': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_HEAT',
- 'HEADER': 'd[MaxHF]',
- 'TYPE': 'D_COEFFICIENT'},
'D_LIFT': {'DESCRIPTION': 'Derivative value',
'GROUP': 'D_AERO_COEFF',
'HEADER': 'd[CL]',
'TYPE': 'D_COEFFICIENT'},
- 'D_MERIT': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_ROTATING_FRAME',
- 'HEADER': 'd[CMerit]',
- 'TYPE': 'D_COEFFICIENT'},
- 'D_MOMENTUM_DISTORTION': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_FLOW_COEFF',
- 'HEADER': 'd[Momentum_Distortion]',
- 'TYPE': 'D_COEFFICIENT'},
+ 'D_MAXIMUM_HEATFLUX': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_HEAT',
+ 'HEADER': 'd[MaxHF]',
+ 'TYPE': 'D_COEFFICIENT'},
'D_MOMENT_X': {'DESCRIPTION': 'Derivative value',
'GROUP': 'D_AERO_COEFF',
'HEADER': 'd[CMx]',
@@ -385,22 +326,18 @@
'GROUP': 'D_EQUIVALENT_AREA',
'HEADER': 'd[CNearFieldOF]',
'TYPE': 'D_COEFFICIENT'},
- 'D_PRESSURE_DROP': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_FLOW_COEFF',
- 'HEADER': 'd[Pressure_Drop]',
- 'TYPE': 'D_COEFFICIENT'},
'D_RADIAL_DISTORTION': {'DESCRIPTION': 'Derivative value',
'GROUP': 'D_ENGINE_OUTPUT',
'HEADER': 'd[Radial_Distortion]',
'TYPE': 'D_COEFFICIENT'},
- 'D_SECONDARY_OVER_UNIFORMITY': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_FLOW_COEFF',
- 'HEADER': 'd[Secondary_Over_Uniformity]',
- 'TYPE': 'D_COEFFICIENT'},
- 'D_SECONDARY_STRENGTH': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_FLOW_COEFF',
- 'HEADER': 'd[Secondary_Strength]',
+ 'D_REFERENCE_GEOMETRY': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_STRUCT_COEFF',
+ 'HEADER': 'd[RefGeom]',
'TYPE': 'D_COEFFICIENT'},
+ 'D_REFERENCE_NODE': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_STRUCT_COEFF',
+ 'HEADER': 'd[RefNode]',
+ 'TYPE': 'D_COEFFICIENT'},
'D_SENS_AOA': {'DESCRIPTION': 'Derivative value',
'GROUP': 'D_SENSITIVITY',
'HEADER': 'd[Sens_AoA]',
@@ -437,18 +374,74 @@
'GROUP': 'D_ENGINE_OUTPUT',
'HEADER': 'd[SolidCDrag]',
'TYPE': 'D_COEFFICIENT'},
- 'D_TEMPERATURE': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_HEAT',
- 'HEADER': 'd[Temp]',
- 'TYPE': 'D_COEFFICIENT'},
+ 'D_SURFACE_MACH': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_FLOW_COEFF',
+ 'HEADER': 'd[Avg_Mach]',
+ 'TYPE': 'D_COEFFICIENT'},
+ 'D_SURFACE_MASSFLOW': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_FLOW_COEFF',
+ 'HEADER': 'd[Avg_Massflow]',
+ 'TYPE': 'D_COEFFICIENT'},
+ 'D_SURFACE_MOM_DISTORTION': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_FLOW_COEFF',
+ 'HEADER': 'd[Momentum_Distortion]',
+ 'TYPE': 'D_COEFFICIENT'},
+ 'D_SURFACE_PRESSURE_DROP': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_FLOW_COEFF',
+ 'HEADER': 'd[Pressure_Drop]',
+ 'TYPE': 'D_COEFFICIENT'},
+ 'D_SURFACE_SECONDARY': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_FLOW_COEFF',
+ 'HEADER': 'd[Secondary_Strength]',
+ 'TYPE': 'D_COEFFICIENT'},
+ 'D_SURFACE_SECOND_OVER_UNIFORM': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_FLOW_COEFF',
+ 'HEADER': 'd[Secondary_Over_Uniformity]',
+ 'TYPE': 'D_COEFFICIENT'},
+ 'D_SURFACE_STATIC_PRESSURE': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_FLOW_COEFF',
+ 'HEADER': 'd[Avg_Press]',
+ 'TYPE': 'D_COEFFICIENT'},
+ 'D_SURFACE_STATIC_TEMPERATURE': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_FLOW_COEFF',
+ 'HEADER': 'd[Avg_Temp]',
+ 'TYPE': 'D_COEFFICIENT'},
+ 'D_SURFACE_TOTAL_PRESSURE': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_FLOW_COEFF',
+ 'HEADER': 'd[Avg_TotalPress]',
+ 'TYPE': 'D_COEFFICIENT'},
+ 'D_SURFACE_TOTAL_TEMPERATURE': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_FLOW_COEFF',
+ 'HEADER': 'd[Avg_TotalTemp]',
+ 'TYPE': 'D_COEFFICIENT'},
+ 'D_SURFACE_UNIFORMITY': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_FLOW_COEFF',
+ 'HEADER': 'd[Uniformity]',
+ 'TYPE': 'D_COEFFICIENT'},
+ 'D_THRUST': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_ROTATING_FRAME',
+ 'HEADER': 'd[CT]',
+ 'TYPE': 'D_COEFFICIENT'},
+ 'D_TOPOL_COMPLIANCE': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_STRUCT_COEFF',
+ 'HEADER': 'd[TopComp]',
+ 'TYPE': 'D_COEFFICIENT'},
+ 'D_TOPOL_DISCRETENESS': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_STRUCT_COEFF',
+ 'HEADER': 'd[TopDisc]',
+ 'TYPE': 'D_COEFFICIENT'},
+ 'D_TORQUE': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_ROTATING_FRAME',
+ 'HEADER': 'd[CQ]',
+ 'TYPE': 'D_COEFFICIENT'},
'D_TOTAL_HEATFLUX': {'DESCRIPTION': 'Derivative value',
'GROUP': 'D_HEAT',
'HEADER': 'd[HF]',
'TYPE': 'D_COEFFICIENT'},
- 'D_UNIFORMITY': {'DESCRIPTION': 'Derivative value',
- 'GROUP': 'D_FLOW_COEFF',
- 'HEADER': 'd[Uniformity]',
- 'TYPE': 'D_COEFFICIENT'},
+ 'D_VOLUME_FRACTION': {'DESCRIPTION': 'Derivative value',
+ 'GROUP': 'D_STRUCT_COEFF',
+ 'HEADER': 'd[VolFrac]',
+ 'TYPE': 'D_COEFFICIENT'},
'EFFICIENCY': {'DESCRIPTION': 'Total lift-to-drag ratio on all surfaces set '
'with MARKER_MONITORING',
'GROUP': 'AERO_COEFF',
@@ -458,6 +451,10 @@
'GROUP': 'EQUIVALENT_AREA',
'HEADER': 'CEquiv_Area',
'TYPE': 'COEFFICIENT'},
+ 'FIGURE_OF_MERIT': {'DESCRIPTION': 'Merit',
+ 'GROUP': 'ROTATING_FRAME',
+ 'HEADER': 'CMerit',
+ 'TYPE': 'COEFFICIENT'},
'FORCE_X': {'DESCRIPTION': 'Total force x-component on all surfaces set with '
'MARKER_MONITORING',
'GROUP': 'AERO_COEFF',
@@ -473,16 +470,10 @@
'GROUP': 'AERO_COEFF',
'HEADER': 'CFz',
'TYPE': 'COEFFICIENT'},
- 'HEATFLUX': {'DESCRIPTION': 'Total heatflux on all surfaces set with '
- 'MARKER_MONITORING.',
- 'GROUP': 'HEAT',
- 'HEADER': 'HF',
- 'TYPE': 'COEFFICIENT'},
- 'HEATFLUX_MAX': {'DESCRIPTION': 'Total maximal heatflux on all surfaces '
- 'defined in MARKER_MONITORING',
- 'GROUP': 'HEAT',
- 'HEADER': 'MaxHF',
- 'TYPE': 'COEFFICIENT'},
+ 'INVERSE_DESIGN_PRESSURE': {'DESCRIPTION': 'Cp difference for inverse design',
+ 'GROUP': 'CP_DIFF',
+ 'HEADER': 'Cp_Diff',
+ 'TYPE': 'DEFAULT'},
'LIFT': {'DESCRIPTION': 'Total lift coefficient on all surfaces set with '
'MARKER_MONITORING',
'GROUP': 'AERO_COEFF',
@@ -504,6 +495,11 @@
'GROUP': '',
'HEADER': 'Load_Ramp',
'TYPE': 'DEFAULT'},
+ 'MAXIMUM_HEATFLUX': {'DESCRIPTION': 'Total maximal heatflux on all surfaces '
+ 'defined in MARKER_MONITORING',
+ 'GROUP': 'HEAT',
+ 'HEADER': 'MaxHF',
+ 'TYPE': 'COEFFICIENT'},
'MAX_ADJ_DENSITY': {'DESCRIPTION': 'Maximum residual of the adjoint density.',
'GROUP': 'MAX_RES',
'HEADER': 'max[A_Rho]',
@@ -628,10 +624,6 @@
'GROUP': 'MAX_RES',
'HEADER': 'max[W]',
'TYPE': 'RESIDUAL'},
- 'MERIT': {'DESCRIPTION': 'Merit',
- 'GROUP': 'ROTATING_FRAME',
- 'HEADER': 'CMerit',
- 'TYPE': 'COEFFICIENT'},
'MIN_CFL': {'DESCRIPTION': 'Current minimum of the local CFL numbers',
'GROUP': 'CFL_NUMBER',
'HEADER': 'Min CFL',
@@ -640,11 +632,6 @@
'GROUP': 'CFL_NUMBER',
'HEADER': 'Min DT',
'TYPE': 'DEFAULT'},
- 'MOMENTUM_DISTORTION': {'DESCRIPTION': 'Total momentum distortion on all '
- 'markers set in MARKER_ANALYZE',
- 'GROUP': 'FLOW_COEFF',
- 'HEADER': 'Momentum_Distortion',
- 'TYPE': 'COEFFICIENT'},
'MOMENT_X': {'DESCRIPTION': 'Total momentum x-component on all surfaces set '
'with MARKER_MONITORING',
'GROUP': 'AERO_COEFF',
@@ -664,11 +651,6 @@
'GROUP': 'EQUIVALENT_AREA',
'HEADER': 'CNearFieldOF',
'TYPE': 'COEFFICIENT'},
- 'PRESSURE_DROP': {'DESCRIPTION': 'Total pressure drop on all markers set in '
- 'MARKER_ANALYZE',
- 'GROUP': 'FLOW_COEFF',
- 'HEADER': 'Pressure_Drop',
- 'TYPE': 'COEFFICIENT'},
'PREV_AOA': {'DESCRIPTION': 'Angle of Attack at the previous iteration of the '
'Fixed CL driver',
'GROUP': 'FIXED_CL',
@@ -678,6 +660,14 @@
'GROUP': 'ENGINE_OUTPUT',
'HEADER': 'Radial_Distortion',
'TYPE': 'COEFFICIENT'},
+ 'REFERENCE_GEOMETRY': {'DESCRIPTION': '',
+ 'GROUP': 'STRUCT_COEFF',
+ 'HEADER': 'RefGeom',
+ 'TYPE': 'COEFFICIENT'},
+ 'REFERENCE_NODE': {'DESCRIPTION': '',
+ 'GROUP': 'STRUCT_COEFF',
+ 'HEADER': 'RefNode',
+ 'TYPE': 'COEFFICIENT'},
'RMS_ADJ_DENSITY': {'DESCRIPTION': 'Root-mean square residual of the adjoint '
'density.',
'GROUP': 'RMS_RES',
@@ -824,17 +814,6 @@
'GROUP': 'RMS_RES',
'HEADER': 'rms[V]',
'TYPE': 'RESIDUAL'},
- 'SECONDARY_OVER_UNIFORMITY': {'DESCRIPTION': 'Total secondary over uniformity '
- 'on all markers set in '
- 'MARKER_ANALYZE',
- 'GROUP': 'FLOW_COEFF',
- 'HEADER': 'Secondary_Over_Uniformity',
- 'TYPE': 'COEFFICIENT'},
- 'SECONDARY_STRENGTH': {'DESCRIPTION': 'Total secondary strength on all '
- 'markers set in MARKER_ANALYZE',
- 'GROUP': 'FLOW_COEFF',
- 'HEADER': 'Secondary_Strength',
- 'TYPE': 'COEFFICIENT'},
'SENS_AOA': {'DESCRIPTION': 'Sensitivity of the objective function with '
'respect to the angle of attack (only for '
'compressible solver).',
@@ -889,6 +868,64 @@
'GROUP': 'ENGINE_OUTPUT',
'HEADER': 'SolidCDrag',
'TYPE': 'COEFFICIENT'},
+ 'SURFACE_MACH': {'DESCRIPTION': 'Total average mach number on all markers set '
+ 'in MARKER_ANALYZE',
+ 'GROUP': 'FLOW_COEFF',
+ 'HEADER': 'Avg_Mach',
+ 'TYPE': 'COEFFICIENT'},
+ 'SURFACE_MASSFLOW': {'DESCRIPTION': 'Total average mass flow on all markers '
+ 'set in MARKER_ANALYZE',
+ 'GROUP': 'FLOW_COEFF',
+ 'HEADER': 'Avg_Massflow',
+ 'TYPE': 'COEFFICIENT'},
+ 'SURFACE_MOM_DISTORTION': {'DESCRIPTION': 'Total momentum distortion on all '
+ 'markers set in MARKER_ANALYZE',
+ 'GROUP': 'FLOW_COEFF',
+ 'HEADER': 'Momentum_Distortion',
+ 'TYPE': 'COEFFICIENT'},
+ 'SURFACE_PRESSURE_DROP': {'DESCRIPTION': 'Total pressure drop on all markers '
+ 'set in MARKER_ANALYZE',
+ 'GROUP': 'FLOW_COEFF',
+ 'HEADER': 'Pressure_Drop',
+ 'TYPE': 'COEFFICIENT'},
+ 'SURFACE_SECONDARY': {'DESCRIPTION': 'Total secondary strength on all markers '
+ 'set in MARKER_ANALYZE',
+ 'GROUP': 'FLOW_COEFF',
+ 'HEADER': 'Secondary_Strength',
+ 'TYPE': 'COEFFICIENT'},
+ 'SURFACE_SECOND_OVER_UNIFORM': {'DESCRIPTION': 'Total secondary over '
+ 'uniformity on all markers set '
+ 'in MARKER_ANALYZE',
+ 'GROUP': 'FLOW_COEFF',
+ 'HEADER': 'Secondary_Over_Uniformity',
+ 'TYPE': 'COEFFICIENT'},
+ 'SURFACE_STATIC_PRESSURE': {'DESCRIPTION': 'Total average pressure on all '
+ 'markers set in MARKER_ANALYZE',
+ 'GROUP': 'FLOW_COEFF',
+ 'HEADER': 'Avg_Press',
+ 'TYPE': 'COEFFICIENT'},
+ 'SURFACE_STATIC_TEMPERATURE': {'DESCRIPTION': 'Total average temperature on '
+ 'all markers set in '
+ 'MARKER_ANALYZE',
+ 'GROUP': 'FLOW_COEFF',
+ 'HEADER': 'Avg_Temp',
+ 'TYPE': 'COEFFICIENT'},
+ 'SURFACE_TOTAL_PRESSURE': {'DESCRIPTION': 'Total average total pressure on '
+ 'all markers set in MARKER_ANALYZE',
+ 'GROUP': 'FLOW_COEFF',
+ 'HEADER': 'Avg_TotalPress',
+ 'TYPE': 'COEFFICIENT'},
+ 'SURFACE_TOTAL_TEMPERATURE': {'DESCRIPTION': 'Total average total temperature '
+ 'all markers set in '
+ 'MARKER_ANALYZE',
+ 'GROUP': 'FLOW_COEFF',
+ 'HEADER': 'Avg_TotalTemp',
+ 'TYPE': 'COEFFICIENT'},
+ 'SURFACE_UNIFORMITY': {'DESCRIPTION': 'Total flow uniformity on all markers '
+ 'set in MARKER_ANALYZE',
+ 'GROUP': 'FLOW_COEFF',
+ 'HEADER': 'Uniformity',
+ 'TYPE': 'COEFFICIENT'},
'TAVG_AEROCDRAG': {'DESCRIPTION': 'weighted time average value',
'GROUP': 'TAVG_ENGINE_OUTPUT',
'HEADER': 'tavg[AeroCDrag]',
@@ -901,38 +938,18 @@
'GROUP': 'TAVG_FLOW_COEFF',
'HEADER': 'tavg[Avg_Enthalpy]',
'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_AVG_MACH': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_FLOW_COEFF',
- 'HEADER': 'tavg[Avg_Mach]',
- 'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_AVG_MASSFLOW': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_FLOW_COEFF',
- 'HEADER': 'tavg[Avg_Massflow]',
- 'TYPE': 'TAVG_COEFFICIENT'},
'TAVG_AVG_NORMALVEL': {'DESCRIPTION': 'weighted time average value',
'GROUP': 'TAVG_FLOW_COEFF',
'HEADER': 'tavg[Avg_NormalVel]',
'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_AVG_PRESS': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_FLOW_COEFF',
- 'HEADER': 'tavg[Avg_Press]',
- 'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_AVG_TEMP': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_FLOW_COEFF',
- 'HEADER': 'tavg[Avg_Temp]',
- 'TYPE': 'TAVG_COEFFICIENT'},
'TAVG_AVG_TEMPERATURE': {'DESCRIPTION': 'weighted time average value',
'GROUP': 'TAVG_HEAT',
'HEADER': 'tavg[AvgTemp]',
'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_AVG_TOTALPRESS': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_FLOW_COEFF',
- 'HEADER': 'tavg[Avg_TotalPress]',
- 'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_AVG_TOTALTEMP': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_FLOW_COEFF',
- 'HEADER': 'tavg[Avg_TotalTemp]',
- 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_BUFFET': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_AERO_COEFF',
+ 'HEADER': 'tavg[Buffet]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
'TAVG_CIRCUMFERENTIAL_DISTORTION': {'DESCRIPTION': 'weighted time average '
'value',
'GROUP': 'TAVG_ENGINE_OUTPUT',
@@ -942,14 +959,6 @@
'GROUP': 'TAVG_COMBO',
'HEADER': 'tavg[ComboObj]',
'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_CQ': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_ROTATING_FRAME',
- 'HEADER': 'tavg[CQ]',
- 'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_CT': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_ROTATING_FRAME',
- 'HEADER': 'tavg[CT]',
- 'TYPE': 'TAVG_COEFFICIENT'},
'TAVG_DELTA_CL': {'DESCRIPTION': 'weighted time average value',
'GROUP': 'TAVG_FIXED_CL',
'HEADER': 'tavg[Delta_CL]',
@@ -971,43 +980,20 @@
'GROUP': 'TAVG_D_FLOW_COEFF',
'HEADER': 'dtavg[Avg_Enthalpy]',
'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_AVG_MACH': {'DESCRIPTION': 'weighted time average derivative value',
- 'GROUP': 'TAVG_D_FLOW_COEFF',
- 'HEADER': 'dtavg[Avg_Mach]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_AVG_MASSFLOW': {'DESCRIPTION': 'weighted time average derivative '
- 'value',
- 'GROUP': 'TAVG_D_FLOW_COEFF',
- 'HEADER': 'dtavg[Avg_Massflow]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
'TAVG_D_AVG_NORMALVEL': {'DESCRIPTION': 'weighted time average derivative '
'value',
'GROUP': 'TAVG_D_FLOW_COEFF',
'HEADER': 'dtavg[Avg_NormalVel]',
'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_AVG_PRESS': {'DESCRIPTION': 'weighted time average derivative value',
- 'GROUP': 'TAVG_D_FLOW_COEFF',
- 'HEADER': 'dtavg[Avg_Press]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_AVG_TEMP': {'DESCRIPTION': 'weighted time average derivative value',
- 'GROUP': 'TAVG_D_FLOW_COEFF',
- 'HEADER': 'dtavg[Avg_Temp]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
'TAVG_D_AVG_TEMPERATURE': {'DESCRIPTION': 'weighted time average derivative '
'value',
'GROUP': 'TAVG_D_HEAT',
'HEADER': 'dtavg[AvgTemp]',
'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_AVG_TOTALPRESS': {'DESCRIPTION': 'weighted time average derivative '
- 'value',
- 'GROUP': 'TAVG_D_FLOW_COEFF',
- 'HEADER': 'dtavg[Avg_TotalPress]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_AVG_TOTALTEMP': {'DESCRIPTION': 'weighted time average derivative '
- 'value',
- 'GROUP': 'TAVG_D_FLOW_COEFF',
- 'HEADER': 'dtavg[Avg_TotalTemp]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_BUFFET': {'DESCRIPTION': 'weighted time average derivative value',
+ 'GROUP': 'TAVG_D_AERO_COEFF',
+ 'HEADER': 'dtavg[Buffet]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
'TAVG_D_CIRCUMFERENTIAL_DISTORTION': {'DESCRIPTION': 'weighted time average '
'derivative value',
'GROUP': 'TAVG_D_ENGINE_OUTPUT',
@@ -1017,14 +1003,6 @@
'GROUP': 'TAVG_D_COMBO',
'HEADER': 'dtavg[ComboObj]',
'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_CQ': {'DESCRIPTION': 'weighted time average derivative value',
- 'GROUP': 'TAVG_D_ROTATING_FRAME',
- 'HEADER': 'dtavg[CQ]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_CT': {'DESCRIPTION': 'weighted time average derivative value',
- 'GROUP': 'TAVG_D_ROTATING_FRAME',
- 'HEADER': 'dtavg[CT]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
'TAVG_D_DELTA_CL': {'DESCRIPTION': 'weighted time average derivative value',
'GROUP': 'TAVG_D_FIXED_CL',
'HEADER': 'dtavg[Delta_CL]',
@@ -1041,6 +1019,11 @@
'GROUP': 'TAVG_D_EQUIVALENT_AREA',
'HEADER': 'dtavg[CEquiv_Area]',
'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_FIGURE_OF_MERIT': {'DESCRIPTION': 'weighted time average derivative '
+ 'value',
+ 'GROUP': 'TAVG_D_ROTATING_FRAME',
+ 'HEADER': 'dtavg[CMerit]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
'TAVG_D_FORCE_X': {'DESCRIPTION': 'weighted time average derivative value',
'GROUP': 'TAVG_D_AERO_COEFF',
'HEADER': 'dtavg[CFx]',
@@ -1053,28 +1036,15 @@
'GROUP': 'TAVG_D_AERO_COEFF',
'HEADER': 'dtavg[CFz]',
'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_HEATFLUX': {'DESCRIPTION': 'weighted time average derivative value',
- 'GROUP': 'TAVG_D_HEAT',
- 'HEADER': 'dtavg[HF]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_HEATFLUX_MAX': {'DESCRIPTION': 'weighted time average derivative '
- 'value',
- 'GROUP': 'TAVG_D_HEAT',
- 'HEADER': 'dtavg[MaxHF]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
'TAVG_D_LIFT': {'DESCRIPTION': 'weighted time average derivative value',
'GROUP': 'TAVG_D_AERO_COEFF',
'HEADER': 'dtavg[CL]',
'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_MERIT': {'DESCRIPTION': 'weighted time average derivative value',
- 'GROUP': 'TAVG_D_ROTATING_FRAME',
- 'HEADER': 'dtavg[CMerit]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_MOMENTUM_DISTORTION': {'DESCRIPTION': 'weighted time average '
- 'derivative value',
- 'GROUP': 'TAVG_D_FLOW_COEFF',
- 'HEADER': 'dtavg[Momentum_Distortion]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_MAXIMUM_HEATFLUX': {'DESCRIPTION': 'weighted time average derivative '
+ 'value',
+ 'GROUP': 'TAVG_D_HEAT',
+ 'HEADER': 'dtavg[MaxHF]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
'TAVG_D_MOMENT_X': {'DESCRIPTION': 'weighted time average derivative value',
'GROUP': 'TAVG_D_AERO_COEFF',
'HEADER': 'dtavg[CMx]',
@@ -1092,26 +1062,21 @@
'GROUP': 'TAVG_D_EQUIVALENT_AREA',
'HEADER': 'dtavg[CNearFieldOF]',
'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_PRESSURE_DROP': {'DESCRIPTION': 'weighted time average derivative '
- 'value',
- 'GROUP': 'TAVG_D_FLOW_COEFF',
- 'HEADER': 'dtavg[Pressure_Drop]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
'TAVG_D_RADIAL_DISTORTION': {'DESCRIPTION': 'weighted time average derivative '
'value',
'GROUP': 'TAVG_D_ENGINE_OUTPUT',
'HEADER': 'dtavg[Radial_Distortion]',
'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_SECONDARY_OVER_UNIFORMITY': {'DESCRIPTION': 'weighted time average '
- 'derivative value',
- 'GROUP': 'TAVG_D_FLOW_COEFF',
- 'HEADER': 'dtavg[Secondary_Over_Uniformity]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_SECONDARY_STRENGTH': {'DESCRIPTION': 'weighted time average '
+ 'TAVG_D_REFERENCE_GEOMETRY': {'DESCRIPTION': 'weighted time average '
'derivative value',
- 'GROUP': 'TAVG_D_FLOW_COEFF',
- 'HEADER': 'dtavg[Secondary_Strength]',
+ 'GROUP': 'TAVG_D_STRUCT_COEFF',
+ 'HEADER': 'dtavg[RefGeom]',
'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_REFERENCE_NODE': {'DESCRIPTION': 'weighted time average derivative '
+ 'value',
+ 'GROUP': 'TAVG_D_STRUCT_COEFF',
+ 'HEADER': 'dtavg[RefNode]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
'TAVG_D_SENS_AOA': {'DESCRIPTION': 'weighted time average derivative value',
'GROUP': 'TAVG_D_SENSITIVITY',
'HEADER': 'dtavg[Sens_AoA]',
@@ -1149,19 +1114,89 @@
'GROUP': 'TAVG_D_ENGINE_OUTPUT',
'HEADER': 'dtavg[SolidCDrag]',
'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_TEMPERATURE': {'DESCRIPTION': 'weighted time average derivative value',
- 'GROUP': 'TAVG_D_HEAT',
- 'HEADER': 'dtavg[Temp]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_SURFACE_MACH': {'DESCRIPTION': 'weighted time average derivative '
+ 'value',
+ 'GROUP': 'TAVG_D_FLOW_COEFF',
+ 'HEADER': 'dtavg[Avg_Mach]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_SURFACE_MASSFLOW': {'DESCRIPTION': 'weighted time average derivative '
+ 'value',
+ 'GROUP': 'TAVG_D_FLOW_COEFF',
+ 'HEADER': 'dtavg[Avg_Massflow]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_SURFACE_MOM_DISTORTION': {'DESCRIPTION': 'weighted time average '
+ 'derivative value',
+ 'GROUP': 'TAVG_D_FLOW_COEFF',
+ 'HEADER': 'dtavg[Momentum_Distortion]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_SURFACE_PRESSURE_DROP': {'DESCRIPTION': 'weighted time average '
+ 'derivative value',
+ 'GROUP': 'TAVG_D_FLOW_COEFF',
+ 'HEADER': 'dtavg[Pressure_Drop]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_SURFACE_SECONDARY': {'DESCRIPTION': 'weighted time average derivative '
+ 'value',
+ 'GROUP': 'TAVG_D_FLOW_COEFF',
+ 'HEADER': 'dtavg[Secondary_Strength]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_SURFACE_SECOND_OVER_UNIFORM': {'DESCRIPTION': 'weighted time average '
+ 'derivative value',
+ 'GROUP': 'TAVG_D_FLOW_COEFF',
+ 'HEADER': 'dtavg[Secondary_Over_Uniformity]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_SURFACE_STATIC_PRESSURE': {'DESCRIPTION': 'weighted time average '
+ 'derivative value',
+ 'GROUP': 'TAVG_D_FLOW_COEFF',
+ 'HEADER': 'dtavg[Avg_Press]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_SURFACE_STATIC_TEMPERATURE': {'DESCRIPTION': 'weighted time average '
+ 'derivative value',
+ 'GROUP': 'TAVG_D_FLOW_COEFF',
+ 'HEADER': 'dtavg[Avg_Temp]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_SURFACE_TOTAL_PRESSURE': {'DESCRIPTION': 'weighted time average '
+ 'derivative value',
+ 'GROUP': 'TAVG_D_FLOW_COEFF',
+ 'HEADER': 'dtavg[Avg_TotalPress]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_SURFACE_TOTAL_TEMPERATURE': {'DESCRIPTION': 'weighted time average '
+ 'derivative value',
+ 'GROUP': 'TAVG_D_FLOW_COEFF',
+ 'HEADER': 'dtavg[Avg_TotalTemp]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_SURFACE_UNIFORMITY': {'DESCRIPTION': 'weighted time average '
+ 'derivative value',
+ 'GROUP': 'TAVG_D_FLOW_COEFF',
+ 'HEADER': 'dtavg[Uniformity]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_THRUST': {'DESCRIPTION': 'weighted time average derivative value',
+ 'GROUP': 'TAVG_D_ROTATING_FRAME',
+ 'HEADER': 'dtavg[CT]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_TOPOL_COMPLIANCE': {'DESCRIPTION': 'weighted time average derivative '
+ 'value',
+ 'GROUP': 'TAVG_D_STRUCT_COEFF',
+ 'HEADER': 'dtavg[TopComp]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_TOPOL_DISCRETENESS': {'DESCRIPTION': 'weighted time average '
+ 'derivative value',
+ 'GROUP': 'TAVG_D_STRUCT_COEFF',
+ 'HEADER': 'dtavg[TopDisc]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_TORQUE': {'DESCRIPTION': 'weighted time average derivative value',
+ 'GROUP': 'TAVG_D_ROTATING_FRAME',
+ 'HEADER': 'dtavg[CQ]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
'TAVG_D_TOTAL_HEATFLUX': {'DESCRIPTION': 'weighted time average derivative '
'value',
'GROUP': 'TAVG_D_HEAT',
'HEADER': 'dtavg[HF]',
'TYPE': 'TAVG_D_COEFFICIENT'},
- 'TAVG_D_UNIFORMITY': {'DESCRIPTION': 'weighted time average derivative value',
- 'GROUP': 'TAVG_D_FLOW_COEFF',
- 'HEADER': 'dtavg[Uniformity]',
- 'TYPE': 'TAVG_D_COEFFICIENT'},
+ 'TAVG_D_VOLUME_FRACTION': {'DESCRIPTION': 'weighted time average derivative '
+ 'value',
+ 'GROUP': 'TAVG_D_STRUCT_COEFF',
+ 'HEADER': 'dtavg[VolFrac]',
+ 'TYPE': 'TAVG_D_COEFFICIENT'},
'TAVG_EFFICIENCY': {'DESCRIPTION': 'weighted time average value',
'GROUP': 'TAVG_AERO_COEFF',
'HEADER': 'tavg[CEff]',
@@ -1170,6 +1205,10 @@
'GROUP': 'TAVG_EQUIVALENT_AREA',
'HEADER': 'tavg[CEquiv_Area]',
'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_FIGURE_OF_MERIT': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_ROTATING_FRAME',
+ 'HEADER': 'tavg[CMerit]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
'TAVG_FORCE_X': {'DESCRIPTION': 'weighted time average value',
'GROUP': 'TAVG_AERO_COEFF',
'HEADER': 'tavg[CFx]',
@@ -1182,26 +1221,14 @@
'GROUP': 'TAVG_AERO_COEFF',
'HEADER': 'tavg[CFz]',
'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_HEATFLUX': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_HEAT',
- 'HEADER': 'tavg[HF]',
- 'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_HEATFLUX_MAX': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_HEAT',
- 'HEADER': 'tavg[MaxHF]',
- 'TYPE': 'TAVG_COEFFICIENT'},
'TAVG_LIFT': {'DESCRIPTION': 'weighted time average value',
'GROUP': 'TAVG_AERO_COEFF',
'HEADER': 'tavg[CL]',
'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_MERIT': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_ROTATING_FRAME',
- 'HEADER': 'tavg[CMerit]',
- 'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_MOMENTUM_DISTORTION': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_FLOW_COEFF',
- 'HEADER': 'tavg[Momentum_Distortion]',
- 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_MAXIMUM_HEATFLUX': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_HEAT',
+ 'HEADER': 'tavg[MaxHF]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
'TAVG_MOMENT_X': {'DESCRIPTION': 'weighted time average value',
'GROUP': 'TAVG_AERO_COEFF',
'HEADER': 'tavg[CMx]',
@@ -1218,23 +1245,18 @@
'GROUP': 'TAVG_EQUIVALENT_AREA',
'HEADER': 'tavg[CNearFieldOF]',
'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_PRESSURE_DROP': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_FLOW_COEFF',
- 'HEADER': 'tavg[Pressure_Drop]',
- 'TYPE': 'TAVG_COEFFICIENT'},
'TAVG_RADIAL_DISTORTION': {'DESCRIPTION': 'weighted time average value',
'GROUP': 'TAVG_ENGINE_OUTPUT',
'HEADER': 'tavg[Radial_Distortion]',
'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_SECONDARY_OVER_UNIFORMITY': {'DESCRIPTION': 'weighted time average '
- 'value',
- 'GROUP': 'TAVG_FLOW_COEFF',
- 'HEADER': 'tavg[Secondary_Over_Uniformity]',
- 'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_SECONDARY_STRENGTH': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_FLOW_COEFF',
- 'HEADER': 'tavg[Secondary_Strength]',
+ 'TAVG_REFERENCE_GEOMETRY': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_STRUCT_COEFF',
+ 'HEADER': 'tavg[RefGeom]',
'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_REFERENCE_NODE': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_STRUCT_COEFF',
+ 'HEADER': 'tavg[RefNode]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
'TAVG_SENS_AOA': {'DESCRIPTION': 'weighted time average value',
'GROUP': 'TAVG_SENSITIVITY',
'HEADER': 'tavg[Sens_AoA]',
@@ -1271,34 +1293,103 @@
'GROUP': 'TAVG_ENGINE_OUTPUT',
'HEADER': 'tavg[SolidCDrag]',
'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_TEMPERATURE': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_HEAT',
- 'HEADER': 'tavg[Temp]',
- 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_SURFACE_MACH': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_FLOW_COEFF',
+ 'HEADER': 'tavg[Avg_Mach]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_SURFACE_MASSFLOW': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_FLOW_COEFF',
+ 'HEADER': 'tavg[Avg_Massflow]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_SURFACE_MOM_DISTORTION': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_FLOW_COEFF',
+ 'HEADER': 'tavg[Momentum_Distortion]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_SURFACE_PRESSURE_DROP': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_FLOW_COEFF',
+ 'HEADER': 'tavg[Pressure_Drop]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_SURFACE_SECONDARY': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_FLOW_COEFF',
+ 'HEADER': 'tavg[Secondary_Strength]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_SURFACE_SECOND_OVER_UNIFORM': {'DESCRIPTION': 'weighted time average '
+ 'value',
+ 'GROUP': 'TAVG_FLOW_COEFF',
+ 'HEADER': 'tavg[Secondary_Over_Uniformity]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_SURFACE_STATIC_PRESSURE': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_FLOW_COEFF',
+ 'HEADER': 'tavg[Avg_Press]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_SURFACE_STATIC_TEMPERATURE': {'DESCRIPTION': 'weighted time average '
+ 'value',
+ 'GROUP': 'TAVG_FLOW_COEFF',
+ 'HEADER': 'tavg[Avg_Temp]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_SURFACE_TOTAL_PRESSURE': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_FLOW_COEFF',
+ 'HEADER': 'tavg[Avg_TotalPress]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_SURFACE_TOTAL_TEMPERATURE': {'DESCRIPTION': 'weighted time average '
+ 'value',
+ 'GROUP': 'TAVG_FLOW_COEFF',
+ 'HEADER': 'tavg[Avg_TotalTemp]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_SURFACE_UNIFORMITY': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_FLOW_COEFF',
+ 'HEADER': 'tavg[Uniformity]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_THRUST': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_ROTATING_FRAME',
+ 'HEADER': 'tavg[CT]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_TOPOL_COMPLIANCE': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_STRUCT_COEFF',
+ 'HEADER': 'tavg[TopComp]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_TOPOL_DISCRETENESS': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_STRUCT_COEFF',
+ 'HEADER': 'tavg[TopDisc]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'TAVG_TORQUE': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_ROTATING_FRAME',
+ 'HEADER': 'tavg[CQ]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
'TAVG_TOTAL_HEATFLUX': {'DESCRIPTION': 'weighted time average value',
'GROUP': 'TAVG_HEAT',
'HEADER': 'tavg[HF]',
'TYPE': 'TAVG_COEFFICIENT'},
- 'TAVG_UNIFORMITY': {'DESCRIPTION': 'weighted time average value',
- 'GROUP': 'TAVG_FLOW_COEFF',
- 'HEADER': 'tavg[Uniformity]',
- 'TYPE': 'TAVG_COEFFICIENT'},
- 'TEMPERATURE': {'DESCRIPTION': 'Total avg. temperature on all surfaces set '
- 'with MARKER_MONITORING.',
- 'GROUP': 'HEAT',
- 'HEADER': 'Temp',
- 'TYPE': 'COEFFICIENT'},
+ 'TAVG_VOLUME_FRACTION': {'DESCRIPTION': 'weighted time average value',
+ 'GROUP': 'TAVG_STRUCT_COEFF',
+ 'HEADER': 'tavg[VolFrac]',
+ 'TYPE': 'TAVG_COEFFICIENT'},
+ 'THRUST': {'DESCRIPTION': 'CT',
+ 'GROUP': 'ROTATING_FRAME',
+ 'HEADER': 'CT',
+ 'TYPE': 'COEFFICIENT'},
+ 'TOPOL_COMPLIANCE': {'DESCRIPTION': '',
+ 'GROUP': 'STRUCT_COEFF',
+ 'HEADER': 'TopComp',
+ 'TYPE': 'COEFFICIENT'},
+ 'TOPOL_DISCRETENESS': {'DESCRIPTION': '',
+ 'GROUP': 'STRUCT_COEFF',
+ 'HEADER': 'TopDisc',
+ 'TYPE': 'COEFFICIENT'},
+ 'TORQUE': {'DESCRIPTION': 'CQ',
+ 'GROUP': 'ROTATING_FRAME',
+ 'HEADER': 'CQ',
+ 'TYPE': 'COEFFICIENT'},
'TOTAL_HEATFLUX': {'DESCRIPTION': 'Total heatflux on all surfaces defined in '
'MARKER_MONITORING',
'GROUP': 'HEAT',
'HEADER': 'HF',
'TYPE': 'COEFFICIENT'},
- 'UNIFORMITY': {'DESCRIPTION': 'Total flow uniformity on all markers set in '
- 'MARKER_ANALYZE',
- 'GROUP': 'FLOW_COEFF',
- 'HEADER': 'Uniformity',
- 'TYPE': 'COEFFICIENT'},
'VMS': {'DESCRIPTION': 'VMS',
'GROUP': '',
'HEADER': 'VonMises',
- 'TYPE': 'DEFAULT'}}
+ 'TYPE': 'DEFAULT'},
+ 'VOLUME_FRACTION': {'DESCRIPTION': '',
+ 'GROUP': 'STRUCT_COEFF',
+ 'HEADER': 'VolFrac',
+ 'TYPE': 'COEFFICIENT'}}
diff --git a/SU2_PY/topology_optimization.py b/SU2_PY/topology_optimization.py
index 6bb590c5deca..d7ac5e492ca2 100755
--- a/SU2_PY/topology_optimization.py
+++ b/SU2_PY/topology_optimization.py
@@ -122,7 +122,12 @@ def obj_val(self,x):
try:
sp.call(self._objValCommand,shell=True)
- fid = open(self._objValFile,"r"); val = float(fid.readlines()[1]); fid.close()
+ with open(self._objValFile,"r") as fid:
+ lines = fid.readlines()
+ for col,name in enumerate(lines[0].split(",")):
+ if "TopComp" in name:
+ val = float(lines[1].split(",")[col])
+ break
# the return code of mpirun is useless, we test the value of the function
self._assert_isfinite(val)
except:
@@ -161,15 +166,13 @@ def obj_der(self,x):
def con_val(self,x):
# inputs written in obj_val_driver
- # clear previous output and run solver
- try: os.remove(self._conValFile)
- except: pass
- try: os.remove(self._conDerFile)
- except: pass
-
try:
- sp.call(self._conDerCommand,shell=True)
- fid = open(self._conValFile,"r"); val = float(fid.readlines()[1]); fid.close()
+ with open(self._conValFile,"r") as fid:
+ lines = fid.readlines()
+ for col,name in enumerate(lines[0].split(",")):
+ if "VolFrac" in name:
+ val = float(lines[1].split(",")[col])
+ break
self._assert_isfinite(val)
except:
raise RuntimeError("Constraint function evaluation failed")
@@ -181,12 +184,16 @@ def con_val(self,x):
def con_der(self,x):
# inputs written in obj_val_driver
- # adjoint solver already ran
+ # clear previous output and run solver
+ try: os.remove(self._conDerFile)
+ except: pass
N = x.shape[0]
y = np.ndarray((N,))
# read result
try:
+ sp.call(self._conDerCommand,shell=True)
+
fid = open(self._conDerFile,"r"); lines = fid.readlines(); fid.close()
for i in range(N):
val = float(lines[i][0:-1])
diff --git a/SU2_SOL/src/SU2_SOL.cpp b/SU2_SOL/src/SU2_SOL.cpp
index 24b569ff0c49..55e25e01b7ce 100644
--- a/SU2_SOL/src/SU2_SOL.cpp
+++ b/SU2_SOL/src/SU2_SOL.cpp
@@ -39,12 +39,8 @@ int main(int argc, char *argv[]) {
/*--- MPI initialization ---*/
-#ifdef HAVE_MPI
SU2_MPI::Init(&argc,&argv);
SU2_MPI::Comm MPICommunicator(MPI_COMM_WORLD);
-#else
- SU2_Comm MPICommunicator(0);
-#endif
const int rank = SU2_MPI::GetRank();
const int size = SU2_MPI::GetSize();
@@ -785,10 +781,7 @@ int main(int argc, char *argv[]) {
cout << endl <<"------------------------- Exit Success (SU2_SOL) ------------------------" << endl << endl;
/*--- Finalize MPI parallelization ---*/
-
-#ifdef HAVE_MPI
SU2_MPI::Finalize();
-#endif
return EXIT_SUCCESS;
}
diff --git a/TestCases/fea_fsi/MixElemsKnowles/config.cfg b/TestCases/fea_fsi/MixElemsKnowles/config.cfg
index d9fe420e0643..e233aa718f05 100644
--- a/TestCases/fea_fsi/MixElemsKnowles/config.cfg
+++ b/TestCases/fea_fsi/MixElemsKnowles/config.cfg
@@ -4,7 +4,7 @@
% Case description: Tip-loaded 3D cantilever beam, mix of element types, %
% nonlinear elasticity with Knowles material model. %
% Institution: Imperial College London %
-% File Version 7.0.8 "Blackbird" %
+% File Version 7.0.8 "Blackbird" %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
@@ -51,4 +51,5 @@ TABULAR_FORMAT= CSV
RESTART_SOL= YES
SOLUTION_FILENAME= solution_structure.dat
-SCREEN_OUTPUT=(INNER_ITER, RMS_UTOL, RMS_RTOL, RMS_ETOL, COMBO, VMS)
+HISTORY_OUTPUT= (ITER, RMS_RES, STRUCT_COEFF)
+SCREEN_OUTPUT=(INNER_ITER, RMS_UTOL, RMS_RTOL, RMS_ETOL, REFERENCE_NODE, VMS)
diff --git a/TestCases/fea_topology/quick_start/settings.cfg b/TestCases/fea_topology/quick_start/settings.cfg
index e1ce988d48d3..44d8b3eafaff 100644
--- a/TestCases/fea_topology/quick_start/settings.cfg
+++ b/TestCases/fea_topology/quick_start/settings.cfg
@@ -46,4 +46,4 @@ TABULAR_FORMAT= CSV
SOLUTION_FILENAME= direct.dat
RESTART_FILENAME= direct.dat
OUTPUT_FILES= RESTART, PARAVIEW
-HISTORY_OUTPUT= COMBO
+HISTORY_OUTPUT= STRUCT_COEFF
diff --git a/TestCases/fea_topology/quick_start/settings_compliance.cfg b/TestCases/fea_topology/quick_start/settings_compliance.cfg
index 6c7df4e5f55b..a535068f4bf2 100644
--- a/TestCases/fea_topology/quick_start/settings_compliance.cfg
+++ b/TestCases/fea_topology/quick_start/settings_compliance.cfg
@@ -48,5 +48,4 @@ TABULAR_FORMAT= CSV
SOLUTION_FILENAME= direct.dat
RESTART_FILENAME= direct.dat
OUTPUT_FILES= PARAVIEW
-HISTORY_OUTPUT= COMBO
diff --git a/TestCases/fea_topology/quick_start/settings_volfrac.cfg b/TestCases/fea_topology/quick_start/settings_volfrac.cfg
index 96dc122c3f66..2319a83c0410 100644
--- a/TestCases/fea_topology/quick_start/settings_volfrac.cfg
+++ b/TestCases/fea_topology/quick_start/settings_volfrac.cfg
@@ -48,5 +48,4 @@ TABULAR_FORMAT= CSV
SOLUTION_FILENAME= direct.dat
RESTART_FILENAME= direct.dat
OUTPUT_FILES= PARAVIEW
-HISTORY_OUTPUT= COMBO
diff --git a/UnitTests/test_driver.cpp b/UnitTests/test_driver.cpp
index a93741c04e80..d53ef2b9063d 100644
--- a/UnitTests/test_driver.cpp
+++ b/UnitTests/test_driver.cpp
@@ -37,7 +37,6 @@
int main(int argc, char *argv[]) {
/*--- Startup MPI, if supported ---*/
-#ifdef HAVE_MPI
#ifdef HAVE_OMP
int provided;
SU2_MPI::Init_thread(&argc, &argv, MPI_THREAD_FUNNELED, &provided);
@@ -45,9 +44,6 @@ int main(int argc, char *argv[]) {
SU2_MPI::Init(&argc, &argv);
#endif
SU2_Comm MPICommunicator(MPI_COMM_WORLD);
-#else
- SU2_Comm MPICommunicator(0);
-#endif
/*--- Run the test driver supplied by Catch ---*/
int result = Catch::Session().run(argc, argv);