41 blockPointField_(blockPointField),
44 meshDensity_(meshDensity),
50 if (expand_.size() != 12)
53 <<
"Unknown definition of expansion ratios" 69 blockPointField_(blockPointField),
98 if (t.
pToken() == token::BEGIN_LIST)
107 ) <<
"incorrect token while reading n, expected '(', found " 115 is >> meshDensity_.x()
128 if (expRatios.
size() == 1)
131 expand_ = expRatios[0];
133 else if (expRatios.
size() == 3)
136 expand_[0] = expRatios[0];
137 expand_[1] = expRatios[0];
138 expand_[2] = expRatios[0];
139 expand_[3] = expRatios[0];
142 expand_[4] = expRatios[1];
143 expand_[5] = expRatios[1];
144 expand_[6] = expRatios[1];
145 expand_[7] = expRatios[1];
148 expand_[8] = expRatios[2];
149 expand_[9] = expRatios[2];
150 expand_[10] = expRatios[2];
151 expand_[11] = expRatios[2];
153 else if (expRatios.
size() == 12)
160 <<
"Unknown definition of expansion ratios: " << expRatios
179 return blockPointField_;
218 (meshDensity_.
x() + 1)
219 * (meshDensity_.
y() + 1)
220 * (meshDensity_.
z() + 1)
238 return blockPointField_[blockShape_[i]];
257 os << blockLabels[
labelI];
267 <<
" simpleGrading (";
277 expand[0] == expand[1]
278 && expand[0] == expand[2]
279 && expand[0] == expand[3]
283 expand[4] == expand[5]
284 && expand[4] == expand[6]
285 && expand[4] == expand[7]
289 expand[8] == expand[9]
290 && expand[8] == expand[10]
291 && expand[8] == expand[11]
295 os << expand[0] <<
' ' << expand[4] <<
' ' << expand[8];
const cellModel & model() const
Model reference.
#define forAll(list, i)
Loop across all elements in list.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const scalarListList & blockEdgeWeights() const
Return the weightings along each edge.
errorManipArg< error, int > exit(error &err, const int errNo=1)
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
An analytical geometric cellShape.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
Takes the description of the block and the list of curved edges and creates a list of points on edges...
void size(const label)
Override size to be inconsistent with allocated storage.
A token holds items read from Istream.
void putBack(const token &)
Put back token.
const word & name() const
Return model name.
const cellShape & blockShape() const
Return the block shape.
const Vector< label > & meshDensity() const
Return the mesh density (number of cells) in the i,j,k directions.
const point & blockPoint(const label i) const
Return block point at local label i.
static const labelSphericalTensor labelI(1)
Identity labelTensor.
label nPoints() const
Return the number of points.
blockDescriptor(const cellShape &, const pointField &blockPointField, const curvedEdgeList &, const Vector< label > &meshDensity, const UList< gradingDescriptors > &expand, const word &zoneName="")
Construct from components. Optional cellSet/zone name.
A class for handling words, derived from string.
punctuationToken pToken() const
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
~blockDescriptor()
Destructor.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
const word & zoneName() const
Return the (optional) zone name.
const pointField & blockPointField() const
Reference to point field defining the block mesh.
label nCells() const
Return the number of cells.
#define FatalIOErrorInFunction(ios)
Report an error message using Foam::FatalIOError.
InfoProxy< token > info() const
Return info proxy.
Ostream & operator<<(Ostream &, const ensightPart &)
const word & wordToken() const
const List< List< point > > & blockEdgePoints() const
Return the block points along each edge.
bool isPunctuation() const
List of gradingDescriptor for the sections of a block with additional IO functionality.