88 class gradingDescriptors;
126 inline bool valid()
const;
129 inline label
nCells()
const;
135 inline bool contains(
const scalar
p)
const;
138 inline const scalar&
min()
const;
141 inline const scalar&
max()
const;
144 inline scalar
centre()
const;
147 inline scalar
length()
const;
153 inline scalar
width(
const label i)
const;
157 inline scalar
C(
const label i)
const;
173 label
findIndex(
const scalar
p,
const scalar tol)
const;
178 inline const scalar&
clip(
const scalar& val)
const;
206 void append(
const scalar
p, label nDiv, scalar expRatio=1);
209 void prepend(
const scalar
p, label nDiv, scalar expRatio=1);
241 enum controlType : uint8_t
250 const static Enum<controlType> controlNames_;
287 bool isSphere()
const;
290 bool onGround()
const;
294 bool onGround(
const bool on);
335 static bool checkMonotonic
349 const scalar scaleFactor = -1,
362 label addInternalFaces
372 label addBoundaryFaces
485 inline scalar
dx(
const label i)
const;
491 inline scalar
dy(
const label j)
const;
497 inline scalar
dz(
const label
k)
const;
503 inline vector span(
const label i,
const label j,
const label
k)
const;
509 inline point grid(
const label i,
const label j,
const label
k)
const;
515 inline point C(
const label i,
const label j,
const label
k)
const;
521 inline scalar
V(
const label i,
const label j,
const label
k)
const;
528 inline scalar
width(
const label i,
const label j,
const label
k)
const;
scalar centre() const
Mid-point location, zero for an empty list.
const scalar & max() const
The last() value is considered the max value.
point C(const label i, const label j, const label k) const
Cell centre at i,j,k position.
label nPoints() const
The number of points in this direction.
const scalar & clip(const scalar &val) const
If out of range, return the respective min/max limits, otherwise return the value itself...
label findIndex(const scalar p, const scalar tol) const
Find the grid index, within the given tolerance.
void resize(label len)
Resize lists.
A face is a list of labels corresponding to mesh vertices.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
scalar V(const label i, const label j, const label k) const
Cell volume at i,j,k position.
const Vector< location > & grid() const
The grid point locations in the i,j,k (x,y,z) directions.
void prepend(const scalar p, label nDiv, scalar expRatio=1)
Add point/divisions/expand to front of list (push_front)
Uniform expansion (ie, no expansion)
void checkIndex(const label i) const
Check that element index is within valid range.
const scalar & min() const
The first() value is considered the min value.
Vector2D< scalar > vector2D
A 2D vector of scalars obtained from the generic Vector2D.
vector span(const label i, const label j, const label k) const
Cell dimensions at i,j,k position.
label * iterator
Random access iterator for traversing a UList.
A bounding box defined in terms of min/max extrema points.
label k
Boltzmann constant.
expansionType
The expansion type.
dictionary blockMeshDict() const
Content for an equivalent blockMeshDict.
void writeBlockMeshDict(const IOobject &io) const
Write an equivalent blockMeshDict.
bool read(const dictionary &dict)
Read dictionary.
dimensionedScalar pos(const dimensionedScalar &ds)
Vector2D< label > labelVector2D
A 2D vector of labels obtained from the generic Vector2D.
PDRblock()
Default construct, zero-size, inverted bounds etc.
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)
bool contains(const scalar p) const
True if the location is within the range.
The begin/end nodes for each segment, with divisions and expansion for each segment.
scalar dz(const label k) const
Cell size in z-direction at k position.
A class for handling words, derived from Foam::string.
static const Enum< expansionType > expansionNames_
Named enumerations for the expansion type.
const labelVector & sizes() const
The (i,j,k) addressing dimensions.
List< scalar > scalarList
A List of scalars.
A single block x-y-z rectilinear mesh addressable as i,j,k with simplified creation. Some of the input is similar to blockMeshDict, but since this specialization is for a single-block that is aligned with the x-y-z directions, it provides a different means of specifying the mesh.
autoPtr< polyMesh > innerMesh(const IOobject &io) const
Create polyMesh for inner-mesh only, ignore any outer block definitions.
scalar width(const label i, const label j, const label k) const
Characteristic cell size at i,j,k position.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
scalarList expansion_
The expansion ratio per segment.
Templated 3D Vector derived from VectorSpace adding construction from 3 components, element access using x(), y() and z() member functions and the inner-product (dot-product) and cross-product operators.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
static const PDRblock & null()
Return a PDRblock reference to a nullObject.
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
Vector< gradingDescriptors > grading() const
Equivalent edge grading descriptors in (x,y,z) directions.
scalar length() const
The difference between min/max values, zero for an empty list.
void append(const scalar p, label nDiv, scalar expRatio=1)
Add point/divisions/expand to end of list (push_back)
OBJstream os(runTime.globalPath()/outputName)
label nCells() const
The number of cells in this direction.
scalar dy(const label j) const
Cell size in y-direction at j position.
scalarMinMax edgeLimits() const
Return min/max edge lengths.
label findCell(const scalar p) const
Find the cell index enclosing this location.
scalar width(const label i) const
Cell size at element position.
void clear()
Reset to (0,0,0) sizing.
void reset(const UList< scalar > &xgrid, const UList< scalar > &ygrid, const UList< scalar > &zgrid)
Reset grid locations and mesh i-j-k sizing.
label nCells() const
Total number of cells in this direction.
void writeDict(Ostream &os, const direction cmpt) const
Write as dictionary contents for specified vector direction.
labelList divisions_
The number of division per segment.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
bool valid() const
The location list is valid if it contains 2 or more points.
gradingDescriptors grading() const
Return edge grading descriptors for the locations.
const boundBox & bounds() const
The mesh bounding box.
autoPtr< polyMesh > mesh(const IOobject &io) const
Create polyMesh for grid definition and patch information.
scalar C(const label i) const
Cell centre at element position.
List of gradingDescriptor for the sections of a block with additional IO functionality.
Defines the attributes of an object for which implicit objectRegistry management is supported...
gradingDescriptors grading() const
Return edge grading descriptors for the locations.
const scalarMinMax & edgeLimits() const
The min/max edge length.
scalar dx(const label i) const
Cell size in x-direction at i position.
Relative expansion ratio.