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