DTRMParticle Class Reference

Discrete Transfer Radiation Model (DTRM) particle. More...

Inheritance diagram for DTRMParticle:
[legend]
Collaboration diagram for DTRMParticle:
[legend]

Classes

class  iNew
 Factory class to read-construct particles used for. More...
 
class  trackingData
 Class used to pass tracking data to the trackToFace function. More...
 

Public Member Functions

 AddToPropertyList (particle, " p0"+" p1"+" I0"+" I"+" dA"+" transmissiveId";)
 String representation of properties. More...
 
 DTRMParticle (const polyMesh &mesh, const vector &position, const vector &targetPosition, const scalar I, const label cellI, const scalar dA, const label transmissiveId)
 Construct from components, with searching for tetFace and. More...
 
 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. More...
 
 DTRMParticle (const polyMesh &mesh, Istream &is, bool readFields=true, bool newFormat=true)
 Construct from Istream. More...
 
 DTRMParticle (const DTRMParticle &p)
 Construct as copy. More...
 
const pointp0 () const
 Return const access to the initial position. More...
 
const pointp1 () const
 Return const access to the target position. More...
 
scalar I0 () const
 Return const access to the initial intensity. More...
 
scalar I () const
 Return const access to the current intensity. More...
 
scalar dA () const
 Return const access dA. More...
 
pointp1 ()
 Return access to the target position. More...
 
scalar & I0 ()
 Return access to the initial intensity. More...
 
scalar & I ()
 Return access to the current intensity. More...
 
scalar & dA ()
 Return access to dA. More...
 
label & reflectedId ()
 Return access to reflectedId. More...
 
bool move (Cloud< DTRMParticle > &, trackingData &, const scalar)
 Move. More...
 
void hitProcessorPatch (Cloud< DTRMParticle > &, trackingData &td)
 Overridable function to handle the particle hitting a processorPatch. More...
 
void hitWallPatch (Cloud< DTRMParticle > &, trackingData &td)
 Overridable function to handle the particle hitting a wallPatch. More...
 
bool hitPatch (Cloud< DTRMParticle > &, trackingData &td)
 
void writeProperties (Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly=false) const
 Write individual parcel properties to stream. More...
 
- Public Member Functions inherited from particle< Type >
 TypeName ("particle")
 Runtime type information. More...
 
 particle (const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
 Construct from components. More...
 
 particle (const polyMesh &mesh, const vector &position, const label celli=-1)
 Construct from a position and a cell. More...
 
 particle (const polyMesh &mesh, const vector &position, const label celli, const label tetFacei, const label tetPti, const bool doLocate=true)
 Construct from position components. More...
 
 particle (const polyMesh &mesh, Istream &, bool readFields=true, bool newFormat=true)
 Construct from Istream. More...
 
 particle (const particle &p)
 Construct as a copy. More...
 
 particle (const particle &p, const polyMesh &mesh)
 Construct as a copy with reference to a new mesh. More...
 
virtual autoPtr< particleclone () const
 Construct a clone. More...
 
virtual ~particle ()=default
 Destructor. More...
 
label getNewParticleID () const
 Get unique particle creation id. More...
 
const polyMeshmesh () const
 Return the mesh database. More...
 
const barycentriccoordinates () const
 Return current particle coordinates. More...
 
label cell () const
 Return current cell particle is in. More...
 
label & cell ()
 Return current cell particle is in for manipulation. More...
 
label tetFace () const
 Return current tet face particle is in. More...
 
label & tetFace ()
 Return current tet face particle is in for manipulation. More...
 
label tetPt () const
 Return current tet face particle is in. More...
 
label & tetPt ()
 Return current tet face particle is in for manipulation. More...
 
label face () const
 Return current face particle is on otherwise -1. More...
 
label & face ()
 Return current face particle is on for manipulation. More...
 
scalar stepFraction () const
 Return the fraction of time-step completed. More...
 
scalar & stepFraction ()
 Return the fraction of time-step completed. More...
 
label origProc () const
 Return the originating processor ID. More...
 
label & origProc ()
 Return the originating processor ID. More...
 
label origId () const
 Return the particle ID on the originating processor. More...
 
label & origId ()
 Return the particle ID on the originating processor. More...
 
Pair< scalar > stepFractionSpan () const
 Return the step fraction change within the overall time-step. More...
 
scalar currentTimeFraction () const
 Return the current fraction within the timestep. This differs. More...
 
tetIndices currentTetIndices () const
 Return the indices of the current tet that the. More...
 
barycentricTensor currentTetTransform () const
 Return the current tet transformation tensor. More...
 
vector normal () const
 The (unit) normal of the tri on tetFacei_ for the current tet. More...
 
bool onFace () const
 Is the particle on a face? More...
 
bool onInternalFace () const
 Is the particle on an internal face? More...
 
bool onBoundaryFace () const
 Is the particle on a boundary face? More...
 
label patch () const
 Return the index of patch that the particle is on. More...
 
vector position () const
 Return current particle position. More...
 
void reset ()
 Reset particle data. More...
 
scalar track (const vector &displacement, const scalar fraction)
 Track along the displacement for a given fraction of the overall. More...
 
scalar trackToFace (const vector &displacement, const scalar fraction)
 As particle::track, but also stops on internal faces. More...
 
scalar trackToTri (const vector &displacement, const scalar fraction, label &tetTriI)
 As particle::trackToFace, but also stops on tet triangles. On. More...
 
scalar trackToStationaryTri (const vector &displacement, const scalar fraction, label &tetTriI)
 As particle::trackToTri, but for stationary meshes. More...
 
scalar trackToMovingTri (const vector &displacement, const scalar fraction, label &tetTriI)
 As particle::trackToTri, but for moving meshes. More...
 
template<class TrackCloudType >
void hitFace (const vector &direction, TrackCloudType &cloud, trackingData &td)
 Hit the current face. If the current face is internal than this. More...
 
template<class TrackCloudType >
void trackToAndHitFace (const vector &direction, const scalar fraction, TrackCloudType &cloud, trackingData &td)
 Convenience function. Combines trackToFace and hitFace. More...
 
vector deviationFromMeshCentre () const
 Get the displacement from the mesh centre. Used to correct the. More...
 
void patchData (vector &n, vector &U) const
 Get the normal and velocity of the current patch location. More...
 
virtual void transformProperties (const tensor &T)
 Transform the physical properties of the particle. More...
 
virtual void transformProperties (const vector &separation)
 Transform the physical properties of the particle. More...
 
void prepareForParallelTransfer ()
 Convert global addressing to the processor patch local equivalents. More...
 
void correctAfterParallelTransfer (const label patchi, trackingData &td)
 Convert processor patch addressing to the global equivalents. More...
 
void prepareForInteractionListReferral (const vectorTensorTransform &transform)
 Break the topology and store the particle position so that the. More...
 
void correctAfterInteractionListReferral (const label celli)
 Correct the topology after referral. The particle may still be. More...
 
label procTetPt (const polyMesh &procMesh, const label procCell, const label procTetFace) const
 Return the tet point appropriate for decomposition or reconstruction. More...
 
void autoMap (const vector &position, const mapPolyMesh &mapper)
 Map after a topology change. More...
 
void relocate (const point &position, const label celli=-1)
 Set the addressing based on the provided position. More...
 
void writeProperties (Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly) const
 Write individual particle properties to stream. More...
 
void writeCoordinates (Ostream &os) const
 Write the particle barycentric coordinates and cell info. More...
 
virtual void writePosition (Ostream &os) const
 Write the particle position and cell id. More...
 

Static Public Attributes

static const std::size_t sizeofFields_
 Size in bytes of the fields. More...
 
- Static Public Attributes inherited from particle< Type >
static string propertyList_ = Foam::particle::propertyList()
 String representation of properties. More...
 
static label particleCount_ = 0
 Cumulative particle counter - used to provide unique ID. More...
 
static bool writeLagrangianCoordinates = true
 
static bool writeLagrangianPositions
 

Friends

class Cloud< DTRMParticle >
 
Ostreamoperator<< (Ostream &os, const DTRMParticle &p)
 

Additional Inherited Members

- Static Public Member Functions inherited from particle< Type >
static string propertyList ()
 
template<class Type >
static void writePropertyName (Ostream &os, const word &name, const word &delim)
 Write the name representation to stream. More...
 
template<class Type >
static void writeProperty (Ostream &os, const word &name, const Type &value, const bool nameOnly, const word &delim, const wordRes &filters=wordRes::null())
 
template<class Type >
static void writeProperty (Ostream &os, const word &name, const Field< Type > &values, const bool nameOnly, const word &delim, const wordRes &filters=wordRes::null())
 
template<class TrackCloudType >
static void readFields (TrackCloudType &c)
 Read the fields associated with the owner cloud. More...
 
template<class TrackCloudType >
static void writeFields (const TrackCloudType &c)
 Write the fields associated with the owner cloud. More...
 
template<class CloudType >
static void readObjects (CloudType &c, const objectRegistry &obr)
 Read particle fields as objects from the obr registry. More...
 
template<class CloudType >
static void writeObjects (const CloudType &c, objectRegistry &obr)
 Write particle fields as objects into the obr registry. More...
 
- Protected Member Functions inherited from particle< Type >
template<class TrackCloudType >
bool hitPatch (TrackCloudType &, trackingData &)
 Overridable function to handle the particle hitting a patch. More...
 
template<class TrackCloudType >
void hitWedgePatch (TrackCloudType &, trackingData &)
 Overridable function to handle the particle hitting a wedgePatch. More...
 
template<class TrackCloudType >
void hitSymmetryPlanePatch (TrackCloudType &, trackingData &)
 Overridable function to handle the particle hitting a. More...
 
template<class TrackCloudType >
void hitSymmetryPatch (TrackCloudType &, trackingData &)
 Overridable function to handle the particle hitting a symmetryPatch. More...
 
template<class TrackCloudType >
void hitCyclicPatch (TrackCloudType &, trackingData &)
 Overridable function to handle the particle hitting a cyclicPatch. More...
 
template<class TrackCloudType >
void hitCyclicAMIPatch (TrackCloudType &, trackingData &, const vector &)
 Overridable function to handle the particle hitting a cyclicAMIPatch. More...
 
template<class TrackCloudType >
void hitCyclicACMIPatch (TrackCloudType &, trackingData &, const vector &)
 Overridable function to handle the particle hitting a. More...
 
template<class TrackCloudType >
void hitProcessorPatch (TrackCloudType &, trackingData &)
 Overridable function to handle the particle hitting a processorPatch. More...
 
template<class TrackCloudType >
void hitWallPatch (TrackCloudType &, trackingData &)
 Overridable function to handle the particle hitting a wallPatch. More...
 

Detailed Description

Discrete Transfer Radiation Model (DTRM) particle.

Source files

Definition at line 62 of file DTRMParticle.H.

Constructor & Destructor Documentation

◆ DTRMParticle() [1/4]

DTRMParticle ( const polyMesh mesh,
const vector position,
const vector targetPosition,
const scalar  I,
const label  cellI,
const scalar  dA,
const label  transmissiveId 
)

Construct from components, with searching for tetFace and.

tetPt unless disabled by doCellFacePt = false.

◆ DTRMParticle() [2/4]

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.

◆ DTRMParticle() [3/4]

DTRMParticle ( const polyMesh mesh,
Istream is,
bool  readFields = true,
bool  newFormat = true 
)

Construct from Istream.

◆ DTRMParticle() [4/4]

DTRMParticle ( const DTRMParticle p)

Construct as copy.

Member Function Documentation

◆ AddToPropertyList()

AddToPropertyList ( particle  ,
" p0"+" p1"+" I0"+" I"+" dA"+" transmissiveId";   
)

String representation of properties.

◆ p0()

const Foam::point & p0 ( ) const
inline

Return const access to the initial position.

Definition at line 110 of file DTRMParticleI.H.

◆ p1() [1/2]

const Foam::point & p1 ( ) const
inline

Return const access to the target position.

Definition at line 116 of file DTRMParticleI.H.

◆ I0() [1/2]

Foam::scalar I0 ( ) const
inline

Return const access to the initial intensity.

Definition at line 122 of file DTRMParticleI.H.

◆ I() [1/2]

Foam::scalar I ( ) const
inline

Return const access to the current intensity.

Definition at line 128 of file DTRMParticleI.H.

◆ dA() [1/2]

Foam::scalar dA ( ) const
inline

Return const access dA.

Definition at line 134 of file DTRMParticleI.H.

◆ p1() [2/2]

Foam::point & p1 ( )
inline

Return access to the target position.

Definition at line 146 of file DTRMParticleI.H.

◆ I0() [2/2]

Foam::scalar & I0 ( )
inline

Return access to the initial intensity.

Definition at line 152 of file DTRMParticleI.H.

◆ I() [2/2]

Foam::scalar & I ( )
inline

Return access to the current intensity.

Definition at line 158 of file DTRMParticleI.H.

◆ dA() [2/2]

Foam::scalar & dA ( )
inline

Return access to dA.

Definition at line 140 of file DTRMParticleI.H.

◆ reflectedId()

label& reflectedId ( )
inline

Return access to reflectedId.

◆ move()

bool move ( Cloud< DTRMParticle > &  ,
trackingData ,
const  scalar 
)

Move.

◆ hitProcessorPatch()

void hitProcessorPatch ( Cloud< DTRMParticle > &  ,
trackingData td 
)

Overridable function to handle the particle hitting a processorPatch.

◆ hitWallPatch()

void hitWallPatch ( Cloud< DTRMParticle > &  ,
trackingData td 
)

Overridable function to handle the particle hitting a wallPatch.

◆ hitPatch()

bool hitPatch ( Cloud< DTRMParticle > &  ,
trackingData td 
)

◆ writeProperties()

void writeProperties ( Ostream os,
const wordRes filters,
const word delim,
const bool  namesOnly = false 
) const

Write individual parcel properties to stream.

Friends And Related Function Documentation

◆ Cloud< DTRMParticle >

friend class Cloud< DTRMParticle >
friend

Definition at line 89 of file DTRMParticle.H.

◆ operator<<

Ostream& operator<< ( Ostream os,
const DTRMParticle p 
)
friend

Member Data Documentation

◆ sizeofFields_

const std::size_t sizeofFields_
static

Size in bytes of the fields.

Definition at line 149 of file DTRMParticle.H.


The documentation for this class was generated from the following files: