31 template<
class CloudType>
35 return cloudCopyPtr_();
39 template<
class CloudType>
46 template<
class CloudType>
50 return particleProperties_;
54 template<
class CloudType>
58 return outputProperties_;
62 template<
class CloudType>
65 return outputProperties_;
69 template<
class CloudType>
77 template<
class CloudType>
84 template<
class CloudType>
85 inline const typename CloudType::particleType::constantProperties&
92 template<
class CloudType>
93 inline typename CloudType::particleType::constantProperties&
100 template<
class CloudType>
104 return subModelProperties_;
108 template<
class CloudType>
115 template<
class CloudType>
122 template<
class CloudType>
129 template<
class CloudType>
136 template<
class CloudType>
143 template<
class CloudType>
150 template<
class CloudType>
159 template<
class CloudType>
167 template<
class CloudType>
175 template<
class CloudType>
183 template<
class CloudType>
191 template<
class CloudType>
195 return dispersionModel_;
199 template<
class CloudType>
203 return dispersionModel_();
207 template<
class CloudType>
211 return patchInteractionModel_;
215 template<
class CloudType>
219 return patchInteractionModel_();
223 template<
class CloudType>
227 return stochasticCollisionModel_();
231 template<
class CloudType>
235 return stochasticCollisionModel_();
239 template<
class CloudType>
243 return surfaceFilmModel_();
247 template<
class CloudType>
251 return surfaceFilmModel_();
255 template<
class CloudType>
263 template<
class CloudType>
270 template<
class CloudType>
273 scalar sysMass = 0.0;
277 sysMass += p.nParticle()*p.mass();
284 template<
class CloudType>
294 linearMomentum += p.nParticle()*p.mass()*p.U();
297 return linearMomentum;
301 template<
class CloudType>
305 scalar linearKineticEnergy = 0.0;
311 linearKineticEnergy += p.nParticle()*0.5*p.mass()*(p.U() & p.U());
314 return linearKineticEnergy;
318 template<
class CloudType>
330 si += p.nParticle()*
pow(p.d(), i);
331 sj += p.nParticle()*
pow(p.d(), j);
336 sj =
max(sj, VSMALL);
342 template<
class CloudType>
358 template<
class CloudType>
365 template<
class CloudType>
369 if (cellOccupancyPtr_.empty())
371 buildCellOccupancy();
374 return cellOccupancyPtr_();
378 template<
class CloudType>
382 return cellLengthScale_;
386 template<
class CloudType>
394 template<
class CloudType>
402 template<
class CloudType>
410 template<
class CloudType>
418 template<
class CloudType>
424 Info<<
"UTrans min/max = " <<
min(UTrans()).value() <<
", " 425 <<
max(UTrans()).value() <<
nl 426 <<
"UCoeff min/max = " <<
min(UCoeff()).value() <<
", " 427 <<
max(UCoeff()).value() <<
endl;
430 if (solution_.coupled())
432 if (solution_.semiImplicit(
"U"))
435 Vdt(mesh_.V()*this->db().time().deltaT());
437 return UTrans()/Vdt -
fvm::Sp(UCoeff()/Vdt, U) + UCoeff()/Vdt*
U;
444 fvm.
source() = -UTrans()/(this->db().time().deltaT());
454 template<
class CloudType>
464 this->
name() +
":vDotSweep",
473 extrapolatedCalculatedFvPatchScalarField::typeName
481 const label celli = p.cell();
483 vDotSweep[celli] += p.nParticle()*p.areaP()*
mag(p.U() - U_[celli]);
493 template<
class CloudType>
503 this->
name() +
":theta",
512 extrapolatedCalculatedFvPatchScalarField::typeName
520 const label celli = p.cell();
522 theta[celli] += p.nParticle()*p.volume();
532 template<
class CloudType>
542 this->
name() +
":alpha",
558 const label celli = p.cell();
560 alpha[celli] += p.nParticle()*p.mass();
563 alpha /= (mesh_.V()*rho_);
569 template<
class CloudType>
579 this->
name() +
":rhoEff",
595 const label celli = p.cell();
597 rhoEff[celli] += p.nParticle()*p.mass();
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
const DispersionModel< KinematicCloud< CloudType > > & dispersion() const
Return const-access to the dispersion model.
scalar Dij(const label i, const label j) const
Mean diameter Dij.
const volScalarField & mu() const
Return carrier gas dynamic viscosity.
A list of keyword definitions, which are a keyword followed by any number of values (e...
dimensioned< Type > max(const dimensioned< Type > &, const dimensioned< Type > &)
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
const tmp< volScalarField > theta() const
Return the particle volume fraction field.
const tmp< volScalarField > rhoEff() const
Return the particle effective density field.
Ostream & endl(Ostream &os)
Add newline and flush stream.
DimensionedField< vector, volMesh > & UTrans()
Return reference to momentum source.
tmp< GeometricField< Type, fvPatchField, volMesh > > Sp(const volScalarField &sp, const GeometricField< Type, fvPatchField, volMesh > &vf)
const forceType & forces() const
Optional particle forces.
List< DynamicList< parcelType * > > & cellOccupancy()
Return the cell occupancy information for each.
const scalarField & cellLengthScale() const
Return the cell length scale.
Templated patch interaction model class.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
const cloudSolution & solution() const
Return const access to the solution properties.
const vectorIntegrationScheme & UIntegrator() const
Return reference to velocity integration.
DimensionedField< scalar, volMesh > & UCoeff()
Return coefficient for carrier phase U equation.
scalar pAmbient() const
Return const-access to the ambient pressure.
const InjectionModelList< KinematicCloud< CloudType > > & injectors() const
Return const access to the injection model.
const dimensionedVector & g() const
Gravity.
List of injection models.
const fvMesh & mesh() const
Return reference to the mesh.
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
const StochasticCollisionModel< KinematicCloud< CloudType > > & stochasticCollision() const
Return const-access to the stochastic collision model.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
scalar linearKineticEnergyOfSystem() const
Total linear kinetic energy in the system.
cachedRandom & rndGen()
Return reference to the random object.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
const dimensionSet dimForce
Internal::FieldType & primitiveFieldRef()
Return a reference to the internal field.
const IOdictionary & outputProperties() const
Return output properties dictionary.
const KinematicCloud & cloudCopy() const
Return a reference to the cloud copy.
Templated wall surface film model class.
dimensioned< Type > min(const dimensioned< Type > &, const dimensioned< Type > &)
void reduce(const List< UPstream::commsStruct > &comms, T &Value, const BinaryOp &bop, const int tag, const label comm)
tmp< fvVectorMatrix > SU(volVectorField &U) const
Return tmp momentum source term.
word name(const complex &)
Return a string representation of a complex.
const dimensionSet dimDensity
const IOdictionary & particleProperties() const
Return particle properties dictionary.
label nParcels() const
Total number of parcels.
const volVectorField & U() const
Return carrier gas velocity.
dimensionedScalar pow(const dimensionedScalar &ds, const dimensionedScalar &expt)
Templated base class for kinematic cloud.
Stores all relevant solution info for cloud.
const dimensionSet dimless(0, 0, 0, 0, 0, 0, 0)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
const PatchInteractionModel< KinematicCloud< CloudType > > & patchInteraction() const
Return const-access to the patch interaction model.
Templated stochastic collision model class.
Mesh data needed to do the Finite Volume discretisation.
fvMatrix< vector > fvVectorMatrix
Top level model for Integration schemes.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const dimensionSet dimTime(0, 0, 1, 0, 0, 0, 0)
void correctBoundaryConditions()
Correct boundary field.
scalar massInSystem() const
Total mass in system.
const tmp< volScalarField > vDotSweep() const
Volume swept rate of parcels per cell.
dimensioned< scalar > mag(const dimensioned< Type > &)
const parcelType::constantProperties & constProps() const
Return the constant properties.
A class for managing temporary objects.
T & ref() const
Return non-const reference or generate a fatal error.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
const tmp< volScalarField > alpha() const
Return the particle mass fraction field.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
functionType & functions()
Optional cloud function objects.
vector linearMomentumOfSystem() const
Total linear momentum of the system.
const SurfaceFilmModel< KinematicCloud< CloudType > > & surfaceFilm() const
Return const-access to the surface film model.
scalar Dmax() const
Max diameter.
const volScalarField & rho() const
Return carrier gas density.
Calculate the matrix for implicit and explicit sources.
const dictionary & subModelProperties() const
Return reference to the sub-models dictionary.