From 6f6fbfc89be428bad4dc60b3adbd698174e2244f Mon Sep 17 00:00:00 2001 From: Emilie Marchandise <emilie.marchandise@uclouvain.be> Date: Wed, 7 Dec 2011 08:45:41 +0000 Subject: [PATCH] mmg3D with less verbosity:wq --- Mesh/meshGRegionMMG3D.cpp | 9 +++--- contrib/mmg3d/build/sources/length.c | 4 ++- contrib/mmg3d/build/sources/mmg3d9.c | 2 +- contrib/mmg3d/build/sources/mmg3dlib.c | 40 ++++++++++++++------------ contrib/mmg3d/build/sources/optra4.c | 2 +- contrib/mmg3d/build/sources/opttyp.c | 2 +- contrib/mmg3d/build/sources/outqua.c | 2 ++ contrib/mmg3d/build/sources/ratio.c | 28 +++++++++++------- 8 files changed, 52 insertions(+), 37 deletions(-) diff --git a/Mesh/meshGRegionMMG3D.cpp b/Mesh/meshGRegionMMG3D.cpp index 6dbf589a5d..03b7acf633 100644 --- a/Mesh/meshGRegionMMG3D.cpp +++ b/Mesh/meshGRegionMMG3D.cpp @@ -107,7 +107,7 @@ static void gmsh2MMG(GRegion *gr, MMG_pMesh mmg, MMG_pSol sol, } } - printf("%d vertices %d on faces\n", (int) allVertices.size(), (int) LCS.size()); + //printf("%d vertices %d on faces\n", (int) allVertices.size(), (int) LCS.size()); int k=1; int count = 1;//sol->offset; @@ -263,15 +263,16 @@ void refineMeshMMG(GRegion *gr) gmsh2MMG (gr, mmg, sol,mmg2gmsh); for (int ITER=0;ITER<2;ITER++){ - int opt[9] = {1,0,64,0,0,(Msg::GetVerbosity() > 3) ? 222222222 : 222222222,0,0,0}; + int verb_mmg = (Msg::GetVerbosity() > 9) ? -1 : 0; + int opt[9] = {1,0,64,0,0,0, verb_mmg , 0,0}; Msg::Debug("-------- GMSH LAUNCHES MMG3D ---------------"); mmg3d::MMG_mmg3dlib(opt,mmg,sol); Msg::Debug("-------- MG3D TERMINATED -------------------"); // Here we should interact with BGM updateSizes(gr,mmg, sol); } - char test[] = "test.mesh"; - MMG_saveMesh(mmg, test); + //char test[] = "test.mesh"; + //MMG_saveMesh(mmg, test); gr->deleteVertexArrays(); for (int i=0;i<gr->tetrahedra.size();++i)delete gr->tetrahedra[i]; diff --git a/contrib/mmg3d/build/sources/length.c b/contrib/mmg3d/build/sources/length.c index 89304ea9ae..e059b27cbf 100644 --- a/contrib/mmg3d/build/sources/length.c +++ b/contrib/mmg3d/build/sources/length.c @@ -203,6 +203,8 @@ int MMG_prilen(pMesh mesh,pSol sol) { /* /if ( dep < 0 ) break;*/ } + if(mesh->info.imprim < 0) { + fprintf(stdout,"\n -- RESULTING EDGE LENGTHS %d\n",navg); fprintf(stdout," AVERAGE LENGTH %12.4f\n",lavg / (double)navg); fprintf(stdout," SMALLEST EDGE LENGTH %12.4f %6d %6d\n", @@ -214,7 +216,6 @@ int MMG_prilen(pMesh mesh,pSol sol) { fprintf(stdout," %6.2f < L <%5.2f %8d %5.2f %% \n", bd[3],bd[6],hl[4]+hl[5]+hl[6],100.*(hl[4]+hl[5]+hl[6])/(double)navg); - if ( abs(mesh->info.imprim) > 4 ) { fprintf(stdout,"\n HISTOGRAMM\n"); if ( hl[1] ) fprintf(stdout," 0.00 < L < 0.20 %8d %5.2f %% \n", @@ -229,6 +230,7 @@ int MMG_prilen(pMesh mesh,pSol sol) { fprintf(stdout," 5. < L %8d %5.2f %% \n", hl[9],100.*(hl[9]/(float)navg)); } + } return(1); diff --git a/contrib/mmg3d/build/sources/mmg3d9.c b/contrib/mmg3d/build/sources/mmg3d9.c index e691727bf5..1a9d16f1d8 100644 --- a/contrib/mmg3d/build/sources/mmg3d9.c +++ b/contrib/mmg3d/build/sources/mmg3d9.c @@ -358,7 +358,7 @@ int MMG_optra9(pMesh mesh,pSol sol) { nm = MMG_optlen(mesh,sol,declic,base); // if(abs(mesh->info.option)!=9 || !mesh->disp) if(it<2) MMG_optlap(mesh,sol); - if ( mesh->info.imprim && nw+ns+nm ) + if ( mesh->info.imprim< -4 && nw+ns+nm ) fprintf(stdout," %8d IMPROVED %8d SWAPPED %8d MOVED\n",nw,ns,nm); } while ( ns+nm/*(ns && (ns > 0.005*mesh->ne || it < 5))*/ && ++it < maxtou ); diff --git a/contrib/mmg3d/build/sources/mmg3dlib.c b/contrib/mmg3d/build/sources/mmg3dlib.c index b03e3c0ff5..05615c533f 100644 --- a/contrib/mmg3d/build/sources/mmg3dlib.c +++ b/contrib/mmg3d/build/sources/mmg3dlib.c @@ -256,9 +256,11 @@ int MMG_mmg3dlib(int opt[9],MMG_pMesh mesh,MMG_pSol sol) { short imprim; int k,iadr,i,jj,kk,ii,im; double lambda[3],v[3][3],*mold,*m; - fprintf(stdout," -- MMG3d, Release %s (%s) \n",M_VER,M_REL); - fprintf(stdout," Copyright (c) LJLL/IMB, 2010\n"); - fprintf(stdout," %s\n",COMPIL); + fprintf(stdout," %s \n", M_STR); + fprintf(stdout," -- START MMG3d \n") ; + if (opt[6] < 0) fprintf(stdout," -- MMG3d, Release %s (%s) \n",M_VER,M_REL); + if (opt[6] < -10) fprintf(stdout," Copyright (c) LJLL/IMB, 2010\n"); + if (opt[6] < -10) fprintf(stdout," %s\n",COMPIL); signal(SIGABRT,MMG_excfun); @@ -284,8 +286,8 @@ int MMG_mmg3dlib(int opt[9],MMG_pMesh mesh,MMG_pSol sol) { info->noswap = opt[3]; info->nomove = opt[5]; info->noinsert = opt[4]; - info->rn2 = opt[7];//3; - info->rn = opt[8];//500; + info->rn2 = opt[7];//3; + info->rn = opt[8];//500; alert = 0; info->dt = 1.; info->bdry = 0; @@ -309,7 +311,7 @@ int MMG_mmg3dlib(int opt[9],MMG_pMesh mesh,MMG_pSol sol) { if ( !MMG_setfunc(sol->offset) ) return(1); if ( !MMG_scaleMesh(mesh,sol) ) return(1); TIM_chrono(OFF,&MMG_ctim[1]); - if ( imprim ) + if ( imprim < -10) fprintf(stdout," -- DATA READING COMPLETED. %.2f sec.\n", TIM_gttime(MMG_ctim[1])); @@ -320,15 +322,17 @@ int MMG_mmg3dlib(int opt[9],MMG_pMesh mesh,MMG_pSol sol) { } if(MMG_imprim < 0) MMG_outquacubic(mesh,sol); - fprintf(stdout,"\n %s\n MODULE MMG3D-LJLL/IMB : %s (%s) %s\n %s\n", - M_STR,M_VER,M_REL,sol->offset == 1 ? "ISO" : "ANISO",M_STR); - fprintf(stdout," MAXIMUM NUMBER OF POINTS (NPMAX) : %8d\n",mesh->npmax); - fprintf(stdout," MAXIMUM NUMBER OF TRIANGLES (NTMAX) : %8d\n",mesh->ntmax); - fprintf(stdout," MAXIMUM NUMBER OF ELEMENTS (NEMAX) : %8d\n",mesh->nemax); + if (info->imprim < -10){ + fprintf(stdout,"\n %s\n MODULE MMG3D-LJLL/IMB : %s (%s) %s\n \n", + M_STR,M_VER,M_REL,sol->offset == 1 ? "ISO" : "ANISO"); + fprintf(stdout," MAXIMUM NUMBER OF POINTS (NPMAX) : %8d\n",mesh->npmax); + fprintf(stdout," MAXIMUM NUMBER OF TRIANGLES (NTMAX) : %8d\n",mesh->ntmax); + fprintf(stdout," MAXIMUM NUMBER OF ELEMENTS (NEMAX) : %8d\n",mesh->nemax); + } /* mesh analysis */ TIM_chrono(ON,&MMG_ctim[2]); - if ( MMG_imprim ) fprintf(stdout,"\n -- PHASE 1 : ANALYSIS\n"); + if ( MMG_imprim < 0 ) fprintf(stdout,"\n -- PHASE 1 : ANALYSIS\n"); if ( !MMG_hashTetra(mesh) ) return(1); if ( !MMG_markBdry(mesh) ) return(1); if (abs(mesh->info.option)==10) { @@ -343,7 +347,7 @@ int MMG_mmg3dlib(int opt[9],MMG_pMesh mesh,MMG_pSol sol) { im = 0; TIM_chrono(OFF,&MMG_ctim[2]); - if ( MMG_imprim ) + if ( MMG_imprim < 0 ) fprintf(stdout," -- PHASE 1 COMPLETED. %.2f sec.\n", TIM_gttime(MMG_ctim[2])); if ( info->ddebug ) MMG_chkmsh(mesh,1,1); @@ -374,7 +378,7 @@ int MMG_mmg3dlib(int opt[9],MMG_pMesh mesh,MMG_pSol sol) { /* mesh optimization */ if ( info->option ) { TIM_chrono(ON,&MMG_ctim[3]); - if ( MMG_imprim ) fprintf(stdout,"\n -- PHASE 2 : UNIT MESH\n"); + if ( MMG_imprim < 0 ) fprintf(stdout,"\n -- PHASE 2 : UNIT MESH\n"); if ( abs(info->option) == 9 ) { if(!MMG_mmg3d9(mesh,sol,&alert)) { if ( !MMG_unscaleMesh(mesh,sol) ) return(1); @@ -415,7 +419,7 @@ int MMG_mmg3dlib(int opt[9],MMG_pMesh mesh,MMG_pSol sol) { } TIM_chrono(OFF,&MMG_ctim[3]); - if ( MMG_imprim ) + if ( MMG_imprim < 0 ) fprintf(stdout," -- PHASE 2 COMPLETED. %.2f sec.\n", TIM_gttime(MMG_ctim[3])); } @@ -442,7 +446,7 @@ int MMG_mmg3dlib(int opt[9],MMG_pMesh mesh,MMG_pSol sol) { /* renumbering end */ #endif TIM_chrono(ON,&MMG_ctim[4]); - if ( MMG_imprim ) fprintf(stdout,"\n -- PHASE 3 : OPTIMIZATION\n"); + if ( MMG_imprim < 0) fprintf(stdout,"\n -- PHASE 3 : OPTIMIZATION\n"); if ( !alert ) { if ( info->option == 9 ) { MMG_optra4(mesh,sol); @@ -453,7 +457,7 @@ int MMG_mmg3dlib(int opt[9],MMG_pMesh mesh,MMG_pSol sol) { if ( info->ddebug ) MMG_chkmsh(mesh,1,1); TIM_chrono(OFF,&MMG_ctim[4]); - if ( MMG_imprim ) + if ( MMG_imprim < 0) fprintf(stdout," -- PHASE 3 COMPLETED. %.2f sec.\n", TIM_gttime(MMG_ctim[4])); } @@ -465,7 +469,7 @@ int MMG_mmg3dlib(int opt[9],MMG_pMesh mesh,MMG_pSol sol) { MMG_prilen(mesh,sol); MMG_ratio(mesh,sol,NULL); } - fprintf(stdout,"\n %s\n END OF MODULE MMG3D \n %s\n",M_STR,M_STR); + fprintf(stdout," -- END MMG3D \n"); if ( alert ) fprintf(stdout,"\n ## WARNING: INCOMPLETE MESH %d , %d\n", mesh->np,mesh->ne); diff --git a/contrib/mmg3d/build/sources/optra4.c b/contrib/mmg3d/build/sources/optra4.c index 0b0a665067..5719c4bc45 100644 --- a/contrib/mmg3d/build/sources/optra4.c +++ b/contrib/mmg3d/build/sources/optra4.c @@ -95,7 +95,7 @@ int MMG_optra4(pMesh mesh,pSol sol) { } //if(!mesh->info.nomove && it<2) MMG_optlap(mesh,sol); - if ( mesh->info.imprim && nw+ns+nm ) + if ( mesh->info.imprim < -10 && nw+ns+nm ) fprintf(stdout," %8d IMPROVED %8d SWAPPED %8d MOVED\n",nw,ns,nm); } //while ( (ns && ((ns > 0.005*mesh->ne /*&& nwold > nw*/) || it < 5)) && ++it < maxtou ); diff --git a/contrib/mmg3d/build/sources/opttyp.c b/contrib/mmg3d/build/sources/opttyp.c index f1c9a5e138..15b499e4e1 100644 --- a/contrib/mmg3d/build/sources/opttyp.c +++ b/contrib/mmg3d/build/sources/opttyp.c @@ -677,7 +677,7 @@ ds[ityp]++; } while ( k && *alert == 0 ); - if(mesh->info.imprim<0) { + if(mesh->info.imprim < -10) { for (k=0; k<=7; k++) if ( cs[k] ) diff --git a/contrib/mmg3d/build/sources/outqua.c b/contrib/mmg3d/build/sources/outqua.c index 7d811c7d8c..96c5698964 100644 --- a/contrib/mmg3d/build/sources/outqua.c +++ b/contrib/mmg3d/build/sources/outqua.c @@ -123,6 +123,7 @@ int MMG_outqua(pMesh mesh,pSol sol) { } /* print histo */ + if(mesh->info.imprim < 0) { fprintf(stdout,"\n -- MESH QUALITY %d \n",rapnum); if ( (rapavg > 0) && (rapavg / rapnum < 100.0) ) fprintf(stdout," AVERAGE QUALITY %12.4f\n",rapavg / rapnum); @@ -166,6 +167,7 @@ int MMG_outqua(pMesh mesh,pSol sol) { i,i+1,his01[i],100.*(his01[i]/(float)his01[0])); } } + } return(iout); } diff --git a/contrib/mmg3d/build/sources/ratio.c b/contrib/mmg3d/build/sources/ratio.c index a975e6da84..42e2a0dec1 100644 --- a/contrib/mmg3d/build/sources/ratio.c +++ b/contrib/mmg3d/build/sources/ratio.c @@ -209,7 +209,7 @@ int MMG_ratio(pMesh mesh, pSol sol,char* firaoame) { } - if ( abs(mesh->info.imprim) > 7 ) { + if ( mesh->info.imprim < 0 ) { /*ratio prescribed*/ @@ -353,17 +353,23 @@ int MMG_ratio(pMesh mesh, pSol sol,char* firaoame) { if(inm) fclose(inm); /* print histo ratio obtained*/ - fprintf(stdout,"\n -- ANISOTROPIC RATIO OBTAINED %d\n",rapnum); - fprintf(stdout," AVERAGE RATIO %12.4f\n",rapavg / rapnum); - fprintf(stdout," SMALLEST RATIO %12.4f\n",rapmin); - if (rapmax < 1.e4) { - fprintf(stdout," LARGEST RATIO %12.4f\n",rapmax); - } else { - fprintf(stdout," LARGEST RATIO %12.4e\n",rapmax); + if (mesh->info.imprim == 0){ + fprintf(stdout," ANISOTROPIC RATIO (MEAN = %6.2g, MAX = %6.2g, MIN = %6.2f)\n",rapavg / rapnum, rapmax, rapmin); + } + else if (mesh->info.imprim < 0){ + fprintf(stdout,"\n -- ANISOTROPIC RATIO OBTAINED %d\n",rapnum); + fprintf(stdout," AVERAGE RATIO %12.4f\n",rapavg / rapnum); + fprintf(stdout," SMALLEST RATIO %12.4f\n",rapmin); + if (rapmax < 1.e4) { + fprintf(stdout," LARGEST RATIO %12.4f\n",rapmax); + } else { + fprintf(stdout," LARGEST RATIO %12.4e\n",rapmax); + } + pt = &mesh->tetra[iel]; + + fprintf(stdout," ELEMENT %d (%d) %d %d %d %d\n", + iel,ielreal,pt->v[0],pt->v[1],pt->v[2],pt->v[3]); } - pt = &mesh->tetra[iel]; - fprintf(stdout," ELEMENT %d (%d) %d %d %d %d\n", - iel,ielreal,pt->v[0],pt->v[1],pt->v[2],pt->v[3]); if ( abs(mesh->info.imprim) < 5 ) return; -- GitLab