嗨 youmengtian:
非常感谢阅读我的这个瞎折腾! 当时是想看看 OF 到底能跑多大的网格,所以才有了这些。
由于这是 cfd-china , 默认大家都用中文,所以我有点担心会不会影响到别人。但是,这种边看代码,边写文档的东西,我目前只能在在 emacs 中高效地完成,所以就只能用英文来交流。 如果冒犯到你,请不要继续往下读。
I am using OF-dev version (don't know exactly the date I downloaded
it).
The main classes are found in the flowing path:
~/OpenFOAM-dev/src/dynamicMesh/polyTopoChange/polyTopoChange/modifyObject/
This for loop:
//Line 707
//~/OpenFOAM-dev/applications/utilities/mesh/manipulation/createPatch/createPatch.C
void changePatchID
(
const polyMesh& mesh,
const label faceID,
const label patchID,
polyTopoChange& meshMod
)
is the point that I feel something might wrong.
I don't know exactly what polyModifyFace
is a function or a
class. I double checked the defination of polyModifyFace
:
//Line 82
//~OpenFOAM-dev/src/dynamicMesh/polyTopoChange/polyTopoChange/modifyObject/polyModifyPoint.H
meshMod.setAction
(
polyModifyFace
(
mesh.faces()[faceID], // face
faceID, // face ID
mesh.faceOwner()[faceID], // owner
-1, // neighbour
false, // flip flux
patchID, // patch ID
false, // remove from zone
zoneID, // zone ID
zoneFlip // zone flip
)
);
I think polyModifyFace
really looks like a function definition in
c++, but I might wrong.
Another thing that I feel strange is that the implementation of the
following classes are missing.
3.5k 12-14 23:52 polyModifyCell.H
7.5k 12-14 23:52 polyModifyFace.H
4.2k 12-14 23:52 polyModifyPoint.H
Is that becasue those classes are too easy?
I furthe study the class (~/OpenFOAM-dev/src/dynamicMesh/polyTopoChange/polyTopoChange/modifyObject/polyModifyFace.H
):
//- Construct and return a clone
virtual autoPtr<topoAction> clone() const
{
return autoPtr<topoAction>(new polyModifyFace(*this));
}
Is this clone()
function mess up all the things? If so, what's the
limited of it? How big (size of the mesh) the OF can handle?
I agree with you. This mesh is converted from \*.msh
file without any
issue. convertMesh
seems have a much large memory requirement. I am
not sure exactly the order of it.
What I want to do, is to run some small test to investigate the
memory usage of convertMesh
and creatPatch
.
Finally, why make it (matchToTolerance
) smaller? Do you have any
reference to this point? I might (can remember exactly) just use
some default number here.