36template<
class ParcelType>
43template<
class ParcelType>
50template<
class ParcelType>
54 return particleProperties_;
58template<
class ParcelType>
66template<
class ParcelType>
73template<
class ParcelType>
77 return cellOccupancy_;
81template<
class ParcelType>
88template<
class ParcelType>
92 return collisionSelectionRemainder_;
96template<
class ParcelType>
104template<
class ParcelType>
105inline const typename ParcelType::constantProperties&
111 if (typeId < 0 || typeId >= constProps_.size())
114 <<
"constantProperties for requested typeId index "
115 << typeId <<
" do not exist" <<
nl
119 return constProps_[typeId];
123template<
class ParcelType>
130template<
class ParcelType>
134 return q_.boundaryFieldRef();
138template<
class ParcelType>
142 return fD_.boundaryFieldRef();
146template<
class ParcelType>
150 return rhoN_.boundaryFieldRef();
154template<
class ParcelType>
158 return rhoM_.boundaryFieldRef();
162template<
class ParcelType>
166 return linearKE_.boundaryFieldRef();
170template<
class ParcelType>
174 return internalE_.boundaryFieldRef();
178template<
class ParcelType>
182 return iDof_.boundaryFieldRef();
186template<
class ParcelType>
190 return momentum_.boundaryFieldRef();
194template<
class ParcelType>
202template<
class ParcelType>
210template<
class ParcelType>
214 return binaryCollisionModel_;
218template<
class ParcelType>
222 return *binaryCollisionModel_;
226template<
class ParcelType>
230 return *wallInteractionModel_;
234template<
class ParcelType>
238 return *wallInteractionModel_;
242template<
class ParcelType>
246 return *inflowBoundaryModel_;
250template<
class ParcelType>
254 return *inflowBoundaryModel_;
258template<
class ParcelType>
261 scalar sysMass = 0.0;
263 for (
const ParcelType&
p : *
this)
265 const typename ParcelType::constantProperties& cP = constProps
270 sysMass += cP.mass();
273 return nParticle_*sysMass;
277template<
class ParcelType>
280 vector linearMomentum(Zero);
282 for (
const ParcelType&
p : *
this)
284 const typename ParcelType::constantProperties& cP = constProps
289 linearMomentum += cP.mass()*
p.U();
292 return nParticle_*linearMomentum;
296template<
class ParcelType>
300 scalar linearKineticEnergy = 0.0;
302 for (
const ParcelType&
p : *
this)
304 const typename ParcelType::constantProperties& cP = constProps
309 linearKineticEnergy += 0.5*cP.mass()*(
p.U() &
p.U());
312 return nParticle_*linearKineticEnergy;
316template<
class ParcelType>
320 scalar internalEnergy = 0.0;
322 for (
const ParcelType&
p : *
this)
324 internalEnergy +=
p.Ei();
327 return nParticle_*internalEnergy;
331template<
class ParcelType>
343template<
class ParcelType>
356template<
class ParcelType>
367template<
class ParcelType>
380template<
class ParcelType>
392template<
class ParcelType>
406template<
class ParcelType>
413template<
class ParcelType>
420template<
class ParcelType>
428template<
class ParcelType>
435template<
class ParcelType>
443template<
class ParcelType>
451template<
class ParcelType>
459template<
class ParcelType>
467template<
class ParcelType>
474template<
class ParcelType>
Templated DSMC particle collision class.
volScalarField::Boundary & rhoMBF()
Return non-const mass density boundary field reference.
const volScalarField & boundaryT() const
Return macroscopic temperature.
const word & cloudName() const
Return the cloud type.
Random & rndGen()
Return reference to the random object.
scalar massInSystem() const
Total mass in system.
volScalarField::Boundary & rhoNBF()
Return non-const number density boundary field reference.
const List< typename ParcelType::constantProperties > & constProps() const
Return all of the constant properties.
const volScalarField & q() const
Return heat flux at surface field.
const List< DynamicList< ParcelType * > > & cellOccupancy() const
Return the cell occupancy addressing.
volScalarField::Boundary & internalEBF()
Return non-const internal energy density boundary field.
volScalarField & sigmaTcRMax()
Return the sigmaTcRMax field. non-const access to allow.
vector linearMomentumOfSystem() const
Total linear momentum of the system.
const InflowBoundaryModel< DSMCCloud< ParcelType > > & inflowBoundary() const
Return reference to wall interaction model.
const volScalarField & iDof() const
Return the average internal degrees of freedom field.
const BinaryCollisionModel< DSMCCloud< ParcelType > > & binaryCollision() const
Return reference to binary elastic collision model.
scalar nParticle() const
Return the number of real particles represented by one.
const volVectorField & boundaryU() const
Return macroscopic velocity.
scalar maxwellianRMSSpeed(scalar temperature, scalar mass) const
RMS particle speed.
scalar maxwellianMostProbableSpeed(scalar temperature, scalar mass) const
Most probable speed.
volScalarField::Boundary & linearKEBF()
Return non-const linear kinetic energy density boundary.
volVectorField::Boundary & momentumBF()
Return non-const momentum density boundary field reference.
volScalarField::Boundary & qBF()
Return non-const heat flux boundary field reference.
volVectorField::Boundary & fDBF()
Return non-const force density at boundary field reference.
scalar internalEnergyOfSystem() const
Total internal energy in the system.
scalarField & collisionSelectionRemainder()
Return the collision selection remainder field. non-const.
const volVectorField & momentum() const
Return the momentum density field.
const List< word > & typeIdList() const
Return the idList.
volScalarField::Boundary & iDofBF()
Return non-const internal degree of freedom density boundary.
const IOdictionary & particleProperties() const
Return particle properties dictionary.
const volScalarField & linearKE() const
Return the total linear kinetic energy (translational and.
void clear()
Clear the Cloud.
const volScalarField & dsmcRhoN() const
Return the field of number of DSMC particles.
const fvMesh & mesh() const
Return reference to the mesh.
const volScalarField & internalE() const
Return the internal energy density field.
scalar maxwellianAverageSpeed(scalar temperature, scalar mass) const
Average particle speed.
const volScalarField & rhoM() const
Return the particle mass density field.
const volScalarField & rhoN() const
Return the real particle number density field.
scalar linearKineticEnergyOfSystem() const
Total linear kinetic energy in the system.
const volVectorField & fD() const
Return force density at surface field.
const WallInteractionModel< DSMCCloud< ParcelType > > & wallInteraction() const
Return reference to wall interaction model.
void clear()
Clear the contents of the list.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Templated inflow boundary model class.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Templated wall interaction model class.
Mesh data needed to do the Finite Volume discretisation.
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
constexpr scalar pi(M_PI)
const dimensionedScalar k
Boltzmann constant.
Different types of constants.
dimensionedScalar sqrt(const dimensionedScalar &ds)
errorManip< error > abort(error &err)
constexpr char nl
The newline '\n' character (0x0a)