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... | |
![]() | |
typedef T | value_type |
Type of values the list contains. More... | |
typedef T & | reference |
A non-const reference to the value_type. More... | |
typedef const T & | const_reference |
A const reference to the value_type. 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... | |
![]() | |
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 |
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... | |
void | append (PtrList< block > &&other) |
Move append another list to the end of this 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... | |
![]() | |
constexpr | UPtrList () noexcept |
Default construct. More... | |
UPtrList (const label len) | |
Construct with specified size, each element initialized to nullptr. More... | |
UPtrList (const UPtrList< T > &list) | |
Copy construct (shallow copies addresses) More... | |
UPtrList (UPtrList< T > &&list) | |
Move construct. More... | |
UPtrList (UPtrList< T > &list, bool reuse) | |
Construct as shallow copy or re-use as specified. More... | |
UPtrList (PtrList< T > &list) | |
Shallow copy from PtrList. More... | |
UPtrList (const UList< T * > &list) | |
Construct from UList of pointers (shallow copy) More... | |
UPtrList (UList< T > &list) | |
Construct from UList, taking the address of each list element. More... | |
label | size () const noexcept |
The number of elements in the list. More... | |
bool | empty () const noexcept |
True if the list is empty (ie, size() is zero) More... | |
T & | first () |
Return reference to the first element of the list. More... | |
const T & | first () const |
Return reference to first element of the list. More... | |
T & | last () |
Return reference to the last element of the list. More... | |
const T & | last () const |
Return reference to the last element of the list. More... | |
const T * | test (const label i) const |
T * | get (const label i) |
const T * | get (const label i) const |
const T * | set (const label i) const |
void | clear () |
Set list size to zero. More... | |
void | resize (const label newLen) |
Change the size of the list. More... | |
void | setSize (const label n) |
Alias for resize() More... | |
label | squeezeNull () |
Squeeze out intermediate nullptr entries in the list of pointers. More... | |
void | append (T *ptr) |
Append an element to the end of the list. More... | |
void | append (UPtrList< T > &&other) |
Move append another list to the end of this list. More... | |
void | swap (UPtrList< T > &list) |
Swap content. More... | |
void | transfer (UPtrList< T > &list) |
Transfer contents into this list and annul the argument. More... | |
T * | set (const label i, T *ptr) |
void | reorder (const labelUList &oldToNew, const bool check=false) |
void | sortOrder (const labelUList &order, const bool check=false) |
void | checkNonNull () const |
Check and raise FatalError if any nullptr exists in the list. More... | |
const T & | operator[] (const label i) const |
Return const reference to the element. More... | |
T & | operator[] (const label i) |
Return reference to the element. More... | |
const T * | operator() (const label i) const |
Return const pointer to the element - same as get(). More... | |
void | operator= (const UPtrList< T > &list) |
Copy assignment (shallow copies addresses) More... | |
void | operator= (UPtrList< T > &&list) |
Move assignment. More... | |
T ** | begin_ptr () noexcept |
Iterator to begin of raw pointers traversal (use with caution) More... | |
T ** | end_ptr () noexcept |
Iterator beyond end of raw pointers traversal (use with caution) More... | |
iterator | begin () noexcept |
Return an iterator to begin of UPtrList traversal. More... | |
iterator | end () noexcept |
Return iterator beyond end of UPtrList traversal. More... | |
const_iterator | cbegin () const noexcept |
Return const_iterator to begin of UPtrList traversal. More... | |
const_iterator | cend () const noexcept |
Return const_iterator beyond end of UPtrList traversal. More... | |
const_iterator | begin () const noexcept |
Return const_iterator to begin of UPtrList traversal. More... | |
const_iterator | end () const noexcept |
Return const_iterator beyond end of UPtrList traversal. More... | |
Static Public Attributes | |
static bool | verboseOutput = true |
The default verbosity (true) More... | |
Additional Inherited Members | |
![]() | |
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... | |
![]() | |
void | setAddressableSize (const label n) noexcept |
Adjust addressable size. More... | |
UPtrList (Detail::PtrListDetail< T > &&ptrs) | |
Low-level move construct. More... | |
![]() | |
Detail::PtrListDetail< T > | ptrs_ |
The list of pointers. 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 228 of file blockMesh.C.
References blockMesh::DEFAULT_MERGE, Foam::endl(), Foam::Info, blockMesh::MERGE_POINTS, Foam::nl, and Enum< EnumType >::readIfPresent().
|
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 399 of file blockMesh.C.
Referenced by blockMesh::mesh().
Foam::label numZonedBlocks | ( | ) | const |
Number of blocks with specified zones.
Definition at line 417 of file blockMesh.C.
Referenced by blockMesh::mesh().
|
noexcept |
True if scaling and/or transformations are needed.
Definition at line 435 of file blockMesh.C.
References bool.
bool inplacePointTransforms | ( | pointField & | pts | ) | const |
Apply coordinate transforms and scaling.
Definition at line 441 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 514 of file blockMesh.C.
References Time::New().
|
noexcept |
Reference to point field defining the blocks, these points are unscaled and non-transformed
Definition at line 327 of file blockMesh.C.
Foam::tmp< Foam::pointField > vertices | ( | bool | applyTransform | ) | const |
Point field defining the blocks, optionally transformed and scaled
Definition at line 334 of file blockMesh.C.
References Time::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, Time::New(), IOobject::NO_READ, IOobject::NO_WRITE, polyMesh::points(), IOobject::registerObject(), PtrList< T >::set(), UPtrList< T >::size(), and topoMesh.
const Foam::pointField & points | ( | ) | const |
The points for the entire mesh. These points are scaled and transformed
Definition at line 366 of file blockMesh.C.
Referenced by blockMesh::mesh().
const Foam::cellShapeList & cells | ( | ) | const |
Return cell shapes list.
Definition at line 377 of file blockMesh.C.
Referenced by blockMesh::mesh().
const Foam::faceListList & patches | ( | ) | const |
Return the patch face lists.
Definition at line 388 of file blockMesh.C.
Referenced by blockMesh::mesh().
Foam::PtrList< Foam::dictionary > patchDicts | ( | ) | const |
Patch information from the topology mesh.
Definition at line 349 of file blockMesh.C.
References forAll, os(), patchDicts, and UPtrList< T >::size().
Referenced by blockMesh::mesh().
|
noexcept |
Output verbosity level.
Definition at line 313 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(), 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(), io(), meshPtr, Time::New(), Foam::nl, blockMesh::numZonedBlocks(), nZones, blockMesh::patchDicts(), blockMesh::patches(), blockMesh::patchNames(), blockMesh::points(), polyMesh::pointZones(), HashTable< T, Key, Hash >::size(), UList< T >::size(), and ensightPTraits< Type >::typeName.
|
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().