CFD Online Discussion Forums

CFD Online Discussion Forums (http://www.cfd-online.com/Forums/)
-   OpenFOAM (http://www.cfd-online.com/Forums/openfoam/)
-   -   parallel decomposition method in openfoam (http://www.cfd-online.com/Forums/openfoam/114965-parallel-decomposition-method-openfoam.html)

hz283 March 20, 2013 15:44

parallel decomposition method in openfoam
 
Hi All,

In openfoam, the hierarchical method to split the computational domain gives the options to specify the order, e.g. xyz, does anybody know how this order affects the simulation results? Thanks.

Lieven March 20, 2013 16:29

Hi Hz283,

It could influence the simulation time, but that's basically it. It certainly does not affect the simulation results. At least it should not, else there is something wrong with the code.

Cheers,

L

hz283 March 20, 2013 17:57

Hi Lieven,

Thank you very much. Could you please say more about how it can affect the simulation time?

Thanks.

Quote:

Originally Posted by Lieven (Post 415350)
Hi Hz283,

It could influence the simulation time, but that's basically it. It certainly does not affect the simulation results. At least it should not, else there is something wrong with the code.

Cheers,

L


Lieven March 21, 2013 04:27

Sorry, not an expert in that field so I can't give you an exact answer to that.

Cheers,

L

cutter March 25, 2013 05:52

Hi,

as far as I know, a general answer cannot be given. This substantially depends on your computational grid. Try to spread the work evenly on all processors/ cores. At the same time try to minimize the the interfaces of the mesh parts to reduce the communication between the nodes.

cutter

hz283 October 7, 2013 16:16

Thank you very much for your suggestions. About the method hierarchical, I found that we can change the order of xyz to yzx or zyx and so on. I was wondering in which case I need to do this. Is this helpful to improve the computational efficiency?

Maybe the best way for me is to directly test the case with different partition method. But my case is a little large. So can I try get some suggestions from you before using this method?

Thank you in advance!
h

Quote:

Originally Posted by cutter (Post 416159)
Hi,

as far as I know, a general answer cannot be given. This substantially depends on your computational grid. Try to spread the work evenly on all processors/ cores. At the same time try to minimize the the interfaces of the mesh parts to reduce the communication between the nodes.

cutter


cfdonline2mohsen October 7, 2013 17:07

Dear hz283
1) In my experience, one of the parameters that can affect your parallel simulation is the delta parameter which is equal to 0.001 by default. But if you have a mesh with faces of highly skewed cells you should increase this value to e.g. 0.01. you can find your cell skewness by running the following command in Terminal:
Code:

checkMesh -allGeometry
I remember that I had a simulation which worked just fine in a single processor but after decomposePar on several processors it would diverge (the courant number became very large). after increasing this delta parameter, it worked fine.
see the following post for more info:
http://www.cfd-online.com/Forums/ope...tml#post447958

2) Also there is another thing that you should notice. use the complex methods for decomposePar only if you have a complex mesh. but if you have a simple mesh, use the simpler methods. I have a experience in this field that by using complex methods (such as scotch) for my complex mesh (film cooling of turbine blades), my run time reduced to 1/3.
but by using scotch method for a simple mesh (flow around a cube) neither my run time nor the results did not change significantly in comparison with the simple method.
Summary: use complex methods for decomposePar only for complex meshes.
Also see the following post:
http://www.cfd-online.com/Forums/ope...-ptscotch.html

3) And finally about your 1st question:
I have not worked with hierarchical method and I don't know how to choose the order of xyz to yzx or zyx. but it definitely depends on your geometry.
Please share your experiences with hierarchical method in here.

hz283 October 7, 2013 17:41

Thank you so much for your so detailed reply. Besides, I found that the metis and scotch methods are intensively discussed in this forum. Most people think scotch is good. But I use OF211 and found that there is not such method. What kind of version are you using?

Thanks.

Quote:

Originally Posted by cfdonline2mohsen (Post 455575)
Dear hz283
1) In my experience, one of the parameters that can affect your parallel simulation is the delta parameter which is equal to 0.001 by default. But if you have a mesh with faces of highly skewed cells you should increase this value to e.g. 0.01. you can find your cell skewness by running the following command in Terminal:
Code:

checkMesh -allGeometry
I remember that I had a simulation which worked just fine in a single processor but after decomposePar on several processors it would diverge (the courant number became very large). after increasing this delta parameter, it worked fine.
see the following post for more info:
http://www.cfd-online.com/Forums/ope...tml#post447958

2) Also there is another thing that you should notice. use the complex methods for decomposePar only if you have a complex mesh. but if you have a simple mesh, use the simpler methods. I have a experience in this field that by using complex methods (such as scotch) for my complex mesh (film cooling of turbine blades), my run time reduced to 1/3.
but by using scotch method for a simple mesh (flow around a cube) neither my run time nor the results did not change significantly in comparison with the simple method.
Summary: use complex methods for decomposePar only for complex meshes.
Also see the following post:
http://www.cfd-online.com/Forums/ope...-ptscotch.html

3) And finally about your 1st question:
I have not worked with hierarchical method and I don't know how to choose the order of xyz to yzx or zyx. but it definitely depends on your geometry.
Please share your experiences with hierarchical method in here.


cfdonline2mohsen October 7, 2013 18:09

Are you sure?
https://github.com/OpenFOAM/OpenFOAM...llel/decompose

hz283 October 7, 2013 18:11

Ah, Thanks!!

I only saw the option in the file system/decompose, in which only three options. Could you please share me one of this file in your case? Thank you a million!

Quote:

Originally Posted by cfdonline2mohsen (Post 455590)


hz283 October 7, 2013 18:53

Hi cfdonline2mohsen,

About the metis coefficients, if all the cores are totally the same, the coefficients for all the cores are only needed to be set to 1? Any comments about this point? Thank you very much!

Quote:

Originally Posted by cfdonline2mohsen (Post 455590)


cfdonline2mohsen October 8, 2013 04:35

I don't recommend the metis method because if you review the cfd-online posts, most of them stated that metis has some restrictions about licensing problems.
It was just a recommendation. Search more about this matter.
I've used the scotch method with the same coefficients that exist in OpenFOAM tutorials.


All times are GMT -4. The time now is 21:22.