CFD Online Discussion Forums

CFD Online Discussion Forums (https://www.cfd-online.com/Forums/)
-   OpenFOAM CC Toolkits for Fluid-Structure Interaction (https://www.cfd-online.com/Forums/openfoam-cc-toolkits-fluid-structure-interaction/)
-   -   [solidMechanics] Running contactStressFoam in Parallel (https://www.cfd-online.com/Forums/openfoam-cc-toolkits-fluid-structure-interaction/108138-running-contactstressfoam-parallel.html)

Hisham October 15, 2012 12:06

Running contactStressFoam in Parallel
 
Dear Foamers,

I have compiled the contactStressFoam solver on OpenFOAM 2.0.1. The ball and brick tutorial runs OK in serial. However, when I try to run it in parallel (using 4 cpus and scotch) I get the following error running it with valgrind:

Code:

==18787== Memcheck, a memory error detector
==18787== Copyright (C) 2002-2010, and GNU GPL'd, by Julian Seward et al.
==18787== Using Valgrind-3.6.1 and LibVEX; rerun with -h for copyright info
==18787== Command: mpirun -np 4 contactStressFoam -parallel
==18787==
==18787== Syscall param sched_setaffinity(mask) points to unaddressable byte(s)
==18787==    at 0x55D65D9: syscall (syscall.S:39)
==18787==    by 0x609253B: ??? (in /usr/lib/openmpi/lib/openmpi/mca_paffinity_linux.so)
==18787==    by 0x609291C: ??? (in /usr/lib/openmpi/lib/openmpi/mca_paffinity_linux.so)
==18787==    by 0x6093439: ??? (in /usr/lib/openmpi/lib/openmpi/mca_paffinity_linux.so)
==18787==    by 0x60923AF: ??? (in /usr/lib/openmpi/lib/openmpi/mca_paffinity_linux.so)
==18787==    by 0x50B9C5E: opal_paffinity_base_select (in /usr/lib/openmpi/lib/libopen-pal.so.0.0.0)
==18787==    by 0x508F866: opal_init (in /usr/lib/openmpi/lib/libopen-pal.so.0.0.0)
==18787==    by 0x4E3C9F4: orte_init (in /usr/lib/openmpi/lib/libopen-rte.so.0.0.0)
==18787==    by 0x403046: ??? (in /usr/bin/orterun)
==18787==    by 0x402BC3: ??? (in /usr/bin/orterun)
==18787==    by 0x5510EFE: (below main) (libc-start.c:226)
==18787==  Address 0x0 is not stack'd, malloc'd or (recently) free'd
==18787==
/*---------------------------------------------------------------------------*\
| =========                |                                                |
| \\      /  F ield        | OpenFOAM: The Open Source CFD Toolbox          |
|  \\    /  O peration    | Version:  2.0.1                                |
|  \\  /    A nd          | Web:      www.OpenFOAM.com                      |
|    \\/    M anipulation  |                                                |
\*---------------------------------------------------------------------------*/
Build  : 2.0.1-cce6c678443c
Exec  : contactStressFoam -parallel
Date  : Oct 15 2012
Time  : 18:03:21
Host  : numubuntu-System-Product-Name
PID    : 18790
Case  : /home/hisham/OpenFOAM/OpenFOAM-1.6-ext/tutorials/stressAnalysis/contactStressFoam/ballAndBrick
nProcs : 4
Slaves :
3
(
numubuntu-System-Product-Name.18791
numubuntu-System-Product-Name.18792
numubuntu-System-Product-Name.18793
)

Pstream initialized with:
    floatTransfer    : 0
    nProcsSimpleSum  : 0
    commsType        : nonBlocking
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStamp
allowSystemOperations : Allowing user-supplied system call operations

// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
Create time

Create mesh for time = 0

[1] #0  Foam::error::printStack(Foam::Ostream&)[0] #0  Foam::error::printStack(Foam::Ostream&)// using new solver syntax:
U
{
    solver          PCG;
    preconditioner  DIC;
    tolerance      1e-05;
    relTol          0.01;
}

Reading field U

Reading material properties

Normalising E : E/rho

Reading boundary conditions

Reading patchPressure

Normalising patchPressure : patchPressure/rho

Reading patchTraction

Normalising patchTraction : patchTraction/rho

Calculating Lame's coefficients

Plane Strain

mu = 9.79413e+06 Pa/rho
lambda = 1.46912e+07 Pa/rho
Calculating patch traction
Reading contact patch IDs etc.

Creating contact pairs

Calculating displacement field

Iteration: 1

[2] #0  Foam::error::printStack(Foam::Ostream&)[3] #0  Foam::error::printStack(Foam::Ostream&) in "/opt/openfoam201/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[1] #1  Foam::sigSegv::sigHandler(int) in "/opt/openfoam201/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[0] #1  Foam::sigSegv::sigHandler(int) in "/opt/openfoam201/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[3] #1  Foam::sigSegv::sigHandler(int) in "/opt/openfoam201/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[2] #1  Foam::sigSegv::sigHandler(int) in "/opt/openfoam201/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[0] #2  in "/opt/openfoam201/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
 in "/opt/openfoam201/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[3] #2  [1] #2  in "/opt/openfoam201/platforms/linux64GccDPOpt/lib/libOpenFOAM.so"
[2] #2  in "/lib/x86_64-linux-gnu/libc.so.6"
[3] #3  in "/lib/x86_64-linux-gnu/libc.so.6"
[0] #3  in "/lib/x86_64-linux-gnu/libc.so.6"
[1] #3  in "/lib/x86_64-linux-gnu/libc.so.6"
[2] #3 


[3]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[3] #4 
[0]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[0] #4  [1]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[1] #4 

[2]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[2] #4 
[0]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[0] #5  [1]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[1] #5 
[3]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[3] #5 

[2]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[2] #5 
[0]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[0] #6  [1]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[1] #6 
[3]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[3] #6 

[2]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[2] #6 
[1]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bi[0]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[0] #7  n/contactStressFoam"
[1] #7 
[3]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"

[3] #7 
[2]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[2] #7 
[1]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/con[0]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoatactStressFoam"
[1] #8  __libc_start_mainm"
[0] #8  __libc_start_main
 in "/lib/x86_64-linux-gnu/libc.so.6"
[1] #9  in "/lib/x86_64-linux-gnu/libc.so.6"
[0] #9  [3]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[3] #8  __libc_start_main[2]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[2] #8  __libc_start_main

 in "/lib/x86_64-linux-gnu/libc.so.6"
[3] #9  in "/lib/x86_64-linux-gnu/libc.so.6"
[2] #9  [1]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[numubuntu-System-Product-Name:18791] *** Process received signal ***
[numubuntu-System-Product-Name:18791] Signal: Segmentation fault (11)
[numubuntu-System-Product-Name:18791] Signal code:  (-6)
[numubuntu-System-Product-Name:18791] Failing at address: 0x3e900004967
[numubuntu-System-Product-Name:18791] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x33d80) [0x7f38318cfd80]
[numubuntu-System-Product-Name:18791] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f38318cfd05]
[numubuntu-System-Product-Name:18791] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x33d80) [0x7f38318cfd80]
[numubuntu-System-Product-Name:18791] [ 3] contactStressFoam() [0x4241a5]
[numubuntu-System-Product-Name:18791] [ 4] contactStressFoam() [0x4249fa]
[numubuntu-System-Product-Name:18791] [ 5] contactStressFoam() [0x425e92]
[numubuntu-System-Product-Name:18791] [ 6] contactStressFoam() [0x41da07]
[numubuntu-System-Product-Name:18791] [ 7] contactStressFoam() [0x42e92b]
[numubuntu-System-Product-Name:18791] [ 8] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xff) [0x7f38318baeff]
[numubuntu-System-Product-Name:18791] [ 9] contactStressFoam() [0x41cc79]
[numubuntu-System-Product-Name:18791] *** End of error message ***

[0]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[numubuntu-System-Product-Name:18790] *** Process received signal ***
[numubuntu-System-Product-Name:18790] Signal: Segmentation fault (11)
[numubuntu-System-Product-Name:18790] Signal code:  (-6)
[numubuntu-System-Product-Name:18790] Failing at address: 0x3e900004966
[numubuntu-System-Product-Name:18790] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x33d80) [0x7fd76cfc6d80]
[numubuntu-System-Product-Name:18790] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7fd76cfc6d05]
[numubuntu-System-Product-Name:18790] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x33d80) [0x7fd76cfc6d80]
[numubuntu-System-Product-Name:18790] [ 3] contactStressFoam() [0x4241a5]
[numubuntu-System-Product-Name:18790] [ 4] contactStressFoam() [0x4249fa]
[numubuntu-System-Product-Name:18790] [ 5] contactStressFoam() [0x425e92]
[numubuntu-System-Product-Name:18790] [ 6] contactStressFoam() [0x41da07]
[numubuntu-System-Product-Name:18790] [ 7] contactStressFoam() [0x42e92b]
[numubuntu-System-Product-Name:18790] [ 8] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xff) [0x7fd76cfb1eff]
[numubuntu-System-Product-Name:18790] [ 9] contactStressFoam() [0x41cc79]
[numubuntu-System-Product-Name:18790] *** End of error message ***

[2]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[numubuntu-System-Product-Name:18792] *** Process received signal ***
[numubuntu-System-Product-Name:18792] Signal: Segmentation fault (11)
[numubuntu-System-Product-Name:18792] Signal code:  (-6)
[numubuntu-System-Product-Name:18792] Failing at address: 0x3e900004968
[numubuntu-System-Product-Name:18792] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x33d80) [0x7f66112a6d80]
[numubuntu-System-Product-Name:18792] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f66112a6d05]
[numubuntu-System-Product-Name:18792] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x33d80) [0x7f66112a6d80]
[numubuntu-System-Product-Name:18792] [ 3] contactStressFoam() [0x4241a5]
[numubuntu-System-Product-Name:18792] [ 4] contactStressFoam() [0x4249fa]
[numubuntu-System-Product-Name:18792] [ 5] contactStressFoam() [0x425e92]
[numubuntu-System-Product-Name:18792] [ 6] contactStressFoam() [0x41da07]
[numubuntu-System-Product-Name:18792] [ 7] contactStressFoam() [0x42e948]
[numubuntu-System-Product-Name:18792] [ 8] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xff) [0x7f6611291eff]
[numubuntu-System-Product-Name:18792] [ 9] contactStressFoam() [0x41cc79]
[numubuntu-System-Product-Name:18792] *** End of error message ***
[3]  in "/home/hisham/OpenFOAM/hisham-2.0.1/platforms/linux64GccDPOpt/bin/contactStressFoam"
[numubuntu-System-Product-Name:18793] *** Process received signal ***
[numubuntu-System-Product-Name:18793] Signal: Segmentation fault (11)
[numubuntu-System-Product-Name:18793] Signal code:  (-6)
[numubuntu-System-Product-Name:18793] Failing at address: 0x3e900004969
[numubuntu-System-Product-Name:18793] [ 0] /lib/x86_64-linux-gnu/libc.so.6(+0x33d80) [0x7f184c04ed80]
[numubuntu-System-Product-Name:18793] [ 1] /lib/x86_64-linux-gnu/libc.so.6(gsignal+0x35) [0x7f184c04ed05]
[numubuntu-System-Product-Name:18793] [ 2] /lib/x86_64-linux-gnu/libc.so.6(+0x33d80) [0x7f184c04ed80]
[numubuntu-System-Product-Name:18793] [ 3] contactStressFoam() [0x4241a5]
[numubuntu-System-Product-Name:18793] [ 4] contactStressFoam() [0x4249fa]
[numubuntu-System-Product-Name:18793] [ 5] contactStressFoam() [0x425e92]
[numubuntu-System-Product-Name:18793] [ 6] contactStressFoam() [0x41da07]
[numubuntu-System-Product-Name:18793] [ 7] contactStressFoam() [0x42e948]
[numubuntu-System-Product-Name:18793] [ 8] /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xff) [0x7f184c039eff]
[numubuntu-System-Product-Name:18793] [ 9] contactStressFoam() [0x41cc79]
[numubuntu-System-Product-Name:18793] *** End of error message ***
--------------------------------------------------------------------------
mpirun noticed that process rank 1 with PID 18791 on node numubuntu-System-Product-Name exited on signal 11 (Segmentation fault).
--------------------------------------------------------------------------
2 total processes killed (some possibly by mpirun during cleanup)
==18787==
==18787== HEAP SUMMARY:
==18787==    in use at exit: 266,137 bytes in 1,614 blocks
==18787==  total heap usage: 10,283 allocs, 8,669 frees, 15,766,629 bytes allocated
==18787==
==18787== LEAK SUMMARY:
==18787==    definitely lost: 34,567 bytes in 73 blocks
==18787==    indirectly lost: 2,716 bytes in 64 blocks
==18787==      possibly lost: 0 bytes in 0 blocks
==18787==    still reachable: 228,854 bytes in 1,477 blocks
==18787==        suppressed: 0 bytes in 0 blocks
==18787== Rerun with --leak-check=full to see details of leaked memory
==18787==
==18787== For counts of detected and suppressed errors, rerun with: -v
==18787== ERROR SUMMARY: 1 errors from 1 contexts (suppressed: 4 from 4)


I appreciate any help!

Edit: The solver does not execute in parallel when compiled in an OpenFOAM-1.6-ext environment as well. It reports the same error.

Best regards,
Hisham

bigphil October 16, 2012 10:27

Hi Hisham,

This solver has not been developed for parallel simulation. In fact, this solver does not work in serial (there are a couple of mistakes in the procedure).

The solver elasticContactSolidFoam (found in the solidMechanics branch of OpenFOAM-1.6-ext) runs in parallel by employing special procedures in combination with globalFaceZones.

Best regards,
Philip

Hisham October 16, 2012 10:34

Quote:

Originally Posted by bigphil (Post 386898)
Hi Hisham,

This solver has not been developed for parallel simulation. In fact, this solver does not work in serial (there are a couple of mistakes in the procedure).

The solver elasticContactSolidFoam (found in the solidMechanics branch of OpenFOAM-1.6-ext) runs in parallel by employing special procedures in combination with globalFaceZones.

Best regards,
Philip

Thanks a lot Philip ... It is wonderful what you have done ... Respect to you, sir :)


All times are GMT -4. The time now is 00:48.