88class 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
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;
Graphite solid properties.
Enum is a wrapper around a list of names/values that represent particular enumeration (or int) values...
Forward iterator with non-const access.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Grid locations in an axis direction.
scalar length() const
The difference between min/max values, zero for an empty list.
label findIndex(const scalar p, const scalar tol) const
Find the grid index, within the given tolerance.
bool valid() const
The location list is valid if it contains 2 or more points.
void checkIndex(const label i) const
Check that element index is within valid range.
label findCell(const scalar p) const
Find the cell index enclosing this location.
scalar centre() const
Mid-point location, zero for an empty list.
scalarMinMax edgeLimits() const
Return min/max edge lengths.
const scalar & min() const
The first() value is considered the min value.
label nCells() const
The number of cells in this direction.
label nPoints() const
The number of points in this direction.
gradingDescriptors grading() const
Return edge grading descriptors for the locations.
const scalar & max() const
The last() value is considered the max value.
scalar width(const label i) const
Cell size at element position.
bool contains(const scalar p) const
True if the location is within the range.
const scalar & clip(const scalar &val) const
A single block x-y-z rectilinear mesh addressable as i,j,k with simplified creation....
scalar V(const label i, const label j, const label k) const
Cell volume at i,j,k position.
static const PDRblock & null()
Return a PDRblock reference to a nullObject.
const boundBox & bounds() const
The mesh bounding box.
static const Enum< expansionType > expansionNames_
Named enumerations for the expansion type.
scalar dx(const label i) const
Cell size in x-direction at i position.
point C(const label i, const label j, const label k) const
Cell centre at i,j,k position.
bool read(const dictionary &dict)
Read dictionary.
void reset(const UList< scalar > &xgrid, const UList< scalar > &ygrid, const UList< scalar > &zgrid)
Reset grid locations and mesh i-j-k sizing.
vector span(const label i, const label j, const label k) const
Cell dimensions at i,j,k position.
PDRblock()
Default construct, zero-size, inverted bounds etc.
autoPtr< polyMesh > innerMesh(const IOobject &io) const
const scalarMinMax & edgeLimits() const
The min/max edge length.
scalar dy(const label j) const
Cell size in y-direction at j position.
scalar dz(const label k) const
Cell size in z-direction at k position.
const Vector< location > & grid() const
The grid point locations in the i,j,k (x,y,z) directions.
Vector< gradingDescriptors > grading() const
Equivalent edge grading descriptors in (x,y,z) directions.
expansionType
The expansion type.
@ EXPAND_RELATIVE
Relative expansion ratio.
@ EXPAND_UNIFORM
Uniform expansion (ie, no expansion)
@ EXPAND_RATIO
End/start ratio.
void writeBlockMeshDict(const IOobject &io) const
Write an equivalent blockMeshDict.
scalar width(const label i, const label j, const label k) const
Characteristic cell size at i,j,k position.
dictionary blockMeshDict() const
Content for an equivalent blockMeshDict.
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
Templated 3D Vector derived from VectorSpace adding construction from 3 components,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A bounding box defined in terms of min/max extrema points.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
FixedList< label, nTypes > sizes() const
Processor-local sizes per element type.
List of gradingDescriptor for the sections of a block with additional IO functionality.
const labelVector & sizes() const
The (i,j,k) addressing dimensions.
A simple i-j-k (row-major order) to linear addressing for a rectilinear mesh. Since the underlying me...
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, false)
Vector2D< scalar > vector2D
A 2D vector of scalars obtained from the generic Vector2D.
dimensionedScalar pos(const dimensionedScalar &ds)
Vector2D< label > labelVector2D
A 2D vector of labels obtained from the generic Vector2D.
Vector< label > labelVector
Vector of labels.
MinMax< scalar > scalarMinMax
A scalar min/max range.
vectorField pointField
pointField is a vectorField.
List< scalar > scalarList
A List of scalars.
vector point
Point is a vector.
gradingDescriptors grading() const
Return edge grading descriptors for the locations.
scalarList expansion_
The expansion ratio per segment.
labelList divisions_
The number of division per segment.
void prepend(const scalar p, label nDiv, scalar expRatio=1)
Add point/divisions/expand to front of list (push_front)
void append(const scalar p, label nDiv, scalar expRatio=1)
Add point/divisions/expand to end of list (push_back)
void resize(label len)
Resize lists.
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.