CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Installation (http://www.cfd-online.com/Forums/openfoam-installation/)
-   -   metis decompose OpenFoam 2.0.0 (http://www.cfd-online.com/Forums/openfoam-installation/90230-metis-decompose-openfoam-2-0-0-a.html)

sebastianweiper July 5, 2011 05:01

metis decompose OpenFoam 2.0.0
 
Hi Foamers,

I have a Problem in building and using the metisDecomp libary.

I get this error when I want to use the metis decompose method:
Quote:

--> FOAM FATAL ERROR:
You are trying to use metis but do not have the metisDecomp library loaded.
This message is from the dummy metisDecomp stub library instead.

Please install metis and make sure that libmetis.so is in your LD_LIBRARY_PATH.
The metisDecomp library can then be built from $FOAM_SRC/parallel/decompose/metisDecomp and dynamically loading or linking this library will add metis as a decomposition method.
Please be aware that there are license restrictions on using Metis.

From function labelList metisDecomp::decompose(const pointField&, const scalarField&)
in file dummyMetisDecomp.C at line 108.

FOAM exiting

When I want to build the libary I get the following error:
Quote:

metisDecomp.C:34:22: fatal error: metis.H: No such file or directory
compilation terminated.
make: *** [Make/linux64GccDPOpt/metisDecomp.o] Error 1

I don`t know where the Problem is. The Rest of OpenFoam works fine.
Thanks for your help.

alberto July 6, 2011 02:04

Metis is not part of the ThirdParty package in 2.0.x. You might want to try the scotch decomposition library, which essentially offers identical functionality.

Best,

brent_craven August 15, 2011 19:02

Scotch might provide similar functionality, but a head-to-head test of metis vs. scotch shows that for the same mesh (in my case a large, 20M cell mesh), metis decomposes a mesh approximately twice as fast as scotch.

pere February 28, 2012 05:21

I had the same problem, where can I find Metis? Is it free?

pere February 28, 2012 06:25

ok I have metis-5.0.2 compiled in /ThirdParty and I have libmetis.so in LD_LIBRARY_PATH but the error is the same.....

AlmostSurelyRob June 5, 2012 17:22

Hello everybody,

I've just spotted this post by searching the forum for metis. I managed to compile and run metis decomposition. I posted some details here

http://www.cfd-online.com/Forums/ope...m-2-1-0-a.html

If you need help I can supply the necessary files and maybe some advice.

alberto June 5, 2012 17:59

Just a little curiosity, do you see significant advantages with metis in comparison to scotch?

AlmostSurelyRob June 5, 2012 18:21

I've just run scotch and metis on damBreakFine case. The execution time was on 14s on four processors with scotch being slightly (13.55s) faster. When I run some bigger cases I will do more testing and I will let you know.

alberto June 5, 2012 18:22

Thanks: I have never actually compared, but it would be interesting :-)

AlmostSurelyRob June 9, 2012 12:04

Alberto,

I haven't yet run the bigger comparisons as I promised. I am retained in a bit different pursuit, but I'll do that as soon as I'm done with my current project.

I have however been playing with scotch, metis and twoPhaseEulerFoam. I am doing a 2D channel and scotch crashes on a case with 262144 cells. Metis seems to run ok on the same case. This is the first time I am trying a bigger mesh with twoPhaseEulerFoam. For smaller cases scotch was working fine.

Here's the error if you're interested.
Code:

DILUPBiCG:  Solving for alpha, Initial residual = 1, Final residual = 1.07693e-12, No Iterations 3
Dispersed phase volume fraction = 0.5  Min(alpha) = 0.5  Max(alpha) = 0.5
[1] #0  [2] Foam::error::printStack(Foam::Ostream&)#0  Foam::error::printStack(Foam::Ostream&)[3] #0  Foam::error::printStack(Foam::Ostream&)[0] #0  Foam::error::printStack(Foam::Ostream&) in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[2] #1  Foam::sigFpe::sigHandler(int) in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[1] #1  Foam::sigFpe::sigHandler(int) in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[3] #1  Foam::sigFpe::sigHandler(int) in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[2] #2  in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[0] #1  Foam::sigFpe::sigHandler(int) in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[0] #2  in "/lib/libc.so.6"
[2] #3  Foam::PBiCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[1] #2  in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[2] #4  Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/lib/libc.so.6"
[0] #3  Foam::PBiCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[0] #4  Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
[0] #5  in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[3] #2  in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
[2] #5  Foam::fvMatrix<double>::solve()Foam::fvMatrix<double>::solve() in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/twoPhaseEulerFoam"
[0] #6  in "/lib/libc.so.6"
[3] #3  Foam::PBiCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/twoPhaseEulerFoam"
[2] #6  in "/lib/libc.so.6"
[1] #3  Foam::PBiCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const

 in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[3] #4  Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[1] #4  Foam::fvMatrix<double>::solve(Foam::dictionary const&)[0]  in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/twoPhaseEulerFoam"
[0] #7  __libc_start_main[2]  in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/twoPhaseEulerFoam"
[2] #7  __libc_start_main in "/lib/libc.so.6"
[2] #8  in "/lib/libc.so.6"
[0] #8 

[0]  in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/twoPhaseEulerFoam"
[taranis:23847] *** Process received signal ***
[taranis:23847] Signal: Floating point exception (8)
[taranis:23847] Signal code:  (-6)
[taranis:23847] Failing at address: 0x3e800005d27
[taranis:23847] [ 0] /lib/libc.so.6(+0x34cb0) [0x7f42d2d4bcb0]
[taranis:23847] [ 1] /lib/libc.so.6(gsignal+0x35) [0x7f42d2d4bc35]
[taranis:23847] [ 2] /lib/libc.so.6(+0x34cb0) [0x7f42d2d4bcb0]
[taranis:23847] [ 3] /usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZNK4Foam5PBiCG5solveERNS_5FieldIdEERKS2_h+0xb20) [0x7f42d3d8e2c0]
[taranis:23847] [ 4] /usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libfiniteVolume.so(_ZN4Foam8fvMatrixIdE5solveERKNS_10dictionaryE+0x10b) [0x7f42d564ed9b]
[taranis:23847] [ 5] twoPhaseEulerFoam(_ZN4Foam8fvMatrixIdE5solveEv+0x91) [0x45a581]
[taranis:23847] [ 6] twoPhaseEulerFoam() [0x445146]
[taranis:23847] [ 7] /lib/libc.so.6(__libc_start_main+0xf5) [0x7f42d2d38455]
[taranis:23847] [ 8] twoPhaseEulerFoam() [0x4504fd]
[taranis:23847] *** End of error message ***
[2]  in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/bin/twoPhaseEulerFoam"
[taranis:23849] *** Process received signal ***
[taranis:23849] Signal: Floating point exception (8)
[taranis:23849] Signal code:  (-6)
[taranis:23849] Failing at address: 0x3e800005d29
[taranis:23849] [ 0] /lib/libc.so.6(+0x34cb0) [0x7f2a0c4adcb0]
[taranis:23849] [ 1] /lib/libc.so.6(gsignal+0x35) [0x7f2a0c4adc35]
[taranis:23849] [ 2] /lib/libc.so.6(+0x34cb0) [0x7f2a0c4adcb0]
[taranis:23849] [ 3] /usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libOpenFOAM.so(_ZNK4Foam5PBiCG5solveERNS_5FieldIdEERKS2_h+0xb20) [0x7f2a0d4f02c0]
[taranis:23849] [ 4] /usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libfiniteVolume.so(_ZN4Foam8fvMatrixIdE5solveERKNS_10dictionaryE+0x10b) [0x7f2a0edb0d9b]
[taranis:23849] [ 5] twoPhaseEulerFoam(_ZN4Foam8fvMatrixIdE5solveEv+0x91) [0x45a581]
[taranis:23849] [ 6] twoPhaseEulerFoam() [0x445146]
[taranis:23849] [ 7] /lib/libc.so.6(__libc_start_main+0xf5) [0x7f2a0c49a455]
[taranis:23849] [ 8] twoPhaseEulerFoam() [0x4504fd]
[taranis:23849] *** End of error message ***
 in "/usr/local/OpenFOAM/OpenFOAM-2.1.x/platforms/linux64GccDPOpt/lib/libfiniteVolume.so"
[3] #5  --------------------------------------------------------------------------
mpirun noticed that process rank 0 with PID 23847 on node taranis exited on signal 8 (Floating point exception).

PS. Is this becoming off-topic?


All times are GMT -4. The time now is 05:08.