OpenFOAM / OpenFOAM-8

OpenFOAM Foundation repository for OpenFOAM version 8
GNU General Public License v3.0
115 stars 85 forks source link

Cannot use openfoan for cluster parallel computing #13

Open qingfengfenga opened 3 years ago

qingfengfenga commented 3 years ago

Version

OpenFoam-8/OpenFoam-2012
mpirun (Open MPI) 4.0.3

I have copied a cavity file here to test cluster parallel computing

OpenFOAM/OpenFOAM-8/tutorials/incompressible/icoFoam/cavity/cavity

After adding the machines and system/decomposepardict files, the test folder looks like this

$ ls
0  Allclean  constant  machines  system  test.sh

There is no need for passwords between nodes, and SSH login and hosts files have been configured correctly.

I can use any machine for parallel computing, and it can run normally. When I need more than one node to compute, I will report an error. The icofoam executable file of other nodes cannot be found, but this file is real and can run normally.

Maybe it's a variable setting error in openmpi, but I don't know where to modify it to use cluster for parallel computing.

Here is the output log, I hope someone can help me.

$ cat test.sh 
blockMesh && decomposePar && mpirun --hostfile machines -np 8 icoFoam -parallel > log

$ sh test.sh 
/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : 8-3d62498be310
Exec   : blockMesh
Date   : May 17 2021
Time   : 11:50:01
Host   : "dyfluid"
PID    : 191394
I/O    : uncollated
Case   : /home/dyfluid/test/test2/cavity
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

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

Creating block mesh from
    "system/blockMeshDict"
Creating block edges
No non-planar block faces defined
Creating topology blocks
Creating topology patches

Creating block mesh topology

Check topology

    Basic statistics
        Number of internal faces : 0
        Number of boundary faces : 6
        Number of defined boundary faces : 6
        Number of undefined boundary faces : 0
    Checking patch -> block consistency

Creating block offsets
Creating merge list .

Creating polyMesh from blockMesh
Creating patches
Creating cells
Creating points with scale 0.1
    Block 0 cell size :
        i : 0.005 .. 0.005
        j : 0.005 .. 0.005
        k : 0.01

Writing polyMesh
----------------
Mesh Information
----------------
  boundingBox: (0 0 0) (0.1 0.1 0.01)
  nPoints: 882
  nCells: 400
  nFaces: 1640
  nInternalFaces: 760
----------------
Patches
----------------
  patch 0 (start: 760 size: 20) name: movingWall
  patch 1 (start: 780 size: 60) name: fixedWalls
  patch 2 (start: 840 size: 800) name: frontAndBack

End

/*---------------------------------------------------------------------------*\
  =========                 |
  \\      /  F ield         | OpenFOAM: The Open Source CFD Toolbox
   \\    /   O peration     | Website:  https://openfoam.org
    \\  /    A nd           | Version:  8
     \\/     M anipulation  |
\*---------------------------------------------------------------------------*/
Build  : 8-3d62498be310
Exec   : decomposePar
Date   : May 17 2021
Time   : 11:50:01
Host   : "dyfluid"
PID    : 191395
I/O    : uncollated
Case   : /home/dyfluid/test/test2/cavity
nProcs : 1
sigFpe : Enabling floating point exception trapping (FOAM_SIGFPE).
fileModificationChecking : Monitoring run-time modified files using timeStampMaster (fileModificationSkew 10)
allowSystemOperations : Allowing user-supplied system call operations

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

Decomposing mesh region0

Create mesh

Calculating distribution of cells
Selecting decompositionMethod scotch

Finished decomposition in 0 s

Calculating original mesh data

Distributing cells to processors

Distributing faces to processors

Distributing points to processors

Constructing processor meshes

Processor 0
    Number of cells = 50
    Number of faces shared with processor 1 = 10
    Number of faces shared with processor 3 = 5
    Number of faces shared with processor 6 = 5
    Number of faces shared with processor 7 = 5
    Number of processor patches = 4
    Number of processor faces = 25
    Number of boundary faces = 105

Processor 1
    Number of cells = 50
    Number of faces shared with processor 0 = 10
    Number of faces shared with processor 2 = 5
    Number of processor patches = 2
    Number of processor faces = 15
    Number of boundary faces = 115

Processor 2
    Number of cells = 50
    Number of faces shared with processor 1 = 5
    Number of faces shared with processor 3 = 10
    Number of processor patches = 2
    Number of processor faces = 15
    Number of boundary faces = 115

Processor 3
    Number of cells = 50
    Number of faces shared with processor 0 = 5
    Number of faces shared with processor 2 = 10
    Number of faces shared with processor 4 = 10
    Number of processor patches = 3
    Number of processor faces = 25
    Number of boundary faces = 105

Processor 4
    Number of cells = 50
    Number of faces shared with processor 3 = 10
    Number of faces shared with processor 5 = 10
    Number of faces shared with processor 7 = 5
    Number of processor patches = 3
    Number of processor faces = 25
    Number of boundary faces = 105

Processor 5
    Number of cells = 50
    Number of faces shared with processor 4 = 10
    Number of faces shared with processor 7 = 5
    Number of processor patches = 2
    Number of processor faces = 15
    Number of boundary faces = 115

Processor 6
    Number of cells = 50
    Number of faces shared with processor 0 = 5
    Number of faces shared with processor 7 = 10
    Number of processor patches = 2
    Number of processor faces = 15
    Number of boundary faces = 115

Processor 7
    Number of cells = 50
    Number of faces shared with processor 0 = 5
    Number of faces shared with processor 4 = 5
    Number of faces shared with processor 5 = 5
    Number of faces shared with processor 6 = 10
    Number of processor patches = 4
    Number of processor faces = 25
    Number of boundary faces = 105

Number of processor faces = 80
Max number of cells = 50 (0% above average 50)
Max number of processor patches = 4 (45.4545% above average 2.75)
Max number of faces between processors = 25 (25% above average 20)

Time = 0

Processor 0: field transfer
Processor 1: field transfer
Processor 2: field transfer
Processor 3: field transfer
Processor 4: field transfer
Processor 5: field transfer
Processor 6: field transfer
Processor 7: field transfer

End

--------------------------------------------------------------------------
mpirun was unable to find the specified executable file, and therefore
did not launch the job.  This error was first reported for process
rank 4; it may have occurred for other processes as well.

NOTE: A common cause for this error is misspelling a mpirun command
      line parameter option (remember that mpirun interprets the first
      unrecognized command line token as the executable).

Node:       node2
Executable: /home/dyfluid/OpenFOAM/OpenFOAM-8/platforms/linux64GccDPInt32Opt/bin/icoFoam
--------------------------------------------------------------------------