嗨 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.