33template<
class CloudType>
37 return *cloudCopyPtr_;
41template<
class CloudType>
48template<
class CloudType>
52 return particleProperties_;
56template<
class CloudType>
60 return outputProperties_;
64template<
class CloudType>
67 return outputProperties_;
71template<
class CloudType>
79template<
class CloudType>
86template<
class CloudType>
94template<
class CloudType>
102template<
class CloudType>
106 return subModelProperties_;
110template<
class CloudType>
117template<
class CloudType>
124template<
class CloudType>
131template<
class CloudType>
138template<
class CloudType>
145template<
class CloudType>
152template<
class CloudType>
161template<
class CloudType>
169template<
class CloudType>
177template<
class CloudType>
185template<
class CloudType>
193template<
class CloudType>
197 return *dispersionModel_;
201template<
class CloudType>
205 return *dispersionModel_;
209template<
class CloudType>
213 return *patchInteractionModel_;
217template<
class CloudType>
221 return *patchInteractionModel_;
225template<
class CloudType>
229 return *stochasticCollisionModel_;
233template<
class CloudType>
237 return *stochasticCollisionModel_;
241template<
class CloudType>
245 return *surfaceFilmModel_;
249template<
class CloudType>
253 return *surfaceFilmModel_;
257template<
class CloudType>
261 return *packingModel_;
265template<
class CloudType>
269 return *packingModel_;
273template<
class CloudType>
277 return *dampingModel_;
281template<
class CloudType>
285 return *dampingModel_;
289template<
class CloudType>
293 return *isotropyModel_;
297template<
class CloudType>
301 return *isotropyModel_;
305template<
class CloudType>
309 return *UIntegrator_;
313template<
class CloudType>
316 scalar sysMass = 0.0;
319 sysMass +=
p.nParticle()*
p.mass();
326template<
class CloudType>
330 vector linearMomentum(Zero);
334 linearMomentum +=
p.nParticle()*
p.mass()*
p.U();
337 return linearMomentum;
341template<
class CloudType>
345 scalar parPerParcel = 0;
349 parPerParcel +=
p.nParticle();
356template<
class CloudType>
360 scalar linearKineticEnergy = 0;
364 linearKineticEnergy +=
p.nParticle()*0.5*
p.mass()*(
p.U() &
p.U());
367 return linearKineticEnergy;
371template<
class CloudType>
382 si +=
p.nParticle()*
pow(
p.d(), i);
383 sj +=
p.nParticle()*
pow(
p.d(), j);
394template<
class CloudType>
409template<
class CloudType>
416template<
class CloudType>
420 if (!cellOccupancyPtr_)
422 buildCellOccupancy();
425 return *cellOccupancyPtr_;
429template<
class CloudType>
433 return cellLengthScale_;
437template<
class CloudType>
445template<
class CloudType>
453template<
class CloudType>
461template<
class CloudType>
469template<
class CloudType>
476 Pout<<
"UTrans min/max = " <<
min(UTrans()).value() <<
", "
477 <<
max(UTrans()).value() <<
nl
478 <<
"UCoeff min/max = " <<
min(UCoeff()).value() <<
", "
479 <<
max(UCoeff()).value() <<
endl;
488 if (solution_.coupled())
490 if (solution_.semiImplicit(
"U"))
493 Vdt(mesh_.V()*this->db().time().deltaT());
500 return UTrans()/Vdt - fvm::Sp(UCoeff()/Vdt,
U) + UCoeff()/Vdt*
U;
507 fvm.
source() = -UTrans()/(this->db().time().deltaT());
513 return tmp<fvVectorMatrix>::New(
U, dim);
517template<
class CloudType>
536 extrapolatedCalculatedFvPatchScalarField::typeName
543 const label celli =
p.cell();
545 vDotSweep[celli] +=
p.nParticle()*
p.areaP()*
mag(
p.U() - U_[celli]);
555template<
class CloudType>
565 this->
name() +
":theta",
574 extrapolatedCalculatedFvPatchScalarField::typeName
581 const label celli =
p.cell();
583 theta[celli] +=
p.nParticle()*
p.volume();
593template<
class CloudType>
603 this->
name() +
":alpha",
618 const label celli =
p.cell();
620 alpha[celli] +=
p.nParticle()*
p.mass();
623 alpha /= (mesh_.V()*rho_);
629template<
class CloudType>
639 this->
name() +
":rhoEff",
654 const label celli =
p.cell();
656 rhoEff[celli] +=
p.nParticle()*
p.mass();
reduce(hasMovingMesh, orOp< bool >())
Class to hold DSMC particle constant properties.
Base class for collisional damping models.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Base class for dispersion modelling.
Internal::FieldType & primitiveFieldRef(const bool updateAccessTime=true)
Return a reference to the internal field.
Internal & ref(const bool updateAccessTime=true)
Return a reference to the dimensioned internal field.
void correctBoundaryConditions()
Correct boundary field.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
Defines the attributes of an object for which implicit objectRegistry management is supported,...
List of injection models.
Base class for collisional return-to-isotropy models.
Templated base class for kinematic cloud.
const parcelType::constantProperties & constProps() const
Return the constant properties.
const dictionary & subModelProperties() const
Return reference to the sub-models dictionary.
scalar massInSystem() const
Total mass in system.
scalar totalParticlePerParcel() const
Average particle per parcel.
const tmp< volScalarField > theta() const
Return the particle volume fraction field.
const tmp< volScalarField > alpha() const
Return the particle mass fraction field.
const scalarField & cellLengthScale() const
Return the cell length scale.
const SurfaceFilmModel< KinematicCloud< CloudType > > & surfaceFilm() const
Return const-access to the surface film model.
const PatchInteractionModel< KinematicCloud< CloudType > > & patchInteraction() const
Return const-access to the patch interaction model.
vector linearMomentumOfSystem() const
Total linear momentum of the system.
const volVectorField & U() const
Return carrier gas velocity.
scalar pAmbient() const
Return const-access to the ambient pressure.
const KinematicCloud & cloudCopy() const
Return a reference to the cloud copy.
const volScalarField & rho() const
Return carrier gas density.
const integrationScheme & UIntegrator() const
Return reference to velocity integration.
List< DynamicList< parcelType * > > & cellOccupancy()
Return the cell occupancy information for each.
functionType & functions()
Optional cloud function objects.
CloudType::particleType parcelType
Type of parcel the cloud was instantiated for.
const tmp< volScalarField > rhoEff() const
Return the particle effective density field.
const cloudSolution & solution() const
Return const access to the solution properties.
const tmp< volScalarField > vDotSweep() const
Volume swept rate of parcels per cell.
const PackingModel< KinematicCloud< CloudType > > & packingModel() const
Return const access to the packing model.
const DispersionModel< KinematicCloud< CloudType > > & dispersion() const
Return const-access to the dispersion model.
volScalarField::Internal & UCoeff()
Return coefficient for carrier phase U equation.
const StochasticCollisionModel< KinematicCloud< CloudType > > & stochasticCollision() const
Return const-access to the stochastic collision model.
scalar Dmax() const
Max diameter.
const DampingModel< KinematicCloud< CloudType > > & dampingModel() const
Return const access to the damping model.
scalar Dij(const label i, const label j) const
Mean diameter Dij.
const IOdictionary & particleProperties() const
Return particle properties dictionary.
volVectorField::Internal & UTrans()
Return reference to momentum source.
tmp< fvVectorMatrix > SU(volVectorField &U, bool incompressible=false) const
Return tmp momentum source term (compressible)
const dimensionedVector & g() const
Gravity.
const fvMesh & mesh() const
Return reference to the mesh.
const InjectionModelList< KinematicCloud< CloudType > > & injectors() const
Return const access to the injection model.
Random & rndGen() const
Return reference to the random object.
const forceType & forces() const
Optional particle forces.
const IOdictionary & outputProperties() const
Return output properties dictionary.
const IsotropyModel< KinematicCloud< CloudType > > & isotropyModel() const
Return const access to the isotropy model.
scalar linearKineticEnergyOfSystem() const
Total linear kinetic energy in the system.
const volScalarField & mu() const
Return carrier gas dynamic viscosity.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Base class for packing models.
Templated patch interaction model class.
Templated stochastic collision model class.
Templated wall surface film model class.
Stores all relevant solution info for cloud.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Dimension set for the base types, which can be used to implement rigorous dimension checking for alge...
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Field< Type > & source() noexcept
Mesh data needed to do the Finite Volume discretisation.
Base for a set of schemes which integrate simple ODEs which arise from semi-implcit rate expressions.
A class for managing temporary objects.
Calculate the finiteVolume matrix for implicit and explicit sources.
const dimensionSet dimless
Dimensionless.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
Ostream & endl(Ostream &os)
Add newline and flush stream.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
const dimensionSet dimForce
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
prefixOSstream Pout
OSstream wrapped stdout (std::cout) with parallel prefix.
const dimensionSet dimDensity
constexpr char nl
The newline '\n' character (0x0a)