|
[Sponsors] |
May 17, 2011, 13:06 |
moveDynamicMesh in parallel chrashes
|
#1 | ||
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 18 |
Hi,
I'm testing the moveDynamicMesh solver in OF-1.6-ext. I ran the circCylinder3d tutorial in mesh/moveDynamicMesh. Running this in serial mode works fine, but crashes in parallel mode. Errors are the following: - When decomposing it using four processors and simple decomposition (no matter in which direction), I get: Quote:
Quote:
Arne |
|||
May 17, 2011, 14:28 |
|
#2 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
Arne,
Unfortunately, the version of dynamicTopoFvMesh in OF-1.6-ext is not parallel-aware. I have a local version that is, but may contain a few bugs that need to be ironed out before release. I suppose it could go into a branch on the git repository - I'll work on that, if there's sufficient community interest. |
|
May 17, 2011, 15:33 |
|
#3 |
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 18 |
Thanks Sandeep, I already read about your local parallel version in another thread. I hoped that the non-parallelization would generally have been solved... Nevertheless, could you provide me a copy of your version?
|
|
May 17, 2011, 16:43 |
|
#4 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
I've started a git branch for parallel support (feature/parallelDynamicTopoFvMesh).
Please check: http://openfoam-extend.git.sourcefor...amicTopoFvMesh Please check out this branch, re-compile and let me know. You will also need to patch this branch with (feature/mesquiteHexPrismSupport), if you wish to use the mesquiteMotionSolver in parallel. |
|
May 18, 2011, 06:34 |
|
#5 |
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 18 |
Thanks, although it does not yet work. I'm not familiar with git, so maybe I made a mistake in this step... This is what I did to get your parallel version:
Code:
git pull . /etc/bashrc ./Allwmake Code:
git pull git checkout -f HEAD . /etc/bashrc ./Allwmake Code:
mpirun -np 4 moveDynamicMesh -parallel |
|
May 18, 2011, 11:14 |
|
#6 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
I'll bet that you're still on the master branch.
Switch to the new branch using: git checkout feature/parallelDynamicTopoFvMesh After this, issue an Allwmake. If you want mesquite working in parallel, you will need to copy the mesquiteMotionSolver.H/.C files from the other branch (or use a 'git merge'). I would suggest brushing up on git basics, since you'll need it. |
|
May 18, 2011, 12:04 |
|
#7 | |
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 18 |
You were right, I was still working on the master branch. As suggested, I did:
git checkout feature/parallelDynamicTopoFvMesh ./Allwmake git merge feature/parallelDynamicTopoFvMesh master Using simple decomposition (decomposed in z direction) and 2 processors, I get the following error: Quote:
|
||
May 18, 2011, 12:08 |
|
#8 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
I meant merging the feature/mesquiteHexPrismSupport branch with the feature/parallelDynamicTopoFvMesh branch, not the master. The problem that you're getting is due to the fact that mesquite is not parallel-aware.
Merge the branches and re-compile. Your problem should go away. |
|
May 18, 2011, 12:24 |
|
#9 |
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 18 |
Fortunately, you were right! I merged the right branches, and now it seems to be running ... At least up to a certain time, then it crashes again. But this seems to be a problem with the decomposition... Will try to figure it out later.
Thanks for your help! |
|
May 19, 2011, 06:18 |
|
#10 | ||
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 18 |
Coming back to the circCylinder3d tutorial: I made a few runs using simple and metis decomposition with processors 2 up to 4.
In parallel mode the runs sometimes crash, but I can't really figure out why and when. An example: using metis decomp. and two processors, everhything works fine. Using simple decomp., the simulation crashes after a while, whereas the time is depending on the decomposition direction. When decomposing the patch in fixedValuePatches (dynamicMeshDict), it runs fine first, but suddenly crashes again. Two examples for an error message after crash: Quote:
Quote:
|
|||
May 19, 2011, 10:44 |
|
#11 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
Hmm... I have similar issues, and I'm looking into that at the moment. Can you add this line in the mesquiteOptions dict and tell me if it improves anything:
relaxationFactor 0.1; You can play around with the factor a little bit (range [0-1]). Meanwhile, I'll look into a fix. Also, could you post your dynamicMeshDict and decomposeParDict for the failing case? |
|
May 19, 2011, 11:18 |
|
#12 | |
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 18 |
Hi, you can find the dicts attached, for a case mentioned above (#2). It crashes after about 10 seconds.
I put in relaxationFactor 0.1, but for the same case, it now crashes at t=6.2, giving the following error. Putting the relaxationFactor to 0.5 leads to a crash at t=8.5s, and to 0.9 at t=8.4s. Quote:
|
||
May 19, 2011, 12:59 |
|
#13 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
I've made a few modifications to the feature/mesquiteHexPrismSupport branch. Could you merge the changes and try again?
Once you've merged the changes, add this to the mesquiteOptions dictionary: checkTetValidity true; You should no longer require a relaxationFactor entry. |
|
May 19, 2011, 13:26 |
|
#14 | |
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 18 |
Ok, did a git pull, merged the branches, recompiled, put your new entry in an tried again: error message at t=5.4s, given below. In paraview one can see that near one of the processor boundaries, the mesh (outer patch of the cylinder) is getting deformed (bump in the wall patch).
Quote:
|
||
May 19, 2011, 13:33 |
|
#15 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
One step ahead of you. The CG solver is hitting solution singularity. I've posted a fix, so please repeat and re-compile.
|
|
May 19, 2011, 13:44 |
|
#16 | |
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 18 |
Nope. We get closer (further), but:
Quote:
|
||
May 19, 2011, 14:11 |
|
#17 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
Hmm... So the boundary appears to be moving too quickly for the adaptation to keep up. I reduced the omega value in the fixedValuePatches dictionary from 0.15 to 0.1, which seemed to improve things a little bit. But the smoother seems to be distorting feature-edges, which I will need to look into.
|
|
May 19, 2011, 14:52 |
|
#18 |
Senior Member
Arne Stahlmann
Join Date: Nov 2009
Location: Hanover, Germany
Posts: 209
Rep Power: 18 |
Ok, if I can help with it, let me know.
Another question, as you seem to be quite familiar with mesh motion solvers to me: At the moment I am trying to figure out what the similarities, differences and dependencies of the different mesh motion solvers are, coming with OF-1.6-ext. The src/dynamicMesh directories give a lot of solvers, but unfortunately no description. Do you know any summary, describing all this? My question is related to this topic http://www.cfd-online.com/Forums/ope...condition.html, as I need to couple an interFoam-related solver with mesh motion (what interDyMFoam is) and the FAM framework. Right now I'm struggling with the question 'which mesh motion solvers work with interDymFoam and do what I need'... Arne |
|
May 19, 2011, 14:57 |
|
#19 |
Senior Member
Sandeep Menon
Join Date: Mar 2009
Location: Amherst, MA
Posts: 403
Rep Power: 25 |
They all do one thing - given a set of points, solve for new points which provide optimal cell quality. The various solvers differ mainly in terms of efficiency and robustness.
As with everything else in Foam, you have the freedom to choose what suits you the best. |
|
|
|
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Script to Run Parallel Jobs in Rocks Cluster | asaha | OpenFOAM Running, Solving & CFD | 12 | July 4, 2012 23:51 |
parallel performance on BX900 | uzawa | OpenFOAM Installation | 3 | September 5, 2011 16:52 |
HP MPI warning...Distributed parallel processing | Peter | CFX | 10 | May 14, 2011 07:17 |
IcoFoam parallel woes | msrinath80 | OpenFOAM Running, Solving & CFD | 9 | July 22, 2007 03:58 |
Parallel Computing Classes at San Diego Supercomputer Center Jan. 20-22 | Amitava Majumdar | Main CFD Forum | 0 | January 5, 1999 13:00 |