41#ifndef Foam_solidParticle_H
42#define Foam_solidParticle_H
153 const label celli = -1
167 const label tetFacei,
184 bool newFormat =
true
196 const polyMesh& mesh_;
Base cloud calls templated on particle type.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
static autoPtr< T > New(Args &&... args)
Construct autoPtr with forwarding arguments.
A cloud is a registry collection of lagrangian particles.
Given cell centre values and point (vertex) values decompose into tetrahedra and linear interpolate w...
vector position() const
Return current particle position.
static autoPtr< particle > Clone(const Derived &p)
Clone a particle.
const polyMesh & mesh() const noexcept
Return the mesh database.
const barycentric & coordinates() const noexcept
Return current particle coordinates.
particle(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
Construct from components.
Mesh consisting of general polyhedral cells.
A Cloud of solid particles.
autoPtr< solidParticle > operator()(Istream &is) const
iNew(const polyMesh &mesh)
Class used to pass tracking data to the trackToFace function.
const interpolationCellPoint< scalar > & nuInterp() const noexcept
const interpolationCellPoint< scalar > & rhoInterp() const noexcept
const interpolationCellPoint< vector > & UInterp() const noexcept
const vector & g() const noexcept
trackingData(const solidParticleCloud &cld, const interpolationCellPoint< scalar > &rhoInterp, const interpolationCellPoint< vector > &UInterp, const interpolationCellPoint< scalar > &nuInterp, const vector &g)
Simple solid spherical particle class with one-way coupling with the continuous phase.
virtual void transformProperties(const tensor &T)
Transform the physical properties of the particle.
void hitWallPatch(solidParticleCloud &cloud, trackingData &td)
Overridable function to handle the particle hitting a wallPatch.
solidParticle(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti, const scalar d, const vector &U)
Construct from components.
virtual autoPtr< particle > clone() const
Return a clone.
static const std::size_t sizeofFields
Size in bytes of the fields.
const vector & U() const noexcept
Return velocity.
scalar d() const noexcept
Return diameter.
bool move(solidParticleCloud &, trackingData &, const scalar)
Move.
friend Ostream & operator<<(Ostream &, const solidParticle &)
solidParticle(const polyMesh &mesh, const vector &position, const label celli=-1)
Construct from a position and a cell.
bool hitPatch(solidParticleCloud &cloud, trackingData &td)
Overridable function to handle the particle hitting a patch.
void hitProcessorPatch(solidParticleCloud &cloud, trackingData &td)
Overridable function to handle the particle hitting a.
static void readFields(Cloud< solidParticle > &c)
static void writeFields(const Cloud< solidParticle > &c)
PtrList< coordinateSystem > coordinates(solidRegions.size())
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const NameMatchPredicate &selectedFields, DynamicList< regIOobject * > &storedObjects)
Read the selected GeometricFields of the templated type and store on the objectRegistry.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces).
static constexpr const zero Zero
Global zero (0).
Barycentric< scalar > barycentric
A scalar version of the templated Barycentric.
void T(FieldField< Field, Type > &f1, const FieldField< Field, Type > &f2)
A template class to specify that a data type can be considered as being contiguous in memory.