212
214
for(GModel::fiter it = m->firstFace(); it != m->lastFace(); ++it){
213
215
GetQualityMeasure((*it)->quadrangles, gamma, gammaMin, gammaMax,
214
216
eta, etaMin, etaMax, rho, rhoMin, rhoMax,
215
disto, distoMin,distoMax,quality);
217
disto, distoMin, distoMax, quality);
216
218
GetQualityMeasure((*it)->triangles, gamma, gammaMin, gammaMax,
217
219
eta, etaMin, etaMax, rho, rhoMin, rhoMax,
218
disto, distoMin,distoMax,quality);
220
disto, distoMin, distoMax, quality);
222
224
for(GModel::riter it = m->firstRegion(); it != m->lastRegion(); ++it){
223
225
GetQualityMeasure((*it)->tetrahedra, gamma, gammaMin, gammaMax,
224
226
eta, etaMin, etaMax, rho, rhoMin, rhoMax,
225
disto, distoMin,distoMax,quality);
227
disto, distoMin, distoMax, quality);
226
228
GetQualityMeasure((*it)->hexahedra, gamma, gammaMin, gammaMax,
227
229
eta, etaMin, etaMax, rho, rhoMin, rhoMax,
228
disto, distoMin,distoMax,quality);
230
disto, distoMin, distoMax, quality);
229
231
GetQualityMeasure((*it)->prisms, gamma, gammaMin, gammaMax,
230
232
eta, etaMin, etaMax, rho, rhoMin, rhoMax,
231
disto, distoMin,distoMax,quality);
233
disto, distoMin, distoMax,quality);
232
234
GetQualityMeasure((*it)->pyramids, gamma, gammaMin, gammaMax,
233
235
eta, etaMin, etaMax, rho, rhoMin, rhoMax,
234
disto, distoMin,distoMax,quality);
236
disto, distoMin, distoMax, quality);
237
239
double N = stat[9] + stat[10] + stat[11] + stat[12];
356
358
"#e\t\ttau\t\t#Egood\t\t#Egood/#e\tCPU\n");
359
fprintf(statreport,"\t%16s\t%d\t\t%d\t\t", CTX.base_filename, numFaces, nUnmeshed);
361
fprintf(statreport,"\t%16s\t%d\t\t%d\t\t", m->getName().c_str(), numFaces, nUnmeshed);
360
362
fprintf(statreport,"%d\t\t%8.7f\t%8.7f\t%8.7f\t%d\t\t%8.7f\t",
361
363
nTotT, avg / (double)nTotT, best, worst, nTotGoodQuality,
362
364
(double)nTotGoodQuality / nTotT);
557
559
if(CTX.mesh.optimize_netgen > i) OptimizeMeshNetgen(m);
563
// Subdivide into quads or hexas
564
if(m->getMeshStatus() == 2 && CTX.mesh.algo_subdivide == 1)
565
RefineMesh(m, CTX.mesh.second_order_linear, true);
566
else if(m->getMeshStatus() == 3 && CTX.mesh.algo_subdivide == 2)
567
RefineMesh(m, CTX.mesh.second_order_linear, false, true);
561
569
// Create high order elements
562
570
if(m->getMeshStatus() && CTX.mesh.order > 1)