58#ifndef Foam_blockDescriptor_H
59#define Foam_blockDescriptor_H
132 int calcEdgePointsWeights
141 void findCurvedFaces(
const label blockIndex = -1);
173 const label blockIndex,
220 inline
bool vertex(const label i, const label j, const label
k) const;
223 inline
bool edge(const label i, const label j, const label
k) const;
A 1D vector of objects of type <T> with a fixed length <N>.
A helper class for outputting values to Ostream.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
static const UList< T > & null() noexcept
Return a null UList (reference to a nullObject). Behaves like an empty UList.
Takes the description of the block and the list of curved edges and creates a list of points on edges...
bool edge(const label i, const label j, const label k) const
True if point i,j,k addresses a block edge.
label nCurvedFaces() const noexcept
Number of curved faces in this block.
const pointField & vertices() const noexcept
Reference to point field defining the block mesh.
blockDescriptor(const blockDescriptor &)=default
Copy construct.
const List< gradingDescriptors > & grading() const noexcept
Expansion ratios in all directions.
const FixedList< label, 6 > & curvedFaces() const noexcept
Curved-face labels for each block-face (-1 for flat faces).
bool flatFaceOrEdge(const label i, const label j, const label k) const
Return true if point i,j,k addresses a block flat face or edge.
InfoProxy< blockDescriptor > info() const noexcept
Return info proxy, used to print information to a stream.
const point & blockPoint(const label i) const
Return block point for local label i.
bool vertex(const label i, const label j, const label k) const
True if point i,j,k addresses a block vertex.
static void write(Ostream &, const label blocki, const dictionary &)
Write block index with dictionary lookup.
int edgesPointsWeights(pointField(&edgesPoints)[12], scalarList(&edgesWeights)[12]) const
Calculate the points and weights for all edges.
label facePointLabel(const direction facei, const label i, const label j) const
Face vertex label offset for a particular i,j,k position on hex face (0-5).
const cellShape & blockShape() const noexcept
Return the block shape.
const labelVector & density() const noexcept
The mesh density (number of cells) in the i,j,k directions.
const word & zoneName() const noexcept
Return the (optional) zone name.
void correctFacePoints(FixedList< pointField, 6 > &) const
Correct the location of the given face-points.
FixedList< pointField, 6 > facePoints(const pointField &points) const
Return the list of face-points for all of the faces of the block.
const blockFaceList & blockFaces() const noexcept
Return reference to the list of curved faces.
bool edgePointsWeights(const label edgei, pointField &edgePoints, scalarList &edgeWeights, const label nDiv, const gradingDescriptors &gd=gradingDescriptors()) const
Calculate points and weights for specified edge, using the specified number of divisions and grading.
void operator=(const blockDescriptor &)=delete
No copy assignment.
An analytical geometric cellShape.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
An edge is a list of two vertex labels. This can correspond to a directed graph edge or an edge on a ...
List of gradingDescriptor for the sections of a block with additional IO functionality.
ijkMesh()
Construct zero-sized.
A class for handling words, derived from Foam::string.
static const word null
An empty word.
Vector< label > labelVector
Vector of labels.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces).
vector point
Point is a vector.
PtrList< blockFace > blockFaceList
A PtrList of blockFaces.
PtrList< blockEdge > blockEdgeList
A PtrList of blockEdges.
vectorField pointField
pointField is a vectorField.
List< scalar > scalarList
List of scalar.