CFD Online Discussion Forums

CFD Online Discussion Forums (
-   OpenFOAM Running, Solving & CFD (
-   -   DecomposePar utility (

hsing August 16, 2005 20:37

I am going to run a curved sli
I am going to run a curved slim pipe flow in cluster. The idea decompose method would be evenly cutting the whole domain along the length direction.

How to set the "manualCoeffs" if I am going to try manual method?


hjasak August 16, 2005 20:44

Manual requires you to prepare
Manual requires you to prepare a file giving a processor number for each cell in the mesh, (starting from 0). Once you do that, choose the

method manual;

in system/decomposeParDict and under

dataFile "HERE!!!";

give the name of the file you have prepared.

However, I am pretty certain that automatic methods (say, metis) will give you a decent decomposition as well.



hsing August 16, 2005 21:17

Thanks Hrv, I have tried the
Thanks Hrv,
I have tried the metis method, but the result is not good. Metis method assigns number of grid to each cluster node with regard to the weight value I setted, but it decomposed the domain in both width and length directions which resulted in a huge number of grid in the shared face.

Can I control it to decompose the curved domain in length direction only?

schwarczi November 24, 2009 14:30

Hi Hrv,

I understand how to force the manual decomposition in system/decomposeParDict, but unfortunatelly I could not manage to prepare the "cellDecomposition" file, although I read carefully what you wrote in your last post. A simple example of this file's structure would be very-very useful, indeed.


AirS December 3, 2009 05:38

Hi all,

I'm not sure but is that right if we use decomposePar before using mapFields? or do we need to do the reverse order ?


l_r_mcglashan December 7, 2009 05:54

The cellDecomposition file is basically a labelIOList, so you create an object in whatever utility you are using to write the file. An example might be:


    labelIOList flameMeshManualCoeffs

This will write a file with the number of entries being equal to the total number of cells, and each entry being one of the processor numbers. So if there are 8 processors, I need to label them from 0-7.

AirS December 10, 2009 05:54

Dear FOAMers,

What is the main reason to use decomposePar unlike to use pisoFoam (for instance) within a cluster using the same numer of processors as decomposePar ?
I know the main difference is that decomposePar breaks up the domain to solve each domain "separately", but why the choice toward this latter seems to be considered as the best solution? I've seen in the User Guide that is a "fairly economic solution" but I'd like to know why it is so.

Thanks for your help! ;)

Ralph M November 18, 2012 05:50

Hello all,

I'm heavily interested on how to use a manual decomposition. However, the workout of Laurence isn't clear enough for me yet. Could someone give more tips on how to get a manual decomposition?

FYI: I want to preserve a group of cells on a certain distance form my object of interest. The object is allowed to move and right now it seems that at the decomposition patches some errors occur because my move object is right on such a patch. So I want to prevent that my object is in two decompositions.

Thanks for your help!

Update: with "decomposePar -cellDist" it's possible to create the file for manual I have to find a way to create this field!


sail November 18, 2012 16:32

Hi Ralph. Sorry to have missed you at mets. To do what you want thwre ia an option in the decomposepardict to preserve thw patches in a subdomain. If it might be viable i'll sig in my notes to find how to do so.

Sorry for the typos, replyong from mobile

Ralph M November 19, 2012 06:23


Originally Posted by sail (Post 392822)
Hi Ralph. Sorry to have missed you at mets. To do what you want thwre ia an option in the decomposepardict to preserve thw patches in a subdomain. If it might be viable i'll sig in my notes to find how to do so.

Sorry for the typos, replyong from mobile

Hello Vieri,

Next time we should have each others phone number :) Did you liked the METS?

I guess that you're working with OF20 since there's a bug in OF21? I got the warning message that preservePatches only works for cyclic patches?



cheng1988sjtu October 22, 2014 13:35

How to specify the order of decompose
Hi All,

Sorry to dig into this again, but I have a problem specifying the master processor to certain subdomain.

In automatic decompose manner, the processor0 is by default the master processor, and the other (processor1, processor2, ...) are slave processors. This would be fine if I can directly decompose certain subdomain into processor0. However, I found that if I decompose the domain in vertical direction (y direction), by using 'simple' decomposePar, the domain is always decomposed from the bottom to the top. how could I decompose the domain from the top to the bottom?

Here is the decomposePar file:

numberOfSubdomains 8;

method simple;

n ( 1 8 1 );
delta 0.0001;

n ( 1 1 1 );
delta 0.001;
order xyz;

processorWeights ( 1 1 1 1 );

dataFile "";

distributed no;

roots ( );

//************************************************** *********//

zbli January 19, 2015 05:09

Hey, Charlie, I've just got a same problem as you said. Have you tackled this issue? I wanna distribute the processors in a reversed order as well. Thanks!

All times are GMT -4. The time now is 09:16.