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

Stuck in [qr] symbolic : 79.92 ms #5

Open
lukkio88 opened this issue Jun 13, 2020 · 1 comment
Open

Stuck in [qr] symbolic : 79.92 ms #5

lukkio88 opened this issue Jun 13, 2020 · 1 comment

Comments

@lukkio88
Copy link

lukkio88 commented Jun 13, 2020

Hi,

I have a mesh which seems to be disk topology and 2-manifold.
When I use your tool (with the GUI) I get the following when I try to initialize the algorithm:

Constructed halfedge mesh with: 
    # verts =  43199
    # edges =  129573
    # faces =  86368
    # halfedges =  259104
    and 6 boundary components. 
Construction took 37.32 ms
Length scale = 29.2406
[ENERGYPLOT]#TITLE:Energy during optimization
[ENERGYPLOT]#NAMES:Length,Distortion (Dirichlet),Distortion (Hencky),Area,Visibility,Normal Deviation
[ENERGYPLOT]#XLABEL:Iteration
[ENERGYPLOT]#YLABEL:Energy Contribution
Building operators...
  ..done building operators.
[qr] symbolic: 79.92 ms

As a workaround I've tried to re-build with the option -DSUITESPARSE=OFF but when I do make -j8 I get:

/home/MeshProcessing/variational-surface-cutting/projects/cuts/core/src/fast_cholesky.cpp: In constructor \u2018FastCholesky::FastCholesky(GC::SparseMatrix<double>&)\u2019:
/home/MeshProcessing/variational-surface-cutting/projects/cuts/core/src/fast_cholesky.cpp:39:13: error: \u2018class GC::SparseMatrix<double>\u2019 has no member named \u2018to_cholmod\u2019
     mat = A.to_cholmod();
             ^
At global scope:
cc1plus: error: unrecognized command line option \u2018-Wno-unused-private-field\u2019 [-Werror]
cc1plus: all warnings being treated as errors
projects/cuts/core/CMakeFiles/cuts-core.dir/build.make:114: recipe for target 'projects/cuts/core/CMakeFiles/cuts-core.dir/src/fast_cholesky.cpp.o' failed
make[2]: *** [projects/cuts/core/CMakeFiles/cuts-core.dir/src/fast_cholesky.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
CMakeFiles/Makefile2:662: recipe for target 'projects/cuts/core/CMakeFiles/cuts-core.dir/all' failed
make[1]: *** [projects/cuts/core/CMakeFiles/cuts-core.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

Because I was hoping maybe using Eigen instead of SuiteSparse would've solved the issue.
Any chance you can help to understand what the issue is?

@nmwsharp
Copy link
Owner

Hi! Pardon the slow responses here. I really wish I had more time to dig in to this, but things are busy!

Unfortunately, I don't have easy answers. It's getting stuck at some step after the symbolic factorization (perhaps the numeric factorization), but it's hard to say where without seeing your application running. Since it's likely a numerical issue, you might try remeshing your input to have more uniform, nearly-equilateral triangles. You're much more likely to run in to numerical issues if there are skinny triangles in the mesh.

The project as-written directly interfaces with Suitesparse for efficiency, so it won't build out of the box with Eigen (even though the larger codebase machinery has some support for swapping in Eigen). I will say that in my experience, the Suitesparse solvers are pretty always more effective than Eigen's.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants