CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM Running, Solving & CFD (http://www.cfd-online.com/Forums/openfoam-solving/)
-   -   Running PimpleDyMFoam in parallel (http://www.cfd-online.com/Forums/openfoam-solving/75836-running-pimpledymfoam-parallel.html)

paul b May 6, 2010 12:03

Running PimpleDyMFoam in parallel
 
Hey Guys,

I got stuck trying to run pimpleDyMFoam in parallel. The decomposition ran through without throwing any error messages but if I try and do:

Code:

mpirun -n 4 pimpleDyMFoam -parallel
I get:

Code:

Create time

Create mesh for time = 0

Selecting dynamicFvMesh dynamicMotionSolverFvMesh
Selecting motion solver: velocityLaplacian
[0]
[0]
[0] --> FOAM FATAL IO ERROR:
[0] size 898 is not equal to the given value of 518
[0]
[0] file: /home/bionik/CFD/williamsWing5/processor0/0/pointMotionU::boundaryField::wing from line 55 to line 71.
[0]
[0]    From function Field<Type>::Field(const word& keyword, const dictionary&, const label)
[0]    in file /home/bionik/OpenFOAM/OpenFOAM-1.6.x/src/OpenFOAM/lnInclude/Field.C at line 237.
[0]
FOAM parallel run exiting
[0]
[2]
[2]
[2] --> FOAM FATAL IO ERROR:
[2] size 898 is not equal to the given value of 470
[2]
[2] file: /home/bionik/CFD/williamsWing5/processor2/0/pointMotionU::boundaryField::wing from line 55 to line 71.
[2]
[2]    From function Field<Type>::Field(const word& keyword, const dictionary&, const label)
[2]    in file /home/bionik/OpenFOAM/OpenFOAM-1.6.x/src/OpenFOAM/lnInclude/Field.C at line 237.
[2]
FOAM parallel run exiting
[2]
--------------------------------------------------------------------------
MPI_ABORT was invoked on rank 0 in communicator MPI_COMM_WORLD
with errorcode 1.

I know there has been a similar posts somewhere in the forum but it doesn't work for me.
So it seems to me that something is wrong with how the moving patch is distributed over the processors. If I take a look at the pointMotionU-files in the processor folders they show a big mess in the region where the boundary condition for the moved mesh is stated.

The case can be downloaded from here:
http://exchange.hs-bremen.de/exchange?g=sdknrn

I would really appreciate if someone could help me to get this running...
Best regards
Paul

paul b May 10, 2010 04:30

Hey all,
please, is there nobody out there who encountered the same problems?
In this thread: http://www.cfd-online.com/Forums/openfoam-bugs/64751-parallel-moving-mesh-bug-multi-patch-case.html
the advice of parallel preprocessing is given. What does this mean? Do I have to do the preprocessing for each processor?

I would be really glad if someone could comment on this for I'm really stuck here at the moment.

Thanks a lot,
Paul

ps. forgot to mention: I'm using OF 1.6.x

cwang5 June 13, 2010 10:59

Hi Paul,

Have you managed to resolve the problem? I have encountered similar problem using pimpleDyMFoam and could use some guidance. Thanks.

John

paul b June 14, 2010 03:33

Hey John,
sorry to disappoint you but I didn't solve the problem. I'm using 1.5-dev now and it works quite well...

If you come up with a solution please let me know :)

paul

flowris April 19, 2011 09:41

Hi Paul,

I am suffering from the same problem as you when running a moving mesh in parallel:


Code:

Selecting motion solver: velocityLaplacian
[0]
[0]
[0] --> FOAM FATAL IO ERROR:
[0] size 406 is not equal to the given value of 116
[0]
[0] file: /home/jmatthei/OpenFOAM/jmatthei-1.6-ext/run/testPatchDeform/pitching10k/processor0/0/pointMotionU::boundaryField::airfoil from line 48 to line 465.
[0]
[0]    From function Field<Type>::Field(const word& keyword, const dictionary&, const label)
[0]    in file /home/jmatthei/OpenFOAM/OpenFOAM-1.6-ext/src/OpenFOAM/lnInclude/Field.C at line 237.


I use 1.6-ext, motionSolverLibs ("libfvMotionSolver.so") and angularOscillatingDisplacement. Did you resolve your problem already?

paul b April 19, 2011 17:37

Forget about the velocityLaplacian and use Hrvoje Jasaks tetDecomposition motion solver as it seems to be more robust and can handle larger deformation.

Hope it works!
Paul

mathieu April 19, 2011 20:12

Dear Flowris,

There is a point field p0 that is probably written in processor*/pointMotionU (or pointDisplacement) on the angularOscillatingVelocity (or angularOscillatingDisplacement) patch when you decompose the field.

p0 nonuniform List<vector>
80
(
(-0.3535 -0.3535 0)
(-0.3535 -0.3535 0.25)
(-0.293859 -0.404472 0.25)
... etc ...
)
;

Just remove that field in all processor*/pointMotionU (or processor*/pointDisplacement) and see if it works.

Mathieu

flowris April 20, 2011 04:19

Mathieu,
I deleted the p0 nonuniform List, and the cases moves in parallel. The mesh is distorted where the processor boundaries meet the moving wall, see
http://www.cfd-online.com/Forums/ope...1-6-ext-2.html

flowris April 20, 2011 05:21

Paul,

Thanks for the tip. I tried to use pseudoSolidFaceDecomposition. angularOscillatingDisplacement cannot be used with it, since it is written for the fvMotionSolver. Do I have to rewrite it, e.g. here:
/src/dynamicMesh/meshMotion/tetDecompositionMotionSolver/pointPatchFields/derived or is there an easier solution?

Is there a tutorial for tetDecompositionMotionSolver or pseudoSolidFaceDecomposition?


All times are GMT -4. The time now is 18:33.