57int main(
int argc,
char *argv[])
61 "Conformal Voronoi 2D automatic mesh generator"
78 args.executable() +
"Dict",
92 const bool extrude = extrusionDict.get<
bool>(
"extrude");
93 const bool overwrite =
args.found(
"overwrite");
99 if (
args.found(
"pointsFile"))
108 mesh.insertSurfacePointPairs();
109 mesh.boundaryConform();
120 Info<<
"Finished Delaunay in = " <<
runTime.cpuTimeIncrement() <<
" s."
123 Info<<
"Begin filtering short edges:" <<
endl;
128 Info<<
"Meshed surface after edge filtering :" <<
endl;
129 sef.fMesh().writeStats(
Info);
131 if (
mesh.meshControls().meshedSurfaceOutput())
133 Info<<
"Write .obj file of the 2D mesh: MeshedSurface.obj" <<
endl;
134 sef.fMesh().write(
"MeshedSurface.obj");
137 Info<<
"Finished filtering in = " <<
runTime.cpuTimeIncrement() <<
" s."
140 Info<<
"Begin constructing a polyMesh:" <<
endl;
150 poly2DMesh.createMesh();
163 std::move(poly2DMesh.points()),
164 std::move(poly2DMesh.faces()),
165 std::move(poly2DMesh.owner()),
166 std::move(poly2DMesh.neighbour())
169 Info<<
"Constructing patches." <<
endl;
173 forAll(newPatches, patchi)
175 if (poly2DMesh.patchSizes()[patchi] != 0)
182 poly2DMesh.patchNames()[patchi],
183 poly2DMesh.patchSizes()[patchi],
184 poly2DMesh.patchStarts()[patchi],
186 pMesh.boundaryMesh(),
195 pMesh.addPatches(newPatches);
199 Info<<
"Begin extruding the polyMesh:" <<
endl;
207 extruder.addFrontBackPatches();
211 extruder.setRefinement(meshMod);
215 pMesh.updateMesh(morphMap());
225 pMesh.setInstance(
"constant");
230 Info<<
"Finished extruding in = "
Conformal-Voronoi 2D automatic mesher with grid or read initial points and point position relaxation ...
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
@ NO_REGISTER
Do not request registration (bool: false).
@ NO_READ
Nothing to be read.
@ NO_WRITE
Ignore writing from objectRegistry::writeObject().
Defines the attributes of an object for which implicit objectRegistry management is supported,...
static void noParallel()
Remove the parallel options.
static void addOption(const word &optName, const string ¶m="", const string &usage="", bool advanced=false)
Add an option to validOptions with usage information.
static void addNote(const string ¬e)
Add extra notes for the usage information.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Given a 2D mesh insert all the topology changes to extrude. Does not work in parallel.
static autoPtr< extrudeModel > New(const dictionary &dict)
Select null constructed.
A class for handling file names.
Convert a primitivePatch into a 2D polyMesh.
Mesh consisting of general polyhedral cells.
static word defaultRegion
Return the default region name.
A patch is a list of labels that address the faces in the global face list.
Direct mesh changes based on v1.3 polyTopoChange syntax.
This class filters short edges generated by the CV2D mesher.
static const word null
An empty word.
runTime controlDict().readEntry("adjustTimeStep"
PtrList< polyPatch > polyPatchList
Store lists of polyPatch as a PtrList.
messageStream Info
Information stream (stdout output on master, null elsewhere).
Ostream & endl(Ostream &os)
Add newline and flush stream.
constexpr char nl
The newline '\n' character (0x0a).
Foam::argList args(argc, argv)
#define forAll(list, i)
Loop across all elements in list.