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