Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Edge length errors in anisotropic mode #52

Open
lcirrottola opened this issue Mar 14, 2022 · 2 comments
Open

Edge length errors in anisotropic mode #52

lcirrottola opened this issue Mar 14, 2022 · 2 comments
Labels
kind: bug Something isn't working part: anisotropic metric anisotropic metric specificity part: parmmg specific to parmmg code part priority: medium linked to strong improvements or to a medium-term deadline

Comments

@lcirrottola
Copy link
Contributor

I am both encouraging this development and have specific issues. ParMmg develop reports very weird results with Mmg develop in anisotropic mode (check below for nan, inf, and negative edge length), so I hope that once this is merged in develop, ParMmg will behave. I have no such issue with isotropic meshing.

$ '/opt/homebrew/bin/mpiexec' -n 10 /Volumes/Data/repositories/FreeFem-sources-opt/src/mpi/FreeFem++-mpi -nw 'laplace-adapt-dist-3d-PETSc.edp' -v 0 -wg -iMax 2 -verbose 5
  0 KSP Residual norm 5.856778376147e-01 
  1 KSP Residual norm 1.774332796564e-02 
  2 KSP Residual norm 2.013850875238e-03 
  3 KSP Residual norm 1.369002836462e-04 
  4 KSP Residual norm 1.039126769538e-05 
  5 KSP Residual norm 9.117826241568e-07 

  &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
   MODULE PARMMGLIB_DISTRIBUTED: IMB-LJLL : 1.4.0 (Nov. 05, 2021)
  &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
     git branch: HEAD
     git commit: 3972301c607e94e4250aff5cd9c964b1251c7a88
     git date:   2022-02-14 18:05:45 +0100


  -- PMMG: CHECK INPUT DATA
  -- CHECK INPUT DATA COMPLETED.     0.000s

  -- PHASE 1 : ANALYSIS

  -- RESULTING EDGE LENGTHS  1359
     AVERAGE LENGTH               1.5065
     SMALLEST EDGE LENGTH         0.8333      255    248
     LARGEST  EDGE LENGTH         3.2025      159    212 

  -- PARALLEL MESH QUALITY  1981   9072
     BEST   0.743447  AVRG.   0.416806  WRST.   0.149224 (PROC 8 - ELT 542)
     HISTOGRAMM:  100.00 % > 0.12
                   29.20 % >  0.5
       0.6 < Q <   0.8      1623    17.89 %
       0.4 < Q <   0.6      2557    28.19 %
       0.2 < Q <   0.4      4822    53.15 %
       0.0 < Q <   0.2        70     0.77 %
   -- PHASE 1 COMPLETED.     0.062s

  -- PHASE 2 : ANISOTROPIC MESHING
       group splitting                   0.001s

       adaptation: iter 1   cumul. timer 0.000s
       mmg                               0.552s
       metric and fields interpolation   0.001s
       load balancing                    0.158s

       adaptation: iter 2   cumul. timer 0.713s
       mmg                               0.435s
       metric and fields interpolation   0.001s
       load balancing                    0.071s

       adaptation: iter 3   cumul. timer 1.223s
       mmg                               0.192s
       metric and fields interpolation   0.004s
       load balancing                    0.159s


  -- PARALLEL MESH QUALITY  3583   18612
     BEST   0.997267  AVRG.   0.771946  WRST.   0.090815 (PROC 6 - ELT 2035)
     HISTOGRAMM:   99.99 % > 0.12
                   96.62 % >  0.5
       0.8 < Q <   1.0      8467    45.49 %
       0.6 < Q <   0.8      8341    44.82 %
       0.4 < Q <   0.6      1587     8.53 %
       0.2 < Q <   0.4       208     1.12 %
       0.0 < Q <   0.2         9     0.05 %

       mesh packing                      0.192s
       group merging                     0.000s
  ## Warning: MMG5_lenEdg: at least 1 negative edge length (-1.603799e-01)
  ## Warning: MMG5_lenEdg: at least 1 negative edge length (-4.139075e-02)
  ## Warning: MMG5_lenEdg: at least 1 negative edge length (-1.025905e+00)
  ## Warning: MMG5_lenEdg: at least 1 negative edge length (-5.619068e-01)
  ## Warning: MMG5_lenEdg: at least 1 negative edge length (-5.293369e-01)
  ## Warning: MMG5_lenEdg: at least 1 negative edge length (-3.432190e-02)
  ## Warning: MMG5_lenEdg: at least 1 negative edge length (-5.751909e-02)
  ## Warning: MMG5_lenEdg: at least 1 negative edge length (-1.791615e-01)

  -- RESULTING EDGE LENGTHS (ROUGH EVAL.) 27202 
     AVERAGE LENGTH                  nan
     SMALLEST EDGE LENGTH           -inf      284    277 (PROC 0)
     LARGEST  EDGE LENGTH            inf       18      4 (PROC 0)
     0.71 < L < 1.41     21087   77.52 %  

     HISTOGRAMM:
     0.00 < L < 0.30      3201   11.77 %  
     0.30 < L < 0.60       229    0.84 %  
     0.60 < L < 0.71      1219    4.48 %  
     0.71 < L < 0.90      9094   33.43 %  
     0.90 < L < 1.30     11042   40.59 %  
     1.30 < L < 1.41       951    3.50 %  
     1.41 < L < 2.00       700    2.57 %  
     2.00 < L < 5.00        44    0.16 %  
     5.   < L              722    2.65 %  

     WARNING: unable to compute the length of 23 edges
  -- PHASE 2 COMPLETED.     1.614s

   -- PHASE 3 : MESH PACKED UP
   -- PHASE 3 COMPLETED.     0.001s

   PARMMGLIB_DISTRIBUTED: ELAPSED TIME  1.676s

  &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
   END OF MODULE PARMMGLIB_DISTRIBUTED: IMB-LJLL 
  &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
  0 KSP Residual norm 7.699519090787e-01 
  1 KSP Residual norm 4.298789823018e-02 
  2 KSP Residual norm 7.318720576567e-03 
  3 KSP Residual norm 1.180535786134e-03 
  4 KSP Residual norm 2.049118909033e-04 
  5 KSP Residual norm 3.156081226217e-05 
  6 KSP Residual norm 4.175108326620e-06 

  &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
   MODULE PARMMGLIB_DISTRIBUTED: IMB-LJLL : 1.4.0 (Nov. 05, 2021)
  &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
     git branch: HEAD
     git commit: 3972301c607e94e4250aff5cd9c964b1251c7a88
     git date:   2022-02-14 18:05:45 +0100


  -- PMMG: CHECK INPUT DATA
  -- CHECK INPUT DATA COMPLETED.     0.003s

  -- PHASE 1 : ANALYSIS

  -- RESULTING EDGE LENGTHS  2673
     AVERAGE LENGTH               1.4428
     SMALLEST EDGE LENGTH         0.6648      256    255
     LARGEST  EDGE LENGTH         2.9753      161    160 

  -- PARALLEL MESH QUALITY  3583   18612
     BEST   0.987634  AVRG.   0.625663  WRST.   0.036598 (PROC 2 - ELT 630)
     HISTOGRAMM:   99.94 % > 0.12
                   79.81 % >  0.5
       0.8 < Q <   1.0      2376    12.77 %
       0.6 < Q <   0.8      8049    43.25 %
       0.4 < Q <   0.6      7082    38.05 %
       0.2 < Q <   0.4      1082     5.81 %
       0.0 < Q <   0.2        23     0.12 %
   -- PHASE 1 COMPLETED.     0.114s

  -- PHASE 2 : ANISOTROPIC MESHING
       group splitting                   0.014s

       adaptation: iter 1   cumul. timer 0.000s
       mmg                               1.146s
       metric and fields interpolation   0.002s
       load balancing                    0.161s

       adaptation: iter 2   cumul. timer 1.311s
       mmg                               0.461s
       metric and fields interpolation   0.007s
       load balancing                    0.095s

       adaptation: iter 3   cumul. timer 1.875s
       mmg                               0.716s
       metric and fields interpolation   0.003s
       load balancing                    0.200s


  -- PARALLEL MESH QUALITY  6996   37791
     BEST   0.994915  AVRG.   0.676747  WRST.   0.076175 (PROC 3 - ELT 966)
     HISTOGRAMM:   99.98 % > 0.12
                   84.47 % >  0.5
       0.8 < Q <   1.0      9568    25.32 %
       0.6 < Q <   0.8     16838    44.56 %
       0.4 < Q <   0.6      8925    23.62 %
       0.2 < Q <   0.4      2369     6.27 %
       0.0 < Q <   0.2        91     0.24 %

       mesh packing                      0.717s
       group merging                     0.000s
  ## Warning: MMG5_lenEdg: at least 1 negative edge length (-2.183505e-01)

  -- RESULTING EDGE LENGTHS (ROUGH EVAL.) 52195 
     AVERAGE LENGTH                  nan
     SMALLEST EDGE LENGTH           -inf       52      5 (PROC 0)
     LARGEST  EDGE LENGTH            inf        1    120 (PROC 0)
     0.71 < L < 1.41     35549   68.11 %  

     HISTOGRAMM:
     0.00 < L < 0.30      2887    5.53 %  
     0.30 < L < 0.60      2563    4.91 %  
     0.60 < L < 0.71      3310    6.34 %  
     0.71 < L < 0.90     11497   22.03 %  
     0.90 < L < 1.30     21436   41.07 %  
     1.30 < L < 1.41      2616    5.01 %  
     1.41 < L < 2.00      4133    7.92 %  
     2.00 < L < 5.00       554    1.06 %  
     5.   < L             3199    6.13 %  

     WARNING: unable to compute the length of 75 edges
  -- PHASE 2 COMPLETED.     2.886s

   -- PHASE 3 : MESH PACKED UP
   -- PHASE 3 COMPLETED.     0.002s

   PARMMGLIB_DISTRIBUTED: ELAPSED TIME  3.005s

  &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
   END OF MODULE PARMMGLIB_DISTRIBUTED: IMB-LJLL 
  &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

Originally posted by @prj- in MmgTools/mmg#120 (comment)

@lcirrottola
Copy link
Contributor Author

Thanks @prj- for reporting. Is it reproducible with https://github.com/FreeFem/FreeFem-sources/tree/develop, without modifications?

@prj-
Copy link
Contributor

prj- commented Mar 15, 2022

Maybe for good measure use the branch petsc-v3.17.0 instead (without modification). develop may be lagging slightly behind when it comes to Mmg and ParMmg commits, while petsc-v3.17.0 are tracking develop (modulo commits from my forks). Thanks in advance for your time :)

PS: if you use your own PETSc outside of FreeFEM, i.e., don't rely on FreeFEM make petsc-slepc, then this does not matter, you can indeed stick to develop.

@Algiane Algiane added kind: bug Something isn't working part: anisotropic metric anisotropic metric specificity part: parmmg specific to parmmg code part priority: medium linked to strong improvements or to a medium-term deadline labels Dec 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: bug Something isn't working part: anisotropic metric anisotropic metric specificity part: parmmg specific to parmmg code part priority: medium linked to strong improvements or to a medium-term deadline
Projects
Status: No status
Development

No branches or pull requests

3 participants