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

DecomposePar filterPatches copyUniform cellDist functionality

Register Blogs Community New Posts Updated Threads Search

 
 
LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
Old   June 6, 2008, 07:45
Default Dear Forum Users Wish you
  #1
Senior Member
 
Join Date: Mar 2009
Posts: 248
Rep Power: 18
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:

<pre>
-----------------------------------
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
);
--------------------------------------
</pre>

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:
<pre>
--------------------------------------
// Any non-decomposed data to copy?
if (uniformDir.size() > 0)
{
if (copyUniform || mesh.distributed())
{
cp(uniformDir, processorDb.timePath()/"uniform");
}
else
{
fileName timePath = processorDb.timePath();

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

</pre>
----------------------------------------

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:
---------------
<pre>

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

curPatchSizes[nPatches] = oldPatchSizes[patchI];

curPatchStarts[nPatches] = oldPatchStarts[patchI];

nPatches++;
}
}
</pre>
------------------------

I hope to get some feedback from the experts.

With Best Regards
Jaswi
jaswi is offline   Reply With Quote

 


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
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 15: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 05:18
Turbo functionality is not enabled! nancy FLUENT 0 October 9, 2003 15:44


All times are GMT -4. The time now is 05:02.