Home › Forum › SOFA › Using SOFA › [SOLVED] How to use the component SparseLDLSolver?
Tagged: 64_bits, SOFA_1806, SparseLDLSolver, Windows_10
- This topic has 9 replies, 3 voices, and was last updated 6 years, 10 months ago by
Wong.
-
AuthorPosts
-
25 January 2019 at 08:06 #12899
Wong
BlockedHello everyone,
I checked the SOFA_BUILD_METIS item in CMake to compile and use the SparseLDLSolver. But when I launch the FEMBAR-SparseLDLSolver.scn, the scene still cannot run properly and always output the message:”Failed to factorize, D(k,k) is zero”
So how to correctly use it?
Wong
25 January 2019 at 10:53 #12903Hugo
KeymasterHi @outtt
which version are you using ? 18.06 ?
This should be fixed in 18.12. I will gather more info about this issue with the devs.Best
Hugo
25 January 2019 at 12:52 #1290525 January 2019 at 16:50 #12908Hugo
KeymasterHmm ok it means this might have been fixed in master since then
I’ll investigate and let you know.Best
Hugo
29 January 2019 at 13:03 #12928Damien Marchal
BlockedHello,
I compiled sofa master, with metis and SofaSparseSolver plugin and tried the scene.
It worked without problem on my ubuntu.
Can you gives us more details on your setup/OS so we can narrow the investigation ?Damien.
29 January 2019 at 15:39 #12934Wong
BlockedHello @damien-marchaluniv-lille1-fr
I use Sofa v18.12 on Win10 64bits. How do you configure your metis in CMake?
Wong
29 January 2019 at 17:59 #12953Hugo
KeymasterHi @outtt
Did you face any issue in the CMake configuration with METIS?
Like Damien, I successfully run the scene.Hugo
30 January 2019 at 05:12 #12955Wong
BlockedHello @damien-marchaluniv-lille1-fr and @hugo
I have solved the problem.
I think it is a bug on Windows.
In Visual Studio, such statement at SparseLDLSolverImpl.h, as is shown below, would be omitted in compilation process.

If I comment out
//#include <metis.h>at SparseLDLSolverImpl.h, project SofaSparseSolver can still be built successfully.So I make a line feed before that statement and then build. The scene can miraculously work! I do not know why.

Wong
30 January 2019 at 12:06 #12960Damien Marchal
BlockedHello,
Thanks for the details.
To me this is a very strange behavior.Some extra questions:
– which compiler version are you using ?
– did you installed metis yourself, would it be possible that there is a version mismatch between the library you link against and the sofa build ?Damien
30 January 2019 at 13:19 #12961Wong
BlockedHello @damien-marchaluniv-lille1-fr
My compiler is VS2015 and it is the built-in metis version in Sofa.
Wong
-
AuthorPosts
- You must be logged in to reply to this topic.
