111 <<
"\tMesh bounds : " << bbs[0] <<
nl;
112 for (label i = 1; i < bbs.
size(); i++)
114 Info<<
"\t " << bbs[i]<<
nl;
116 Info<<
"\tSurface bounding box : " << surfBb[procI] << nl
117 <<
"\tTriangles : " << nFaces[procI] << nl
118 <<
"\tVertices : " <<
nPoints[procI]
127 int main(
int argc,
char *argv[])
135 runTime.functionObjects().off();
138 Info<<
"Reading surface from " << surfFileName << nl <<
endl;
142 Info<<
"Using distribution method "
144 <<
" " << distType << nl <<
endl;
150 Info<<
"Preserving surface outside of mesh bounds." << nl <<
endl;
154 Info<<
"Removing surface outside of mesh bounds." << nl <<
endl;
161 <<
"Please run this program on the decomposed case."
162 <<
" It will read surface " << surfFileName
163 <<
" and decompose it such that it overlaps the mesh bounding box."
198 const fileName actualPath(io.filePath());
200 localPath.replace(runTime.rootPath() +
'/',
"");
202 if (actualPath == io.objectPath())
204 Info<<
"Loading local (decomposed) surface " << localPath << nl <<
endl;
208 Info<<
"Loading undecomposed surface " << localPath << nl <<
endl;
213 if (!
isFile(actualPath /
"Dict"))
217 dict.
add(
"distributionType", distType);
218 dict.
add(
"mergeDistance", SMALL);
235 Info<<
"Writing dummy bounds dictionary to " << ioDict.name()
238 ioDict.regIOobject::writeObject
242 ioDict.time().writeCompression()
249 Info<<
"Loaded surface" << nl <<
endl;
263 surfMesh.searchableSurface::instance(),
264 surfMesh.searchableSurface::local(),
277 fc[triI] = s[triI].centre(s.
points());
281 fcPtr.ptr()->store();
286 Info<<
"Before redistribution:" <<
endl;
291 Info<<
"Redistributing surface" << nl <<
endl;
308 Info<<
"After redistribution:" <<
endl;
312 Info<<
"Writing surface." << nl <<
endl;
313 surfMesh.searchableSurface::write();