Go to the documentation of this file.
41 Foam::blockMesh::strategyNames_
43 { mergeStrategy::MERGE_TOPOLOGY,
"topology" },
44 { mergeStrategy::MERGE_POINTS,
"points" },
50 Foam::blockMesh::blockMesh
58 verboseOutput(meshDict_.getOrDefault(
"verbose",
true)),
59 checkFaceCorrespondence_
61 meshDict_.getOrDefault(
"checkFaceCorrespondence",
true)
68 meshDict_.time().constant(),
74 meshDict_.found(
"geometry")
75 ? meshDict_.subDict(
"geometry")
82 meshDict_.lookup(
"vertices"),
86 topologyPtr_(createTopology(meshDict_,
regionName))
90 if (strategy == mergeStrategy::DEFAULT_MERGE)
92 strategyNames_.readIfPresent(
"mergeType", meshDict_, strategy);
97 if (strategy == mergeStrategy::MERGE_POINTS)
100 calcGeometricalMerge();
105 calcTopologicalMerge();
114 return bool(topologyPtr_);
135 <<
"topologyPtr_ not allocated"
139 return *topologyPtr_;
145 const polyPatchList& patchTopologies = topology().boundaryMesh();
149 forAll(patchTopologies, patchi)
152 patchTopologies[patchi].write(os);
190 if (patches_.empty())
201 return topology().boundaryMesh().names();
223 for (
const block& blk : blocks)
225 if (blk.zoneName().size())
239 os <<
"v " <<
p.x() <<
' ' <<
p.y() <<
' ' <<
p.z() <<
nl;
242 for (
const edge&
e : topology().edges())
244 os <<
"l " <<
e.start() + 1 <<
' ' <<
e.end() + 1 <<
nl;
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
PtrList< dictionary > patchDicts() const
Get patch information from the topology mesh.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Creates a single block of cells from point coordinates, numbers of cells in each direction and an exp...
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
const faceListList & patches() const
Return the patch face lists.
A class for handling words, derived from Foam::string.
mergeStrategy
The block merging strategy.
An edge is a list of two point labels. The functionality it provides supports the discretisation on a...
const polyMesh & topology() const
Return the blockMesh topology as a polyMesh.
Mesh consisting of general polyhedral cells.
void verbose(const bool on=true)
Enable/disable verbose information about the progress.
#define forAll(list, i)
Loop across all elements in list.
PtrList< dictionary > patchDicts
void writeTopology(Ostream &) const
Writes edges of blockMesh in OBJ format.
defineDebugSwitch(blockMesh, 0)
const pointField & vertices() const
Reference to point field defining the blockMesh.
scalar scaleFactor() const
The scaling factor used to convert to metres.
bool valid() const
True if the blockMesh topology exists.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
pointField vertices(const blockVertexList &bvl)
Input from string buffer, using a ISstream.
errorManipArg< error, int > exit(error &err, const int errNo=1)
Foam::string str() const
Get the string - as Foam::string rather than std::string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
label numZonedBlocks() const
Number of blocks with specified zones.
const pointField & points() const
The points for the entire mesh.
unsigned int count(const UList< bool > &bools, const bool val=true)
Count number of 'true' entries.
wordList patchNames() const
Return patch names.
Output to string buffer, using a OSstream.
const dimensionedScalar e
Elementary charge.
Class used for the read-construction of.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
const cellShapeList & cells() const
Return cell shapes list.