58#ifndef blockDescriptor_H
59#define blockDescriptor_H
124 int calcEdgePointsWeights
133 void findCurvedFaces(
const label blockIndex = -1);
165 const label blockIndex,
212 inline
bool vertex(const label i, const label j, const label
k) const;
215 inline
bool edge(const label i, const label j, const label
k) const;
273Ostream&
operator<<(Ostream&
os,
const blockDescriptor& bd);
276Ostream&
operator<<(Ostream&
os,
const InfoProxy<blockDescriptor>& info);
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...
Takes the description of the block and the list of curved edges and creates a list of points on edges...
label nCurvedFaces() const noexcept
Number of curved faces in this block.
InfoProxy< blockDescriptor > info() const
Return info proxy.
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.
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.
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
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
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 point labels. The functionality it provides supports the discretisation on a...
List of gradingDescriptor for the sections of a block with additional IO functionality.
A simple i-j-k (row-major order) to linear addressing for a rectilinear mesh. Since the underlying me...
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)