CFD Online Logo CFD Online URL
Home > Forums > Software User Forums > OpenFOAM > OpenFOAM Running, Solving & CFD

DecomposePar filterPatches copyUniform cellDist functionality

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

LinkBack Thread Tools Display Modes
Old   June 6, 2008, 07:45
Default Dear Forum Users Wish you
Senior Member
Join Date: Mar 2009
Posts: 248
Rep Power: 11
jaswi is on a distinguished road
Dear Forum Users

Wish you all good FOAMing today :-)

Need some help to figure out the proper usage of decomposePar. Here are some related queries:

1) What is the significance of "delta" being used for the geometrical decomposition options. In the constructor of geomDecomp a tensor is being defined this way:

scalar d = 1 - 0.5*delta_*delta_;
scalar d2 = sqr(d);

scalar a = delta_;
scalar a2 = sqr(a);

rotDelta_ = tensor
d2, -a*d, a,
a*d - a2*d, a*a2 + d2, -2*a*d,
a*d2 + a2, a*d - a2*d, d2 - a2

which is later used to do a rotation of pointField in the derived classes simpleGeomDecomp and hierarchGeomDecomp. This operation is done in the
labelList decompose(const pointField&); member function of the respective derived classes
pointField rotatedPoints = rotDelta_ & points;

2) what is the effect of the option -copyUniform.
The code corresponding to this option is in
decomposePar.c (lines 575 - 600). This action is done when this option is selected:
// Any non-decomposed data to copy?
if (uniformDir.size() > 0)
if (copyUniform || mesh.distributed())
cp(uniformDir, processorDb.timePath()/"uniform");
fileName timePath = processorDb.timePath();

if (timePath[0] != '/')
// Adapt uniformDir and timePath to be relative paths.
string parentPath(string("..")/"..");
fileName currentDir(cwd());
ln(parentPath/uniformDir, parentPath/timePath/"uniform");
ln(uniformDir, timePath/"uniform");


but I couldn't understand it , so please comment on this one .

3) the last query is of similar nature regarding the option -filterPatches. This option is passed on to the mesh.decomposeMesh(filterPatches); and
in decomposeMesh.C (lines 634-647) the corresponding code is:

forAll (oldPatchSizes, patchI)
if (!filterEmptyPatches || oldPatchSizes[patchI] > 0)
curBoundaryAddressing[nPatches] = patchI;

curPatchSizes[nPatches] = oldPatchSizes[patchI];

curPatchStarts[nPatches] = oldPatchStarts[patchI];


I hope to get some feedback from the experts.

With Best Regards
jaswi is offline   Reply With Quote

Old   June 10, 2008, 13:59
Default 1) is a slight perturbation so
Super Moderator
Mattijs Janssens
Join Date: Mar 2009
Posts: 1,419
Rep Power: 18
mattijs is on a distinguished road
1) is a slight perturbation so on a perfectly aligned testcase cells go either into the 'top' processor or in the 'bottom' one and not one up, one down, one up etc.

2) it copies the 'uniform' subdirectory of a time. This contains any data which does not need to be decomposed. For data-distributed running this needs to be copied to all processor directories.

3) some applications and boundary conditions require all patches to be present on all processors (and in the same order), even if they locally have no faces.

Some solvers and boundary conditions however don't care so there you could compress out the zero-sized boundaries.
mattijs is offline   Reply With Quote


Thread Tools
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 On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
FSI Functionality: CFX/ANSYS vs Adina Novak S. J. Elliott CFX 1 August 30, 2013 11:11
Preview of Coming Equation Writing Functionality Peter Main CFD Forum 0 February 14, 2009 16:14
Best way to maintain additional functionality between versions kian OpenFOAM 0 September 5, 2008 11:50
Adding functionality to classes sergio OpenFOAM 9 March 13, 2008 06:18
Turbo functionality is not enabled! nancy FLUENT 0 October 9, 2003 15:44

All times are GMT -4. The time now is 12:47.