34 const point& position,
45 havePosition0_(
false),
46 position0_(point::uniform(NaN))
61 is >> seti_ >> setF_ >> distance_ >> havePosition0_ >> position0_;
76 distance_(p.distance_),
77 havePosition0_(p.havePosition0_),
78 position0_(p.position0_)
115 td.
positions_.append((position() + position0_)/2);
121 havePosition0_ =
true;
122 position0_ = position();
139 const scalar magS =
mag(s);
141 const scalar
f = trackToFace(setF_*s, 0);
142 distance_ += (1 -
f)*setF_*magS;
145 while (onInternalFace())
150 hitFace(setF_*s, 0, cloud, td);
152 const scalar f = trackToFace(setF_*s, 0);
153 distance_ += (1 -
f)*setF_*magS;
162 hitFace(setF_*s, 0, cloud, td);
165 if (onBoundaryFace() && setF_ < rootSmall)
225 const vector& displacement,
226 const scalar fraction,
250 particle::hitProcessorPatch(cloud, td);
269 os << static_cast<const particle&>(
p)
270 << token::SPACE << p.seti_
271 << token::SPACE << p.setF_
272 << token::SPACE << p.distance_
273 << token::SPACE << p.havePosition0_
274 << token::SPACE << p.position0_;
bool move(sampledSetCloud &, trackingData &, const scalar)
Track all particles to their end point.
Particle for generating line-type sampled sets.
DynamicList< label > & faces_
Stored face indices.
void hitSymmetryPlanePatch(sampledSetCloud &, trackingData &)
Hit a symmetry patch. Ends the track.
void store(sampledSetCloud &, trackingData &)
Store a point.
A face is a list of labels corresponding to mesh vertices.
void hitCyclicAMIPatch(const vector &, const scalar, sampledSetCloud &, trackingData &)
Hit a cyclicAMI patch. Ends the track.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
void hitSymmetryPatch(sampledSetCloud &, trackingData &)
Hit a symmetry plane patch. Ends the track.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
const bool storeCells_
Are we storing the cells we track through?
DynamicList< point > & positions_
Stored positions.
void hitProcessorPatch(sampledSetCloud &, trackingData &)
Hit a processor patch. Transfers the particle if there is no.
void storeFace(sampledSetCloud &, trackingData &)
Store a point on a face.
Neighbour processor patch.
void storeCell(sampledSetCloud &, trackingData &)
Store a point in a cell.
const bool storeFaces_
Are we storing the faces we track through?
gmvFile<< "tracers "<< particles.size()<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().x()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().y()<< " ";}gmvFile<< nl;forAllConstIter(Cloud< passiveParticle >, particles, iter){ gmvFile<< iter().position().z()<< " ";}gmvFile<< nl;forAll(lagrangianScalarNames, i){ word name=lagrangianScalarNames[i];IOField< scalar > s(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
void hitCyclicPatch(sampledSetCloud &, trackingData &)
Hit a cyclic patch. Ends the track.
A Cloud of sampledSet particles.
DynamicList< T, SizeInc, SizeMult, SizeDiv > & append(const T &)
Append an element at the end of the list.
const bool storeSet_
Are we storing the set points?
static const label labelMax
DynamicList< label > & cells_
Stored cell indices.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
DynamicList< scalar > & distances_
Stored distances.
virtual const transformer & transform() const
Return null transform between processor patches.
bool keepParticle
Flag to indicate whether to keep particle (false = delete)
A cell is defined as a list of faces with extra functionality.
Ostream & operator<<(Ostream &, const ensightPart &)
void hitWedgePatch(sampledSetCloud &, trackingData &)
Hit a wedge patch. Ends the track.
dimensioned< scalar > mag(const dimensioned< Type > &)
Mesh consisting of general polyhedral cells.
const List< point > & set_
List of set points to track through.
label sendToProc
Processor to send the particle to. -1 indicates that this.
sampledSetParticle(const polyMesh &mesh, const point &position, const label celli, const label seti, const scalar setF, const scalar distance)
Construct from components.
void hitWallPatch(sampledSetCloud &, trackingData &)
Hit a wall patch. Ends the track.