CFD Online Logo CFD Online URL
www.cfd-online.com
[Sponsors]
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

DecomposePar utility

Register Blogs Members List Search Today's Posts Mark Forums Read

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
Old   August 16, 2005, 20:37
Default I am going to run a curved sli
  #1
New Member
 
Ho Hsing
Join Date: Mar 2009
Posts: 13
Rep Power: 17
hsing is on a distinguished road
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?

Thanks!
hsing is offline   Reply With Quote

Old   August 16, 2005, 20:44
Default Manual requires you to prepare
  #2
Senior Member
 
Hrvoje Jasak
Join Date: Mar 2009
Location: London, England
Posts: 1,905
Rep Power: 33
hjasak will become famous soon enough
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

manualCoeffs
{
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.

Enjoy,

Hrv
__________________
Hrvoje Jasak
Providing commercial FOAM/OpenFOAM and CFD Consulting: http://wikki.co.uk
hjasak is offline   Reply With Quote

Old   August 16, 2005, 21:17
Default Thanks Hrv, I have tried the
  #3
New Member
 
Ho Hsing
Join Date: Mar 2009
Posts: 13
Rep Power: 17
hsing is on a distinguished road
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?
hsing is offline   Reply With Quote

Old   November 24, 2009, 13:30
Default
  #4
New Member
 
Attila Schwarczkopf
Join Date: Mar 2009
Location: Edinburgh / London / Budapest
Posts: 12
Rep Power: 17
schwarczi is on a distinguished road
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.

Thanks,
Schwarczi
schwarczi is offline   Reply With Quote

Old   December 3, 2009, 04:38
Default
  #5
Member
 
Join Date: Sep 2009
Posts: 45
Rep Power: 16
AirS is on a distinguished road
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 ?

Thanks!
AirS is offline   Reply With Quote

Old   December 7, 2009, 04:54
Default
  #6
Senior Member
 
Laurence R. McGlashan
Join Date: Mar 2009
Posts: 370
Rep Power: 23
l_r_mcglashan will become famous soon enough
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:

Code:
    labelIOList flameMeshManualCoeffs
    (
            IOobject
            (
                "flameMeshManualCoeffs",
                runTime.time().constant(),
                mesh,
                IOobject::NO_READ,
                IOobject::NO_WRITE
            ),
            cellToProcessorList
    );
    flameMeshManualCoeffs.write();
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.
__________________
Laurence R. McGlashan :: Website
l_r_mcglashan is offline   Reply With Quote

Old   December 10, 2009, 04:54
Default
  #7
Member
 
Join Date: Sep 2009
Posts: 45
Rep Power: 16
AirS is on a distinguished road
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!
AirS is offline   Reply With Quote

Old   November 18, 2012, 04:50
Default
  #8
Senior Member
 
Ralph Moolenaar
Join Date: Aug 2010
Location: 's-Hertogenbosch, the Netherlands
Posts: 120
Rep Power: 15
Ralph M is on a distinguished road
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 input...now I have to find a way to create this field!

Ralph
__________________
CFD for marine applications? Go to http://www.marinecfd.com/ and join the OF Ship Hydromechanics Group: http://www.cfd-online.com/Forums/gro...mechanics.html

Last edited by Ralph M; November 18, 2012 at 11:29.
Ralph M is offline   Reply With Quote

Old   November 18, 2012, 15:32
Default
  #9
Senior Member
 
sail's Avatar
 
Vieri Abolaffio
Join Date: Jul 2010
Location: Always on the move.
Posts: 308
Rep Power: 16
sail is on a distinguished road
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
__________________
http://www.leadingedge.it/
Naval architecture and CFD consultancy
sail is offline   Reply With Quote

Old   November 19, 2012, 05:23
Default
  #10
Senior Member
 
Ralph Moolenaar
Join Date: Aug 2010
Location: 's-Hertogenbosch, the Netherlands
Posts: 120
Rep Power: 15
Ralph M is on a distinguished road
Quote:
Originally Posted by sail View Post
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?

Cheers,

Ralph
__________________
CFD for marine applications? Go to http://www.marinecfd.com/ and join the OF Ship Hydromechanics Group: http://www.cfd-online.com/Forums/gro...mechanics.html
Ralph M is offline   Reply With Quote

Old   October 22, 2014, 13:35
Default How to specify the order of decompose
  #11
Member
 
Charlie
Join Date: Dec 2010
Location: USA
Posts: 85
Rep Power: 15
cheng1988sjtu is on a distinguished road
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;

simpleCoeffs
{
n ( 1 8 1 );
delta 0.0001;
}

hierarchicalCoeffs
{
n ( 1 1 1 );
delta 0.001;
order xyz;
}

metisCoeffs
{
processorWeights ( 1 1 1 1 );
}

manualCoeffs
{
dataFile "";
}

distributed no;

roots ( );


//************************************************** *********//
cheng1988sjtu is offline   Reply With Quote

Old   January 19, 2015, 04:09
Default
  #12
New Member
 
Jason
Join Date: Dec 2014
Location: Shanghai, China
Posts: 10
Rep Power: 11
zbli is on a distinguished road
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!
zbli is offline   Reply With Quote

Reply

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are Off
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
DecomposePar jadavis1 OpenFOAM Running, Solving & CFD 0 January 28, 2009 15:07
decomposePar hierarchicalCoeffs maka OpenFOAM Running, Solving & CFD 1 August 14, 2008 17:39
DecomposePar and sets jhierroa OpenFOAM Pre-Processing 7 January 25, 2008 09:48
About the problem of decomposePar utility zou_mo OpenFOAM Running, Solving & CFD 3 July 27, 2005 18:18


All times are GMT -4. The time now is 19:23.