blockMesh Class Reference

A multi-block mesh generator. More...

Inheritance diagram for blockMesh:
[legend]
Collaboration diagram for blockMesh:
[legend]

Public Types

enum  mergeStrategy { DEFAULT_MERGE, MERGE_TOPOLOGY, MERGE_POINTS }
 The block merging strategy. More...
 
typedef PtrList< blockblockList
 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 &regionName=polyMesh::defaultRegion, mergeStrategy strategy=mergeStrategy::DEFAULT_MERGE)
 Construct from IOdictionary for given region. More...
 
 ~blockMesh ()=default
 Destructor. More...
 
const dictionarymeshDict () const
 Access to input dictionary. More...
 
const searchableSurfacesgeometry () const
 Optional searchable geometry to project face-points to. More...
 
bool valid () const noexcept
 True if the blockMesh topology exists. More...
 
const pointFieldvertices () const
 Reference to point field defining the blockMesh. More...
 
const polyMeshtopology () const
 Return the blockMesh topology as a polyMesh. More...
 
const blockEdgeListedges () const
 Return the curved edges. More...
 
const blockFaceListfaces () const
 Return the curved faces. More...
 
scalar scaleFactor () const
 The scaling factor used to convert to metres. More...
 
const pointFieldpoints () const
 The points for the entire mesh. More...
 
const cellShapeListcells () const
 Return cell shapes list. More...
 
const faceListListpatches () const
 Return the patch face lists. More...
 
PtrList< dictionarypatchDicts () const
 Get patch information from the topology mesh. More...
 
wordList patchNames () const
 Return patch names. More...
 
label numZonedBlocks () const
 Number of blocks with specified zones. More...
 
bool verbose () const noexcept
 Verbose output. More...
 
bool verbose (const bool on) noexcept
 Enable/disable verbose output. More...
 
autoPtr< polyMeshmesh (const IOobject &io) const
 Create polyMesh, with cell zones. 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< blockclone (Args &&... args) const
 Make a copy by cloning each of the list elements. More...
 
Foam::PtrList< blockclone (Args &&... args) const
 
const blockset (const label i) const
 Return const pointer to element (can be nullptr),. More...
 
autoPtr< blockset (const label i, block *ptr)
 Set element to given pointer and return old element (can be null) More...
 
autoPtr< blockset (const label i, autoPtr< block > &ptr)
 Set element to given autoPtr and return old element. More...
 
autoPtr< blockset (const label i, autoPtr< block > &&ptr)
 Set element to given autoPtr and return old element. More...
 
autoPtr< blockset (const label i, std::unique_ptr< block > &&ptr)
 Set element to given unique_ptr and return old element. More...
 
autoPtr< blockset (const label i, const refPtr< block > &ptr)
 Set element to given refPtr and return old element. More...
 
autoPtr< blockset (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< blockemplace (const label i, Args &&... args)
 Construct and set an element. More...
 
Foam::autoPtr< blockemplace (const label i, Args &&... args)
 
autoPtr< blockrelease (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...
 

Detailed Description

A multi-block mesh generator.

Dictionary controls

Property Description Required Default
scale Point scaling no 1.0
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
Note
The vertices, cells and patches for filling the blocks are demand-driven.
Source files

Definition at line 148 of file blockMesh.H.

Member Typedef Documentation

◆ blockList

The list of blocks is stored as a PtrList.

Definition at line 157 of file blockMesh.H.

Member Enumeration Documentation

◆ 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 163 of file blockMesh.H.

Constructor & Destructor Documentation

◆ blockMesh()

blockMesh ( const IOdictionary dict,
const word regionName = polyMesh::defaultRegion,
mergeStrategy  strategy = mergeStrategy::DEFAULT_MERGE 
)
explicit

Construct from IOdictionary for given region.

Default is topological merging.

Definition at line 53 of file blockMesh.C.

◆ ~blockMesh()

~blockMesh ( )
default

Destructor.

Member Function Documentation

◆ ClassName()

ClassName ( "blockMesh"  )

Runtime type information.

◆ meshDict()

const dictionary& meshDict ( ) const
inline

Access to input dictionary.

Definition at line 323 of file blockMesh.H.

◆ geometry()

const searchableSurfaces& geometry ( ) const
inline

Optional searchable geometry to project face-points to.

Definition at line 329 of file blockMesh.H.

◆ valid()

bool valid ( ) const
noexcept

True if the blockMesh topology exists.

Definition at line 114 of file blockMesh.C.

References bool.

◆ vertices()

const Foam::pointField & vertices ( ) const

Reference to point field defining the blockMesh.

These points are not scaled by scaleFactor

Definition at line 134 of file blockMesh.C.

◆ topology()

const Foam::polyMesh & topology ( ) const

Return the blockMesh topology as a polyMesh.

Definition at line 140 of file blockMesh.C.

References Foam::exit(), Foam::FatalError, and FatalErrorInFunction.

Here is the call graph for this function:

◆ edges()

const blockEdgeList& edges ( ) const
inline

Return the curved edges.

Definition at line 345 of file blockMesh.H.

◆ faces()

const blockFaceList& faces ( ) const
inline

Return the curved faces.

Definition at line 351 of file blockMesh.H.

◆ scaleFactor()

Foam::scalar scaleFactor ( ) const

The scaling factor used to convert to metres.

Definition at line 170 of file blockMesh.C.

◆ points()

const Foam::pointField & points ( ) const

The points for the entire mesh.

These points are scaled by scaleFactor

Definition at line 176 of file blockMesh.C.

Referenced by blockMesh::mesh().

Here is the caller graph for this function:

◆ cells()

const Foam::cellShapeList & cells ( ) const

Return cell shapes list.

Definition at line 187 of file blockMesh.C.

Referenced by blockMesh::mesh().

Here is the caller graph for this function:

◆ patches()

const Foam::faceListList & patches ( ) const

Return the patch face lists.

Definition at line 198 of file blockMesh.C.

Referenced by blockMesh::mesh().

Here is the caller graph for this function:

◆ patchDicts()

Foam::PtrList< Foam::dictionary > patchDicts ( ) const

Get patch information from the topology mesh.

Definition at line 153 of file blockMesh.C.

References forAll, patchDicts, and StringStreamAllocator< StreamType >::str().

Referenced by blockMesh::mesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ patchNames()

Foam::wordList patchNames ( ) const

Return patch names.

Definition at line 209 of file blockMesh.C.

Referenced by blockMesh::mesh().

Here is the caller graph for this function:

◆ numZonedBlocks()

Foam::label numZonedBlocks ( ) const

Number of blocks with specified zones.

Definition at line 227 of file blockMesh.C.

References Foam::BitOps::count().

Referenced by blockMesh::mesh().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ verbose() [1/2]

bool verbose ( ) const
noexcept

Verbose output.

Definition at line 120 of file blockMesh.C.

◆ verbose() [2/2]

bool verbose ( const bool  on)
noexcept

Enable/disable verbose output.

Returns
old value

Definition at line 126 of file blockMesh.C.

◆ mesh()

Member Data Documentation

◆ verboseOutput

bool verboseOutput = true
static

The default verbosity (true)

Definition at line 295 of file blockMesh.H.


The documentation for this class was generated from the following files: