85 label transmissiveId_;
143 inline scalar&
Q(label celli);
174 const vector& targetPosition,
178 const label transmissiveId
187 const label tetFacei,
190 const vector& targetPosition,
193 const label transmissiveId
202 bool newFormat =
true
235 inline const point&
p0()
const;
238 inline const point&
p1()
const;
241 inline scalar
I0()
const;
244 inline scalar
I()
const;
247 inline scalar
dA()
const;
305 const bool namesOnly =
false
Base cloud calls templated on particle type.
Factory class to read-construct particles used for.
iNew(const polyMesh &mesh)
autoPtr< DTRMParticle > operator()(Istream &is) const
Class used to pass tracking data to the trackToFace function.
const UPtrList< reflectionModel > & reflection() const
const labelField & relfectedCells() const
const interpolationCell< scalar > & aInterp() const
const interpolationCellPoint< vector > & nHatInterp() const
const interpolationCell< scalar > & EInterp() const
const interpolationCell< scalar > & TInterp() const
const interpolationCell< scalar > & eInterp() const
Discrete Transfer Radiation Model (DTRM) particle.
scalar dA() const
Return const access dA.
DTRMParticle(const polyMesh &mesh, Istream &is, bool readFields=true, bool newFormat=true)
Construct from Istream.
const point & p0() const
Return const access to the initial position.
const point & p1() const
Return const access to the target position.
AddToPropertyList(particle, " p0"+" p1"+" I0"+" I"+" dA"+" transmissiveId";)
String representation of properties.
DTRMParticle(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti, const vector &position, const vector &targetPosition, const scalar I, const scalar dA, const label transmissiveId)
Construct from components.
scalar I() const
Return const access to the current intensity.
friend Ostream & operator<<(Ostream &os, const DTRMParticle &p)
DTRMParticle(const DTRMParticle &p)
Construct as copy.
label & reflectedId()
Return access to reflectedId.
void hitProcessorPatch(Cloud< DTRMParticle > &, trackingData &td)
Overridable function to handle the particle hitting a processorPatch.
static const std::size_t sizeofFields_
Size in bytes of the fields.
bool hitPatch(Cloud< DTRMParticle > &, trackingData &td)
scalar I0() const
Return const access to the initial intensity.
bool move(Cloud< DTRMParticle > &, trackingData &, const scalar)
Move.
void writeProperties(Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly=false) const
Write individual parcel properties to stream.
void hitWallPatch(Cloud< DTRMParticle > &, trackingData &td)
Overridable function to handle the particle hitting a wallPatch.
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,...
A list of pointers to objects of type <T>, without allocation/deallocation management of the pointers...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Given cell centre values and point (vertex) values decompose into tetrahedra and linear interpolate w...
Uses the cell value for any location within the cell.
vector position() const
Return current particle position.
static void readFields(TrackCloudType &c)
Read the fields associated with the owner cloud.
const polyMesh & mesh() const noexcept
Return the mesh database.
const barycentric & coordinates() const noexcept
Return current particle coordinates.
Mesh consisting of general polyhedral cells.
A List of wordRe with additional matching capabilities.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
Namespace for radiation modelling.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
#define AddToPropertyList(ParcelType, str)
Add to existing static 'propertyList' for particle properties.