neperfepx / neper

Polycrystal generation and meshing
http://neper.info
GNU General Public License v3.0
198 stars 53 forks source link

Meshing Tests Fail (Mac M1) #811

Open lkuna24 opened 5 months ago

lkuna24 commented 5 months ago

Upon trying to install neper on an Apple M1 laptop(OS Ventura 13.6.1), I am running into issues with the meshing module.
I installed gmsh:

kuna138@WE46980 build % gmsh --version
4.13.0-git-4bf968b8f

and am using homebrew installed OpenMP and compilers:

CC=/opt/homebrew/Cellar/llvm/17.0.6_1/bin/clang CXX=/opt/homebrew/Cellar/llvm/17.0.6_1/bin/clang++ cmake .. 

The cmake and compile seem to work without any issue. I will note the warning at the end of the compile, but I don't think this is cause for concern:

ld: warning: ignoring duplicate libraries: '-lgsl', '-lgslcblas', 'contrib/muparser/libmuparser.a', 'contrib/nlopt/libnlopt.a', 'contrib/openGJK/libopenGJKlib.a', 'contrib/orilib/liborilib.a', 'contrib/scotch/libscotch.a', 'contrib/scotch/libscotcherr.a', 'contrib/scotch/libscotcherrexit.a', 'contrib/ut/src/libut.a', 'neper_t/libneper_t.a', 'neut/libneut.a'
[100%] Built target neper

I run the tests and am running into some failures:

The following tests FAILED:
      5 - T/domain_rodrigues_cubic_per (Failed)
      7 - T/domain_rodrigues_hexagonal_per (Failed)
     15 - T/domain_stdtriangle (Failed)
     27 - T/m2_morpho_aspratio_gg (Failed)
     32 - T/m2_morpho_gg (Failed)
     33 - T/m2_morpho_lamellar_w (Failed)
     34 - T/m2_morpho_lamellar_w2 (Failed)
     44 - T/m3_morpho_aspratio_gg (Failed)
     49 - T/m3_morpho_gg (Failed)
     50 - T/m3_morpho_lamellar_w (Failed)
     51 - T/m3_morpho_lamellar_w2 (Failed)
     55 - T/m3_reg (Failed)
     58 - T/morpho_aspratio_gg (Failed)
     66 - T/morpho_gg (Failed)
     67 - T/morpho_lamellar_w (Failed)
     68 - T/morpho_lamellar_w2 (Failed)
     75 - T/morphooptideltamax (Failed)
     77 - T/morphooptigrid (Failed)
     78 - T/morphooptilogdis (Failed)
     79 - T/morphooptilogval (Failed)
     80 - T/morphooptilogvar (Failed)
     81 - T/morphooptini_packing (Failed)
     82 - T/morphooptini_random (Failed)
     83 - T/morphooptinistep (Failed)
     84 - T/morphooptiobj_FL2 (Failed)
     85 - T/morphooptiobj_FL2w (Failed)
     86 - T/morphooptiobj_ad (Failed)
     87 - T/morphooptiobj_cvm (Failed)
     88 - T/morphooptismooth (Failed)
     89 - T/morphooptistop_itermax (Failed)
     92 - T/morphooptistop_val (Failed)
    136 - M/cl (Failed)
    137 - M/cl_expr (Failed)
    141 - M/clratio (Failed)
    142 - M/cut (Failed)
    143 - M/dim (Failed)
    144 - M/dim2 (Failed)
    145 - M/dim_expr (Failed)
    146 - M/faset (Failed)
    149 - M/interface (Failed)
    150 - M/interface2 (Failed)
    151 - M/interface3 (Failed)
    152 - M/mesh2dalgo_dela (Failed)
    153 - M/mesh2dalgo_fron (Failed)
    154 - M/mesh2dalgo_mead (Failed)
    155 - M/mesh2dalgo_netg (Failed)
    156 - M/mesh3dalgo_netggmne (Failed)
    157 - M/mesh3dalgo_netggmsh (Failed)
    158 - M/mesh3dalgo_netgnetg (Failed)
    159 - M/meshing (Failed)
    161 - M/meshqualdisexpr (Failed)
    162 - M/meshqualexpr (Failed)
    163 - M/meshqualmin (Failed)
    164 - M/morpho_cube (Failed)
    165 - M/msh4 (Failed)
    166 - M/nset1 (Failed)
    167 - M/nset2 (Failed)
    168 - M/nset3 (Failed)
    169 - M/order (Failed)
    170 - M/order_dim2 (Failed)
    176 - M/pl (Failed)
    177 - M/rcl (Failed)
    178 - M/rcl_expr (Failed)
    181 - M/remesh1 (Failed)
    182 - M/remesh2 (Failed)
    183 - M/remesh3 (Failed)
    184 - M/remesh4 (Failed)
    185 - M/rodrigues_per_cubic (Failed)
    186 - M/rodrigues_per_hexagonal (Failed)
    192 - M/statelsetco (Failed)
    198 - M/stateltco (Failed)
    200 - M/tesr_dim2 (Failed)
    203 - M/tess2ddim3 (Failed)
    221 - V/asymptote (Failed)
    335 - V/povray (Failed)
Errors while running CTest

And of course running the examples from the Neper tutorial works fine for -T module:

kuna138@WE46980 build % ./neper -T -n 10 -reg 1            

========================    N   e   p   e   r    =======================
Info   : A software package for polycrystal generation and meshing.
Info   : Version 4.8.1-1
Info   : Built with: gsl|muparser|opengjk|openmp|nlopt|libscotch (full)
Info   : Running on 10 threads.
Info   : <https://neper.info>
Info   : Copyright (C) 2003-2022, and GNU GPL'd, by Romain Quey.
Info   : No initialization file found (`/Users/kuna138/.neperrc').
Info   : ---------------------------------------------------------------
Info   : MODULE  -T loaded with arguments:
Info   : [ini file] (none)
Info   : [com line] -n 10 -reg 1
Info   : ---------------------------------------------------------------
Info   : Reading input data...
Info   : Creating domain...
Info   : Creating tessellation...
Info   :   - Setting seeds... 
Info   :   - Running tessellation...
Info   : Generating crystal orientations...
Info   : Regularizing tessellation...
Info   :   - loop 2/2: 100% del=14
Info   : Writing results...
Info   :     [o] Writing file `n10-id1.tess'...
Info   :     [o] Wrote file `n10-id1.tess'.
Info   : Elapsed time: 0.021 secs.
========================================================================

and when I move to the mesh module, I get a failure:

kuna138@WE46980 build % ./neper -M n10-id1.tess

========================    N   e   p   e   r    =======================
Info   : A software package for polycrystal generation and meshing.
Info   : Version 4.8.1-1
Info   : Built with: gsl|muparser|opengjk|openmp|nlopt|libscotch (full)
Info   : Running on 10 threads.
Info   : <https://neper.info>
Info   : Copyright (C) 2003-2022, and GNU GPL'd, by Romain Quey.
Info   : No initialization file found (`/Users/kuna138/.neperrc').
Info   : ---------------------------------------------------------------
Info   : MODULE  -M loaded with arguments:
Info   : [ini file] (none)
Info   : [com line] n10-id1.tess
Info   : ---------------------------------------------------------------
Info   : Reading input data...
Info   :   - Reading arguments...
Warning:     > Using a development Gmsh version (4.13.0-git-4bf968b8f)...
Info   : Loading input data...
Info   :   - Loading tessellation...
Info   :     [i] Parsing file `n10-id1.tess'...
Info   :     [i] Parsed file `n10-id1.tess'.
Info   : Meshing...
Info   :   - Preparing... (cl = 0.2321) 100%
Info   :   - 0D meshing... 100%
Info   :   - 1D meshing... 100%
Info   :   - 2D meshing...  29% (0.41|0.59/81| 6|13)Error  :     > Meshing of face 2 failed
zsh: abort      ./neper -M n10-id1.tess

Are there any suggestions for what could be wrong with this build?

Thanks, Luk

saidharb commented 2 months ago

I have the same error for Mac M2. Typing the following statements in the terminal solved it for me, but I guess now there is no multi thread calculation.

export CC=/usr/local/opt/llvm/bin/clang export CXX=/usr/local/opt/llvm/bin/clang++ export LDFLAGS="-L/usr/local/opt/llvm/lib" export CPPFLAGS="-I/usr/local/opt/llvm/include"