Skip to content

Commit 98507bc

Browse files
authored
Write Z-Velocity and temperature only when solved (#1920)
* fix 3D and temperature output
1 parent 3631f60 commit 98507bc

4 files changed

Lines changed: 91 additions & 67 deletions

File tree

SU2_CFD/src/output/CAdjFlowCompOutput.cpp

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,14 @@ CAdjFlowCompOutput::CAdjFlowCompOutput(CConfig *config, unsigned short nDim) : C
3535

3636
/*--- Set the default history fields if nothing is set in the config file ---*/
3737

38-
if (nRequestedHistoryFields == 0){
38+
if (nRequestedHistoryFields == 0) {
3939
requestedHistoryFields.emplace_back("ITER");
4040
requestedHistoryFields.emplace_back("RMS_RES");
4141
requestedHistoryFields.emplace_back("SENSITIVITY");
4242
nRequestedHistoryFields = requestedHistoryFields.size();
4343
}
4444

45-
if (nRequestedScreenFields == 0){
45+
if (nRequestedScreenFields == 0) {
4646
if (config->GetTime_Domain()) requestedScreenFields.emplace_back("TIME_ITER");
4747
if (multiZone) requestedScreenFields.emplace_back("OUTER_ITER");
4848
requestedScreenFields.emplace_back("INNER_ITER");
@@ -53,7 +53,7 @@ CAdjFlowCompOutput::CAdjFlowCompOutput(CConfig *config, unsigned short nDim) : C
5353
nRequestedScreenFields = requestedScreenFields.size();
5454
}
5555

56-
if (nRequestedVolumeFields == 0){
56+
if (nRequestedVolumeFields == 0) {
5757
requestedVolumeFields.emplace_back("COORDINATES");
5858
requestedVolumeFields.emplace_back("SOLUTION");
5959
requestedVolumeFields.emplace_back("SENSITIVITY");
@@ -93,7 +93,7 @@ CAdjFlowCompOutput::CAdjFlowCompOutput(CConfig *config, unsigned short nDim) : C
9393

9494
CAdjFlowCompOutput::~CAdjFlowCompOutput(void) {}
9595

96-
void CAdjFlowCompOutput::SetHistoryOutputFields(CConfig *config){
96+
void CAdjFlowCompOutput::SetHistoryOutputFields(CConfig *config) {
9797

9898
/// BEGIN_GROUP: RMS_RES, DESCRIPTION: The root-mean-square residuals of the SOLUTION variables.
9999
/// DESCRIPTION: Root-mean square residual of the adjoint density.
@@ -103,10 +103,13 @@ void CAdjFlowCompOutput::SetHistoryOutputFields(CConfig *config){
103103
/// DESCRIPTION: Root-mean square residual of the adjoint momentum y-component.
104104
AddHistoryOutput("RMS_ADJ_MOMENTUM-Y", "rms[A_RhoV]", ScreenOutputFormat::FIXED, "RMS_RES", "Root-mean square residual of the adjoint momentum y-component.", HistoryFieldType::RESIDUAL);
105105
/// DESCRIPTION: Root-mean square residual of the adjoint momentum z-component.
106-
AddHistoryOutput("RMS_ADJ_MOMENTUM-Z", "rms[A_RhoW]", ScreenOutputFormat::FIXED, "RMS_RES", "Root-mean square residual of the adjoint momentum z-component.", HistoryFieldType::RESIDUAL);
106+
if (nDim == 3) {
107+
AddHistoryOutput("RMS_ADJ_MOMENTUM-Z", "rms[A_RhoW]", ScreenOutputFormat::FIXED, "RMS_RES", "Root-mean square residual of the adjoint momentum z-component.", HistoryFieldType::RESIDUAL);
108+
}
107109
/// DESCRIPTION: Root-mean square residual of the adjoint energy.
108110
AddHistoryOutput("RMS_ADJ_ENERGY", "rms[A_E]", ScreenOutputFormat::FIXED, "RMS_RES", "Root-mean square residual of the adjoint energy.", HistoryFieldType::RESIDUAL);
109111

112+
110113
AddHistoryOutputFields_AdjScalarRMS_RES(config);
111114
/// END_GROUP
112115

@@ -118,7 +121,9 @@ void CAdjFlowCompOutput::SetHistoryOutputFields(CConfig *config){
118121
/// DESCRIPTION: Maximum residual of the adjoint momentum y-component
119122
AddHistoryOutput("MAX_ADJ_MOMENTUM-Y", "max[A_RhoV]", ScreenOutputFormat::FIXED, "MAX_RES", "Maximum residual of the adjoint momentum y-component", HistoryFieldType::RESIDUAL);
120123
/// DESCRIPTION: Maximum residual of the adjoint momentum z-component
121-
AddHistoryOutput("MAX_ADJ_MOMENTUM-Z", "max[A_RhoW]", ScreenOutputFormat::FIXED, "MAX_RES", "Maximum residual of the adjoint momentum z-component", HistoryFieldType::RESIDUAL);
124+
if (nDim == 3) {
125+
AddHistoryOutput("MAX_ADJ_MOMENTUM-Z", "max[A_RhoW]", ScreenOutputFormat::FIXED, "MAX_RES", "Maximum residual of the adjoint momentum z-component", HistoryFieldType::RESIDUAL);
126+
}
122127
/// DESCRIPTION: Maximum residual of the adjoint energy.
123128
AddHistoryOutput("MAX_ADJ_ENERGY", "max[A_E]", ScreenOutputFormat::FIXED, "MAX_RES", "Maximum residual of the adjoint energy.", HistoryFieldType::RESIDUAL);
124129

@@ -134,7 +139,9 @@ void CAdjFlowCompOutput::SetHistoryOutputFields(CConfig *config){
134139
/// DESCRIPTION: BGS residual of the adjoint momentum y-component
135140
AddHistoryOutput("BGS_ADJ_MOMENTUM-Y", "bgs[A_RhoV]", ScreenOutputFormat::FIXED, "BGS_RES", "BGS residual of the adjoint momentum y-component", HistoryFieldType::RESIDUAL);
136141
/// DESCRIPTION: BGS residual of the adjoint momentum z-component
137-
AddHistoryOutput("BGS_ADJ_MOMENTUM-Z", "bgs[A_RhoW]", ScreenOutputFormat::FIXED, "BGS_RES", "BGS residual of the adjoint momentum z-component", HistoryFieldType::RESIDUAL);
142+
if (nDim == 3) {
143+
AddHistoryOutput("BGS_ADJ_MOMENTUM-Z", "bgs[A_RhoW]", ScreenOutputFormat::FIXED, "BGS_RES", "BGS residual of the adjoint momentum z-component", HistoryFieldType::RESIDUAL);
144+
}
138145
/// DESCRIPTION: BGS residual of the adjoint energy.
139146
AddHistoryOutput("BGS_ADJ_ENERGY", "bgs[A_E]", ScreenOutputFormat::FIXED, "BGS_RES", "BGS residual of the adjoint energy.", HistoryFieldType::RESIDUAL);
140147

@@ -159,14 +166,14 @@ void CAdjFlowCompOutput::SetHistoryOutputFields(CConfig *config){
159166

160167
AddHistoryOutputFields_AdjScalarLinsol(config);
161168

162-
if (config->GetDeform_Mesh()){
169+
if (config->GetDeform_Mesh()) {
163170
AddHistoryOutput("DEFORM_ITER", "DeformIter", ScreenOutputFormat::INTEGER, "DEFORM", "Linear solver iterations for the mesh deformation");
164171
AddHistoryOutput("DEFORM_RESIDUAL", "DeformRes", ScreenOutputFormat::FIXED, "DEFORM", "Residual of the linear solver for the mesh deformation");
165172
}
166173

167174
}
168175

169-
void CAdjFlowCompOutput::LoadHistoryData(CConfig *config, CGeometry *geometry, CSolver **solver){
176+
void CAdjFlowCompOutput::LoadHistoryData(CConfig *config, CGeometry *geometry, CSolver **solver) {
170177

171178
CSolver* adjflow_solver = solver[ADJFLOW_SOL];
172179
CSolver* mesh_solver = solver[MESH_SOL];
@@ -191,7 +198,7 @@ void CAdjFlowCompOutput::LoadHistoryData(CConfig *config, CGeometry *geometry, C
191198
SetHistoryOutputValue("MAX_ADJ_ENERGY", log10(adjflow_solver->GetRes_Max(3)));
192199
}
193200

194-
if (multiZone){
201+
if (multiZone) {
195202
SetHistoryOutputValue("BGS_ADJ_DENSITY", log10(adjflow_solver->GetRes_BGS(0)));
196203
SetHistoryOutputValue("BGS_ADJ_MOMENTUM-X", log10(adjflow_solver->GetRes_BGS(1)));
197204
SetHistoryOutputValue("BGS_ADJ_MOMENTUM-Y", log10(adjflow_solver->GetRes_BGS(2)));
@@ -220,7 +227,7 @@ void CAdjFlowCompOutput::LoadHistoryData(CConfig *config, CGeometry *geometry, C
220227
LoadHistoryData_AdjScalar(config, solver);
221228
}
222229

223-
void CAdjFlowCompOutput::SetVolumeOutputFields(CConfig *config){
230+
void CAdjFlowCompOutput::SetVolumeOutputFields(CConfig *config) {
224231

225232
// Grid coordinates
226233
AddVolumeOutput("COORD-X", "x", "COORDINATES", "x-component of the coordinate vector");
@@ -274,7 +281,7 @@ void CAdjFlowCompOutput::SetVolumeOutputFields(CConfig *config){
274281

275282
}
276283

277-
void CAdjFlowCompOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CSolver **solver, unsigned long iPoint){
284+
void CAdjFlowCompOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CSolver **solver, unsigned long iPoint) {
278285

279286
CVariable* Node_AdjFlow = solver[ADJFLOW_SOL]->GetNodes();
280287
CPoint* Node_Geo = geometry->nodes;
@@ -287,7 +294,7 @@ void CAdjFlowCompOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CS
287294
SetVolumeOutputValue("ADJ_DENSITY", iPoint, Node_AdjFlow->GetSolution(iPoint, 0));
288295
SetVolumeOutputValue("ADJ_MOMENTUM-X", iPoint, Node_AdjFlow->GetSolution(iPoint, 1));
289296
SetVolumeOutputValue("ADJ_MOMENTUM-Y", iPoint, Node_AdjFlow->GetSolution(iPoint, 2));
290-
if (nDim == 3){
297+
if (nDim == 3) {
291298
SetVolumeOutputValue("ADJ_MOMENTUM-Z", iPoint, Node_AdjFlow->GetSolution(iPoint, 3));
292299
SetVolumeOutputValue("ADJ_ENERGY", iPoint, Node_AdjFlow->GetSolution(iPoint, 4));
293300
} else {
@@ -298,7 +305,7 @@ void CAdjFlowCompOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CS
298305
SetVolumeOutputValue("RES_ADJ_DENSITY", iPoint, Node_AdjFlow->GetSolution(iPoint, 0) - Node_AdjFlow->GetSolution_Old(iPoint, 0));
299306
SetVolumeOutputValue("RES_ADJ_MOMENTUM-X", iPoint, Node_AdjFlow->GetSolution(iPoint, 1) - Node_AdjFlow->GetSolution_Old(iPoint, 1));
300307
SetVolumeOutputValue("RES_ADJ_MOMENTUM-Y", iPoint, Node_AdjFlow->GetSolution(iPoint, 2) - Node_AdjFlow->GetSolution_Old(iPoint, 2));
301-
if (nDim == 3){
308+
if (nDim == 3) {
302309
SetVolumeOutputValue("RES_ADJ_MOMENTUM-Z", iPoint, Node_AdjFlow->GetSolution(iPoint, 3) - Node_AdjFlow->GetSolution_Old(iPoint, 3));
303310
SetVolumeOutputValue("RES_ADJ_ENERGY", iPoint, Node_AdjFlow->GetSolution(iPoint, 4) - Node_AdjFlow->GetSolution_Old(iPoint, 4));
304311
} else {
@@ -313,14 +320,14 @@ void CAdjFlowCompOutput::LoadVolumeData(CConfig *config, CGeometry *geometry, CS
313320
LoadVolumeData_AdjScalar(config, solver, iPoint);
314321
}
315322

316-
void CAdjFlowCompOutput::LoadSurfaceData(CConfig *config, CGeometry *geometry, CSolver **solver, unsigned long iPoint, unsigned short iMarker, unsigned long iVertex){
323+
void CAdjFlowCompOutput::LoadSurfaceData(CConfig *config, CGeometry *geometry, CSolver **solver, unsigned long iPoint, unsigned short iMarker, unsigned long iVertex) {
317324

318325
SetVolumeOutputValue("SENSITIVITY", iPoint, solver[ADJFLOW_SOL]->GetCSensitivity(iMarker, iVertex));
319326

320327
}
321328

322329

323-
bool CAdjFlowCompOutput::SetInit_Residuals(const CConfig *config){
330+
bool CAdjFlowCompOutput::SetInit_Residuals(const CConfig *config) {
324331

325332
return ((config->GetTime_Marching() != TIME_MARCHING::STEADY) && (curInnerIter == 0)) ||
326333
((config->GetTime_Marching() == TIME_MARCHING::STEADY) && (curInnerIter < 2));

0 commit comments

Comments
 (0)