CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   interDyMFoam, problems in mesh motion solutor run in parallel (http://www.cfd-online.com/Forums/openfoam/70355-interdymfoam-problems-mesh-motion-solutor-run-parallel.html)

DLC November 21, 2009 17:39

interDyMFoam, problems in mesh motion solutor run in parallel
 
Hello,
I'm using OpenFOAM 1.5-dev. I'm using the interDyMFoam solutor to run a free surface flow test case (a cube floating in water). I've modified a bit the floatingBody classes, but nothing of major importance.

I don't have problems in running the simulation in serial (one processor), but when I try to run the same case in parallel (on four processors) the simulation gets stuck though I think I've done all things correctly, using decomposePar.

I've done a bit of debugging and found out that the coode gets stuck on the solutor of the laplacian for the mesh motion in sixDofMotion.C,
more precisely in fvMesh::movePoints(motionPtr_->newPoints()).
the problem seems to be in newPoints().

In the end I found out that the problem seems to be in laplaceTetDecompositionMotionSolver.C in the line solverPerf_ = motionEqn.solve(). Unfortunately I couldn't get any 'deeper' than that in the code.

Does anybody have an idea why the simulation runs in serial and not in parallel? I mean, isn't pretty wierd that running in parallel gives problems in the solutor for the mesh motion? Any idea can be very useful!

thanks to all

Davide

jploz November 23, 2009 05:44

Known issues related to mesh motion
 
Hi,

there are known issues related to mesh motion. Please read through the following threads, probably this will solve your questions:

http://www.cfd-online.com/Forums/ope...odyfvmesh.html

http://www.cfd-online.com/Forums/ope...l-1-5-dev.html

Good luck.
Jean-Peer

DLC November 23, 2009 09:57

Thank you very much, I got a bit further changing the comm blocking , but now it is giving me the following error:

temporary dellocated
From function const T& tmp<T>::operator()() const

It seems like a matrix has been deallocated. Should I manually allocate it inside the code?




thanks again

Davide

DLC November 23, 2009 10:30

Actually these are the full error lines:

Please click one of the Quick Reply icons in the posts above to activate Quick Reply.[2]
[2]
[2] temporary deallocated
[2]
[2] From function const T& tmp<T>::operator()() const
[2] in file /u/cmcs/dlconti/OpenFOAM/OpenFOAM-1.5-dev/src/OpenFOAM/lnInclude/tmpI.H at line 190.
[2]
FOAM parallel run aborting
[2]
[iacspc122:21725] MPI_ABORT invoked on rank 2 in communicator MPI_COMM_WORLD with errorcode 1
[3]
[3]
[3] temporary deallocated
[3]
[3] From function const T& tmp<T>::operator()() const
[3] in file /u/cmcs/dlconti/OpenFOAM/OpenFOAM-1.5-dev/src/OpenFOAM/lnInclude/tmpI.H at line 190.
[3]
FOAM parallel run aborting
[3]
[iacspc122:21726] MPI_ABORT invoked on rank 3 in communicator MPI_COMM_WORLD with errorcode 1
[0]
[0]
[0] temporary deallocated
[0]
[0] From function const T& tmp<T>::operator()() const
[0] in file /u/cmcs/dlconti/OpenFOAM/OpenFOAM-1.5-dev/src/OpenFOAM/lnInclude/tmpI.H at line 190.
[0]
FOAM parallel run aborting
[0]
[iacspc122:21723] MPI_ABORT invoked on rank 0 in communicator MPI_COMM_WORLD with errorcode 1
[1]
[1]
[1] temporary deallocated
[1]
[1] From function const T& tmp<T>::operator()() const
[1] in file /u/cmcs/dlconti/OpenFOAM/OpenFOAM-1.5-dev/src/OpenFOAM/lnInclude/tmpI.H at line 190.
[1]
FOAM parallel run aborting
[1]
[iacspc122:21724] MPI_ABORT invoked on rank 1 in communicator MPI_COMM_WORLD with errorcode 1

[1] Exit 1 mpirun -np 4 rasInterDyMFoam_BOAT -parallel > log66.out

jploz November 24, 2009 05:14

You need to re-check your source code. The error you are facing is not related to the actual mesh motion, I guess.

DLC December 1, 2009 11:29

I'm sorry bothering you again, but I still have problems running interDyMFoam on OF 1.5-dev in parallel...

I even downloaded and compiled again the source, but the same error pops up when I try to run a case in parallel:
[3] [0]
[0]
[0] temporary deallocated
[0]
[0] From function const T& tmp<T>::operator()() const
[0] in file
/usr/scratch122/OpenFOAM/OpenFOAM-1.5-devSVN/src/OpenFOAM/lnInclude/tmpI.H at
line [2]
[2]
[2] temporary deallocated
[2]
[2] From function const T& tmp<T>::operator()() const
[2] in file
/usr/scratch122/OpenFOAM/OpenFOAM-1.5-devSVN/src/OpenFOAM/lnInclude/tmpI.H at
line 190.
[2]
FOAM parallel run aborting
[2]
[iacspc122:00723] MPI_ABORT invoked on rank 2 in communicator
MPI_COMM_WORLD with errorcode 1

[3]
[3] temporary deallocated
[3]
[3] From function const T& tmp<T>::operator()() const
[3] in file
/usr/scratch122/OpenFOAM/OpenFOAM-1.5-devSVN/src/OpenFOAM/lnInclude/tmpI.H at
line 190.
[3]
FOAM parallel run aborting
[3]
[iacspc122:00724] MPI_ABORT invoked on rank 3 in communicator
MPI_COMM_WORLD with errorcode 1
190.
[0]
FOAM parallel run aborting
[0]
[iacspc122:00721] MPI_ABORT invoked on rank 0 in communicator
MPI_COMM_WORLD with errorcode 1
[1]
[1]
[1] temporary deallocated
[1]
[1] From function const T& tmp<T>::operator()() const
[1] in file
/usr/scratch122/OpenFOAM/OpenFOAM-1.5-devSVN/src/OpenFOAM/lnInclude/tmpI.H at
line 190.
[1]
FOAM parallel run aborting
[1]
[iacspc122:00722] MPI_ABORT invoked on rank 1 in communicator
MPI_COMM_WORLD with errorcode 1


does anyone have an Idea?...

Thanks!

Davide

DLC December 1, 2009 11:31

are you completely sure that you have OF 1.5-dev working in parallel?

matteoL January 7, 2010 08:06

Mesh motion in parallel
 
Hello everyone,
I have found out how to solve the issue of the " temporary deallocated" problem in the mesh motion in parallel.

To solve the mesh motion problem we were using the amgSolver and it seems that in parallel that solver for the tetfem mesh motion has not been ported correctly.

If ,instead, we switch to the classical CG solver, the mesh motion works smoothly in parallel.

If you can, please Prof. jasak have a look at it in the new 1.6-dev...

best regards,
matteo

yannH June 30, 2010 10:02

Hi everyone,

I have a question about using interDymFoam and dynamicMotionSolverFvMesh :

Is it possible to use it in parallel? because when I launch parallel calculation, decomposePar says :

keyword global is undefined in dictionary "/home/yhh/OFrun/0/pointDisplacement::boundaryField"

file: /home/yhh/OFrun/0/pointDisplacement::boundaryField from line 27 to line 42.

From function dictionary::subDict(const word& keyword) const
in file db/dictionary/dictionary.C at line 449.

FOAM exiting

I don't get the "global" keyword, I assume it's for parallel computing, so when I write this 'global' in my point Displacement I can't find a consistent type

Does anyone know something about it?

I use OF 1.6 and my dynamicMeshDict file looks like :

dynamicFvMesh dynamicMotionSolverFvMesh;
motionSolverLibs ("libfvMotionSolvers.so");
solver displacementLaplacian;
diffusivity uniform ;

yannH June 30, 2010 11:38

ok my problem comes from my two cyclic patch... For one cyclic patch it's ok, but for two, it gives the error message... I tried to change the decomposition method but with no success.

Ralph M December 6, 2012 16:31

Adding "global" didn't worked for me either! I've got no cyclic patches but moving patches instead so I guess the source of the problem is the same...

Ralph M December 11, 2012 03:20

Quote:

Originally Posted by Ralph M (Post 396173)
Adding "global" didn't worked for me either! I've got no cyclic patches but moving patches instead so I guess the source of the problem is the same...

The problem is with the decomposition method and doesn't occur with scotch or simple. Try to decompose your case with one of the two mentioned decomposers and check your files (pointDisplacement). You'll find after the processorPatches something like this:
Code:

global
{
type      global;
}

This should solve your problem (at least it solved mine ;))

Cheers,

Ralph


All times are GMT -4. The time now is 04:34.