@@ -160,7 +160,7 @@ int main(int argc, char *argv[]) {
160160 /* --- Add the Send/Receive boundaries ---*/
161161
162162 geometry_container[iZone]->SetBoundaries (config_container[iZone]);
163-
163+
164164 }
165165
166166 /* --- Set up a timer for performance benchmarking (preprocessing time is included) ---*/
@@ -190,7 +190,8 @@ int main(int argc, char *argv[]) {
190190 /* --- Create the edge structure ---*/
191191
192192 if (rank == MASTER_NODE) cout << " Identify edges and vertices." <<endl;
193- geometry_container[iZone]->SetEdges (); geometry_container[iZone]->SetVertex (config_container[iZone]);
193+ geometry_container[iZone]->SetEdges ();
194+ geometry_container[iZone]->SetVertex (config_container[iZone]);
194195
195196 if (config_container[iZone]->GetDesign_Variable (0 ) != NO_DEFORMATION) {
196197
@@ -202,6 +203,7 @@ int main(int argc, char *argv[]) {
202203 /* --- Create the dual control volume structures ---*/
203204
204205 if (rank == MASTER_NODE) cout << " Setting the bound control volume structure." << endl;
206+ geometry_container[iZone]->SetControlVolume (config_container[iZone], ALLOCATE);
205207 geometry_container[iZone]->SetBoundControlVolume (config_container[iZone], ALLOCATE);
206208
207209 }
@@ -334,6 +336,24 @@ int main(int argc, char *argv[]) {
334336
335337 for (iZone = 0 ; iZone < nZone; iZone++){
336338
339+ /* --- Compute Mesh Quality if requested. Necessary geometry preprocessing re-done beforehand. ---*/
340+
341+ if (config_container[iZone]->GetWrt_MeshQuality () && !config->GetStructuralProblem ()) {
342+
343+ if (rank == MASTER_NODE) cout << " Recompute geometry properties necessary to evaluate mesh quality statistics.\n " ;
344+
345+ geometry_container[iZone]->SetPoint_Connectivity ();
346+ geometry_container[iZone]->SetBoundVolume ();
347+ geometry_container[iZone]->SetEdges ();
348+ geometry_container[iZone]->SetVertex (config_container[iZone]);
349+ geometry_container[iZone]->SetCoord_CG ();
350+ geometry_container[iZone]->SetControlVolume (config_container[iZone], ALLOCATE);
351+ geometry_container[iZone]->SetBoundControlVolume (config_container[iZone], ALLOCATE);
352+
353+ if (rank == MASTER_NODE) cout << " Computing mesh quality statistics for the dual control volumes.\n " ;
354+ geometry_container[iZone]->ComputeMeshQualityStatistics (config_container[iZone]);
355+ }// Mesh Quality Output
356+
337357 /* --- Load the data --- */
338358
339359 output[iZone]->Load_Data (geometry_container[iZone], config_container[iZone], nullptr );
0 commit comments