Skip to content

mesh_top1 and large numbers of geometric model edges/points #54

@cwsmith

Description

@cwsmith

Hello,

I'm trying to generate a mesh using jigsaw with a geometric model that has roughly 16k edges and hitting problems with memory consumption and runtime when enabling mesh_top1.

The test repo here:

https://github.com/cwsmith/jigsaw_gis/tree/519e7e1437fbabbbe3037cee4212721f079bddb4

contains gis.py that loads the geometric model (.msh) and size field (hfun) and runs jigsaw in a few seconds to generate a mesh of 358k triangles that doesn't exactly 'recover' the geometric model edges/vertices in the resulting mesh as mesh_top1 is disabled.

When I add opts.mesh_top1 = True to gis.py jigsaw runs out of memory on a gnu/linux machine with 64GB of RAM after about 10mins. The log from the failed run is pasted below.

I'm a novice jigsaw user and am concerned I have a problematic combination of settings and mesh size field that is causing the large memory usage and long runtime. Do you see anything obviously wrong? Any suggestions are appreciated.

Thank you.


verbose output from failed run

Call libJIGSAW: gis                                                                                                                                           
                                                                                                                                                              
#------------------------------------------------------------                                                                                                  
#                                                                                                                                                             
#   ,o, ,o,       /                                                                                                                                           
#    `   `  e88~88e  d88~\   /~~~8e Y88b    e    /                                                                                                            
#   888 888 88   88 C888         88b Y88b  d8b  /                                                                                                             
#   888 888 "8b_d8"  Y88b   e88~-888  Y888/Y88b/                                                                                                              
#   888 888  /        888D C88   888   Y8/  Y8/                                                                                                                
#   88P 888 Cb      \_88P   "8b_-888    Y    Y                                                                                                                
# \_8"       Y8""8D                                                                                                                                           
#                                                                                                                                                             
#------------------------------------------------------------                                                                                                 
# JIGSAW: an unstructured mesh generation library.                                                                                                            
#------------------------------------------------------------                                                                                                 
                                                                                                                                                              
  JIGSAW VERSION 1.0.0                                                         
                                                                                                                                                              
  Reading CFG. data...                                                         
                                                                               
  CFG. data summary...                                                                                                                                                                                                                                                                                                       

  GEOM-FILE =                                                                                                                                                 
  MESH-FILE =                                                                                                                                                 
  HFUN-FILE =                                                                                                                                                 
  INIT-FILE =                                                                                                                                                 
  TRIA-FILE =                                                                                                                                                 
  BNDS-FILE =                                                                                                                                                 

  NUMTHREAD = 20                                                                                                                                              

  GEOM-SEED = 8                                                                                                                                               
  GEOM-PHI1 = 6.00e+01                                                                                                                                        
  GEOM-PHI2 = 6.00e+01                                                                                                                                        
  GEOM-ETA1 = 5.00e+00                                                                                                                                        
  GEOM-ETA2 = 5.00e+00                                                                                                                                        
  GEOM-FEAT = TRUE                                                                                                                                            

  INIT-NEAR = 1.00e-08                                                                                                                                        

  HFUN-SCAL = ABSOLUTE                                                                                                                                        
  HFUN-HMAX = inf                                                                                                                                             
  HFUN-HMIN = 0.00e+00                                                                                                                                        

  BNDS-KERN = BND-TRIA                                                                                                                                        
  MESH-KERN = DELFRONT                                                                                                                                        
  MESH-TOP1 = TRUE                                                                                                                                            
  MESH-TOP2 = FALSE                                                                                                                                           
  MESH-ITER = MAXINT                                                                                                                                          
  MESH-DIMS = 2                                                                                                                                               
  MESH-SIZ1 = 1.33e+00                                                                                                                                        
  MESH-SIZ2 = 1.31e+00                                                                                                                                        
  MESH-SIZ2 = 1.30e+00                                                                                                                                        
  MESH-EPS1 = 3.33e-01                                                                                                                                        
  MESH-EPS2 = 3.33e-01                                                                                                                                        
  MESH-RAD2 = 1.05e+00                                                                                                                                        
  MESH-RAD3 = 2.05e+00                                                                                                                                        
  MESH-OFF2 = 9.00e-01                                                                                                                                        
  MESH-OFF3 = 1.10e+00                                                                                                                                        
  MESH-SNK2 = 2.00e-01                                                                                                                                        
  MESH-SNK3 = 3.33e-01                                                                                                                                        
  MESH-VOL3 = 0.00e+00                                                                                                                                        

  OPTM-KERN = ODT+DQDX                                                                                                                                        
  OPTM-ITER = 16                                                                                                                                              
  OPTM-COST = AREA-LEN                                                                                                                                        
  OPTM-BETA = 4.95e-01                                                                                                                                        
  OPTM-ZETA = 8.25e-01                                                                                                                                        
  OPTM-QTOL = 1.00e-04                                                                                                                                        
  OPTM-QLIM = 9.38e-01                                                                                                                                        
  OPTM-ZIP_ = TRUE                                                                                                                                            
  OPTM-DIV_ = TRUE                                                                                                                                            
  OPTM-TRIA = TRUE                                                                                                                                            
  OPTM-DUAL = FALSE                                                                                                                                           

  Done. (6.90e-05sec)
  
  #------------------------------------------------------------                                                                                                 
                                                                                                                                                              
  Reading GEOM data...                                                                                                                                        
                                                                                                                                                              
  Done. (1.36e-03sec)                                                                                                                                         
                                                                                                                                                              
#------------------------------------------------------------                                                                                                 
                                                                                                                                                              
  Forming GEOM data...                                                                                                                                        

  GEOM data summary...                                                                                                                                        

  EUCLIDEAN-MESH                                                                                                                                              
                                                                                                                                                              
  |NDIMS.| = 2                                                                                                                                                

  |COORD.| = 16675                                                                                                                                            
  |EDGE-2| = 16674                                                                                                                                            
                                                                                                                                                              
  |SEEDS.| = 0                                                                                                                                                
                                                                                                                                                              
  |BOUND.| = 0 (0)                                                                                                                                            
                                                                                                                                                              
  Done. (3.66e-03sec)                                                                                                                                         
                                                                                                                                                              
#------------------------------------------------------------                                                                                                 
                                                                                                                                                              
  Reading HFUN data...                                                                                                                                        
                                                                                                                                                              
  Done. (1.54e-03sec)                                                                                                                                         
                                                                                                                                                              
#------------------------------------------------------------                                                                                                 
                                                                                                                                                              
  Forming HFUN data...                                                                                                                                        

  HFUN data summary...                                                                                                                                        
                                                                                                                                                              
  EUCLIDEAN-GRID                                                                                                                                              
                                                                                                                                                              
  |NDIMS.| = 2                                                                                                                                                
                                                                                                                                                              
  .MIN(H). = 3.00e+03                                                                                                                                         
  .MAX(H). = 3.00e+04                                                                                                                                         
                                                                                                                                                              
  |MASKED| = 0                                                                                                                                                
                                                                                                                                                              
  |XGRID.| = 832                                                                                                                                              
  |YGRID.| = 1408                                                                                                                                             

  Done. (1.15e-03sec)                                                                                                                                         

#------------------------------------------------------------                                                                                                 

  Generate rDT MESH...                                                                                                                                        

#------------------------------------------------------------                                                                                                 
#    |ITER.|      |DEL-1|      |DEL-2|                                                                                                                        
#------------------------------------------------------------                                                                                                 
      10000        16485        28345                                                                                                                         
      25000        16485        58345                                                                                                                         
      50000        16485       108345                                                                                                                         
      75000        16485       158345                                                                                                                         
     100000        16807       207745                                                                                                                         
     250000        25094       472549                                                                                                                         
     500000        25236       930619                                                                                                                         
     750000        25321      1389276                                                                                                                         
    1000000        25496      1847653                                                                                                                         
    2500000        25957      4583110                                                                                                                         
    5000000        26593      9142783                                                                                                                         
    7500000        27115     13692413                                                                                                                         
   10000000        27355     18256201                                                                                                                         
   25000000        28722     45592494                                                                                                                         
   50000000        30873     91114451                                                                                                                         
   75000000        32284    136651641                                                                                                                         
  100000000        33472    182152897                                                                                                                         
  250000000        38587    455269920                                                                                                                         
Terminated                                                                                                                                                    

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions