A multi-block mesh generator. More...
Public Types | |
enum | mergeStrategy { DEFAULT_MERGE, MERGE_TOPOLOGY, MERGE_POINTS } |
The block merging strategy. More... | |
typedef PtrList< block > | blockList |
The list of blocks is stored as a PtrList. More... | |
Public Member Functions | |
ClassName ("blockMesh") | |
Runtime type information. More... | |
blockMesh (const IOdictionary &dict, const word ®ionName=polyMesh::defaultRegion, mergeStrategy strategy=mergeStrategy::DEFAULT_MERGE, int verbosity=0) | |
Construct from IOdictionary for given region. More... | |
~blockMesh ()=default | |
Destructor. More... | |
const dictionary & | meshDict () const noexcept |
Access to input dictionary. More... | |
const searchableSurfaces & | geometry () const noexcept |
Optional searchable geometry to project face-points to. More... | |
const blockEdgeList & | edges () const noexcept |
The curved edges. More... | |
const blockFaceList & | faces () const noexcept |
The curved faces. More... | |
bool | valid () const noexcept |
True if the blockMesh topology exists. More... | |
wordList | patchNames () const |
Return the patch names. More... | |
label | numZonedBlocks () const |
Number of blocks with specified zones. More... | |
bool | hasPointTransforms () const noexcept |
True if scaling and/or transformations are needed. More... | |
bool | inplacePointTransforms (pointField &pts) const |
Apply coordinate transforms and scaling. More... | |
tmp< pointField > | globalPosition (const pointField &localPoints) const |
Apply coordinate transforms and scaling. More... | |
const pointField & | vertices () const noexcept |
tmp< pointField > | vertices (bool applyTransform) const |
const polyMesh & | topology () const |
refPtr< polyMesh > | topology (bool applyTransform) const |
const pointField & | points () const |
const cellShapeList & | cells () const |
Return cell shapes list. More... | |
const faceListList & | patches () const |
Return the patch face lists. More... | |
PtrList< dictionary > | patchDicts () const |
Patch information from the topology mesh. More... | |
int | verbose () const noexcept |
Output verbosity level. More... | |
int | verbose (const int level) noexcept |
Change the output verbosity level. More... | |
autoPtr< polyMesh > | mesh (const IOobject &io) const |
Create polyMesh, with cell zones. More... | |
scalar | scaleFactor () const |
Old (v2106 and earlier) uniform scaling factor. More... | |
Public Member Functions inherited from PtrList< block > | |
constexpr | PtrList () noexcept |
Default construct. More... | |
PtrList (const label len) | |
Construct with specified size, each element initialized to nullptr. More... | |
PtrList (const PtrList< block > &list) | |
Copy construct using 'clone()' method on each element. More... | |
PtrList (PtrList< block > &&list) | |
Move construct. More... | |
PtrList (UList< block * > &list) | |
Take ownership of pointers in the list, set old pointers to null. More... | |
PtrList (const PtrList< block > &list, const CloneArg &cloneArgs) | |
Copy construct using 'clone()' method on each element. More... | |
PtrList (PtrList< block > &list, bool reuse) | |
Construct as copy or re-use as specified. More... | |
PtrList (const SLPtrList< block > &list) | |
Copy construct using 'clone()' on each element of SLPtrList<T> More... | |
PtrList (Istream &is, const INew &inew) | |
Construct from Istream using given Istream constructor class. More... | |
PtrList (Istream &is) | |
Construct from Istream using default Istream constructor class. More... | |
~PtrList () | |
Destructor. More... | |
PtrList< block > | clone (Args &&... args) const |
Make a copy by cloning each of the list elements. More... | |
Foam::PtrList< block > | clone (Args &&... args) const |
const block * | set (const label i) const |
Return const pointer to element (can be nullptr),. More... | |
autoPtr< block > | set (const label i, block *ptr) |
Set element to given pointer and return old element (can be null) More... | |
autoPtr< block > | set (const label i, autoPtr< block > &ptr) |
Set element to given autoPtr and return old element. More... | |
autoPtr< block > | set (const label i, autoPtr< block > &&ptr) |
Set element to given autoPtr and return old element. More... | |
autoPtr< block > | set (const label i, std::unique_ptr< block > &&ptr) |
Set element to given unique_ptr and return old element. More... | |
autoPtr< block > | set (const label i, const refPtr< block > &ptr) |
Set element to given refPtr and return old element. More... | |
autoPtr< block > | set (const label i, const tmp< block > &ptr) |
Set element to given tmp and return old element. More... | |
void | clear () |
Clear the PtrList. Delete allocated entries and set size to zero. More... | |
void | resize (const label newLen) |
Adjust size of PtrList. More... | |
void | setSize (const label newLen) |
Same as resize() More... | |
void | emplace_append (Args &&... args) |
Construct and append an element to the end of the list. More... | |
void | append (block *ptr) |
Append an element to the end of the list. More... | |
void | append (autoPtr< block > &ptr) |
Move append an element to the end of the list. More... | |
void | append (autoPtr< block > &&ptr) |
Move append an element to the end of the list. More... | |
void | append (std::unique_ptr< block > &&ptr) |
Move append an element to the end of the list. More... | |
void | append (const refPtr< block > &ptr) |
Move or clone append a refPtr to the end of the list. More... | |
void | append (const tmp< block > &ptr) |
Move or clone append a tmp to the end of the list. More... | |
autoPtr< block > | emplace (const label i, Args &&... args) |
Construct and set an element. More... | |
Foam::autoPtr< block > | emplace (const label i, Args &&... args) |
autoPtr< block > | release (const label i) |
Release ownership of the pointer at the given position. More... | |
void | transfer (PtrList< block > &list) |
Transfer into this list and annul the argument list. More... | |
void | operator= (const PtrList< block > &list) |
Copy assignment. More... | |
void | operator= (PtrList< block > &&list) |
Move assignment. More... | |
Static Public Attributes | |
static bool | verboseOutput = true |
The default verbosity (true) More... | |
Additional Inherited Members | |
Protected Member Functions inherited from PtrList< block > | |
void | readIstream (Istream &is, const INew &inew) |
Read from Istream using Istream constructor class. More... | |
void | free () |
Delete the allocated entries, but retain the list size. More... | |
A multi-block mesh generator.
Dictionary controls
Property | Description | Required | Default |
---|---|---|---|
prescale | Point scaling before transform | no | 1.0 |
scale | Point scaling after transform | no | 1.0 |
transform | Point transform (origin, rotation) | no | |
vertices | yes | ||
blocks | yes | ||
edges | no | ||
faces | no | ||
boundary | Boundary definition | no | |
patches | Alternate version for "boundary" | no | |
namedBlocks | no | ||
namedVertices | no | ||
mergeType | Merging "points" or "topology" | no | topology |
checkFaceCorrespondence | no | true | |
verbose | no | true |
prescale
and scale
can be a single scalar or a vector of values.The vertices, cells and patches for filling the blocks are demand-driven.
Definition at line 165 of file blockMesh.H.
The list of blocks is stored as a PtrList.
Definition at line 174 of file blockMesh.H.
enum mergeStrategy |
The block merging strategy.
Enumerator | |
---|---|
DEFAULT_MERGE | Default (TOPOLOGY), not selectable. |
MERGE_TOPOLOGY | "topology" merge by block topology (default) |
MERGE_POINTS | "points" merge by point geometry |
Definition at line 180 of file blockMesh.H.
|
explicit |
Construct from IOdictionary for given region.
Default is topological merging.
Definition at line 249 of file blockMesh.C.
References Foam::endl(), Foam::Info, and Foam::nl.
|
default |
Destructor.
ClassName | ( | "blockMesh" | ) |
Runtime type information.
|
inlinenoexcept |
Access to input dictionary.
Definition at line 368 of file blockMesh.H.
|
inlinenoexcept |
Optional searchable geometry to project face-points to.
Definition at line 374 of file blockMesh.H.
|
inlinenoexcept |
The curved edges.
Definition at line 380 of file blockMesh.H.
|
inlinenoexcept |
The curved faces.
Definition at line 386 of file blockMesh.H.
|
noexcept |
Foam::wordList patchNames | ( | ) | const |
Return the patch names.
Definition at line 419 of file blockMesh.C.
Referenced by blockMesh::mesh().
Foam::label numZonedBlocks | ( | ) | const |
Number of blocks with specified zones.
Definition at line 437 of file blockMesh.C.
References Foam::BitOps::count().
Referenced by blockMesh::mesh().
|
noexcept |
True if scaling and/or transformations are needed.
Definition at line 455 of file blockMesh.C.
References bool.
bool inplacePointTransforms | ( | pointField & | pts | ) | const |
Apply coordinate transforms and scaling.
Definition at line 461 of file blockMesh.C.
References Foam::cmptMultiply(), p, and Foam::transform().
Foam::tmp< Foam::pointField > globalPosition | ( | const pointField & | localPoints | ) | const |
Apply coordinate transforms and scaling.
Definition at line 534 of file blockMesh.C.
References tmp< T >::New().
|
noexcept |
Reference to point field defining the blocks, these points are unscaled and non-transformed
Definition at line 347 of file blockMesh.C.
Foam::tmp< Foam::pointField > vertices | ( | bool | applyTransform | ) | const |
Point field defining the blocks, optionally transformed and scaled
Definition at line 354 of file blockMesh.C.
References tmp< T >::New().
const Foam::polyMesh & topology | ( | ) | const |
The blockMesh topology as a polyMesh unscaled and non-transformed
Definition at line 294 of file blockMeshCreate.C.
References Foam::exit(), Foam::FatalError, and FatalErrorInFunction.
Foam::refPtr< Foam::polyMesh > topology | ( | bool | applyTransform | ) | const |
The blockMesh topology as a polyMesh optionally transformed and scaled
Definition at line 308 of file blockMeshCreate.C.
References polyMesh::addPatches(), polyMesh::boundaryMesh(), polyMesh::faceNeighbour(), polyMesh::faceOwner(), polyMesh::faces(), forAll, refPtr< T >::New(), IOobject::NO_READ, IOobject::NO_WRITE, polyMesh::points(), IOobject::registerObject(), and topoMesh.
const Foam::pointField & points | ( | ) | const |
The points for the entire mesh. These points are scaled and transformed
Definition at line 386 of file blockMesh.C.
Referenced by blockMesh::mesh().
const Foam::cellShapeList & cells | ( | ) | const |
Return cell shapes list.
Definition at line 397 of file blockMesh.C.
Referenced by blockMesh::mesh().
const Foam::faceListList & patches | ( | ) | const |
Return the patch face lists.
Definition at line 408 of file blockMesh.C.
Referenced by blockMesh::mesh().
Foam::PtrList< Foam::dictionary > patchDicts | ( | ) | const |
Patch information from the topology mesh.
Definition at line 369 of file blockMesh.C.
References forAll, os(), and patchDicts.
Referenced by blockMesh::mesh().
|
noexcept |
Output verbosity level.
Definition at line 333 of file blockMesh.C.
|
noexcept |
Foam::autoPtr< Foam::polyMesh > mesh | ( | const IOobject & | io | ) | const |
Create polyMesh, with cell zones.
Definition at line 355 of file blockMeshCreate.C.
References polyMesh::addZones(), List< T >::append(), Foam::constant::physicoChemical::b, blockMesh::cells(), polyMesh::cellZones(), HashTable< T, Key, Hash >::cfind(), ZoneMesh< ZoneType, MeshType >::clear(), Foam::endl(), polyMesh::faceZones(), forAllConstIters(), Foam::Info, HashTable< T, Key, Hash >::insert(), meshPtr, autoPtr< T >::New(), Foam::nl, blockMesh::numZonedBlocks(), nZones, blockMesh::patchDicts(), blockMesh::patches(), blockMesh::patchNames(), blockMesh::points(), polyMesh::pointZones(), and HashTable< T, Key, Hash >::size().
|
inline |
Old (v2106 and earlier) uniform scaling factor.
Definition at line 468 of file blockMesh.H.
|
static |
The default verbosity (true)
Definition at line 339 of file blockMesh.H.
Referenced by Foam::getVerbosity().