Go to the documentation of this file.
51 #ifndef KinematicCloud_H
52 #define KinematicCloud_H
76 template<
class CloudType>
79 template<
class CloudType>
82 template<
class CloudType>
85 template<
class CloudType>
88 template<
class CloudType>
96 template<
class CloudType>
157 typename parcelType::constantProperties
constProps_;
246 template<
class TrackData>
247 void solve(TrackData& td);
257 template<
class TrackData>
353 inline const typename parcelType::constantProperties&
357 inline typename parcelType::constantProperties&
constProps();
503 inline scalar
penetration(
const scalar fraction)
const;
509 inline scalar
Dmax()
const;
536 const scalar lagrangianDt
543 const scalar lagrangianDt,
544 const bool fullyDescribed
586 template<
class TrackData>
587 void motion(TrackData& td);
595 const scalar trackFraction,
DimensionedField< scalar, volMesh > & UCoeff()
Return coefficient for carrier phase U equation.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
void scaleSources()
Apply scaling to (transient) cloud sources.
autoPtr< SurfaceFilmModel< KinematicCloud< CloudType > > > surfaceFilmModel_
Surface film model.
const dimensionedVector & g_
Gravity.
virtual autoPtr< Cloud< parcelType > > clone(const word &name)
Construct and return clone based on (this) with new name.
A class for handling words, derived from string.
functionType & functions()
Optional cloud function objects.
scalar penetration(const scalar fraction) const
Penetration for fraction [0-1] of the current total mass.
void setModels()
Set cloud sub-models.
A class for managing temporary objects.
autoPtr< StochasticCollisionModel< KinematicCloud< CloudType > > > stochasticCollisionModel_
Stochastic collision model.
void patchData(const parcelType &p, const polyPatch &pp, const scalar trackFraction, const tetIndices &tetIs, vector &normal, vector &Up) const
Calculate the patch normal and velocity to interact with,.
const parcelType::constantProperties & constProps() const
Return the constant properties.
const volVectorField & U_
Velocity [m/s].
autoPtr< PatchInteractionModel< KinematicCloud< CloudType > > > patchInteractionModel_
Patch interaction model.
const fvMesh & mesh() const
Return reference to the mesh.
tmp< fvVectorMatrix > SU(volVectorField &U) const
Return tmp momentum source term.
const volScalarField & mu() const
Return carrier gas dynamic viscosity.
autoPtr< vectorIntegrationScheme > UIntegrator_
Velocity integration.
void relaxSources(const KinematicCloud< CloudType > &cloudOldTime)
Apply relaxation to (steady state) cloud sources.
scalar massInSystem() const
Total mass in system.
const tmp< volScalarField > rhoEff() const
Return the particle effective density field.
const forceType & forces() const
Optional particle forces.
const SurfaceFilmModel< KinematicCloud< CloudType > > & surfaceFilm() const
Return const-access to the surface film model.
const KinematicCloud & cloudCopy() const
Return a reference to the cloud copy.
void storeState()
Store the current cloud state.
const InjectionModelList< KinematicCloud< CloudType > > & injectors() const
Return const access to the injection model.
void solve(TrackData &td)
Solve the cloud - calls all evolution functions.
This function object reads fields from the time directories and adds them to the mesh database for fu...
scalar pAmbient_
Averaged ambient domain pressure.
label nParcels() const
Total number of parcels.
A special matrix type and solver, designed for finite volume solutions of scalar equations.
const tmp< volScalarField > vDotSweep() const
Volume swept rate of parcels per cell.
void motion(TrackData &td)
Particle motion.
Top level model for Integration schemes.
scalar rotationalKineticEnergyOfSystem() const
Total rotational kinetic energy in the system.
Virtual abstract base class for templated KinematicCloud.
void evolve()
Evolve the cloud.
Templated base class for kinematic cloud.
const word & cloudName() const
Return the cloud type.
Templated patch interaction model class.
InjectionModelList< KinematicCloud< CloudType > > injectors_
Injector models.
virtual bool hasWallImpactDistance() const
Switch to specify if particles of the cloud can return.
Templated stochastic collision model class.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
Pre-declare SubField and related Field type.
autoPtr< DimensionedField< scalar, volMesh > > UCoeff_
Coefficient for carrier phase U equation.
List< DynamicList< parcelType * > > & cellOccupancy()
Return the cell occupancy information for each.
virtual ~KinematicCloud()
Destructor.
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
Templated wall surface film model class.
A patch is a list of labels that address the faces in the global face list.
DimensionedField< vector, volMesh > & UTrans()
Return reference to momentum source.
Stores all relevant solution info for cloud.
KinematicCloud< CloudType > kinematicCloudType
Convenience typedef for this cloud type.
autoPtr< List< DynamicList< parcelType * > > > cellOccupancyPtr_
Cell occupancy information for each parcel, (demand driven)
IOdictionary particleProperties_
Dictionary of particle properties.
Templated base class for dsmc cloud.
const volScalarField & mu_
Dynamic viscosity [Pa.s].
CloudFunctionObjectList< KinematicCloud< CloudType > > functionType
Function object type.
A list of keyword definitions, which are a keyword followed by any number of values (e....
const fvMesh & mesh_
References to the mesh and time databases.
void evolveCloud(TrackData &td)
Evolve the cloud.
Generic dimensioned Type class.
const vectorIntegrationScheme & UIntegrator() const
Return reference to velocity integration.
Mesh data needed to do the Finite Volume discretisation.
ParticleType particleType
const StochasticCollisionModel< KinematicCloud< CloudType > > & stochasticCollision() const
Return const-access to the stochastic collision model.
virtual void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.
const IOdictionary & particleProperties() const
Return particle properties dictionary.
const cloudSolution & solution() const
Return const access to the solution properties.
List of cloud function objects.
void resetSourceTerms()
Reset the cloud source terms.
Storage and named access for the indices of a tet which is part of the decomposition of a cell.
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
functionType functions_
Optional cloud function objects.
const DispersionModel< KinematicCloud< CloudType > > & dispersion() const
Return const-access to the dispersion model.
const dictionary subModelProperties_
Sub-models dictionary.
scalar pAmbient() const
Return const-access to the ambient pressure.
const PatchInteractionModel< KinematicCloud< CloudType > > & patchInteraction() const
Return const-access to the patch interaction model.
void cloudReset(KinematicCloud< CloudType > &c)
Reset state of cloud.
parcelType::constantProperties constProps_
Parcel constant properties.
void postEvolve()
Post-evolve.
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.
void updateMesh()
Update mesh.
cloudSolution solution_
Solution properties.
const tmp< volScalarField > theta() const
Return the particle volume fraction field.
CloudType::particleType parcelType
Type of parcel the cloud was instantiated for.
forceType forces_
Optional particle forces.
void relax(DimensionedField< Type, volMesh > &field, const DimensionedField< Type, volMesh > &field0, const word &name) const
Relax field.
KinematicCloud(const KinematicCloud &)
Disallow default bitwise copy construct.
cachedRandom rndGen_
Random number generator - used by some injection routines.
CloudType cloudType
Type of cloud this cloud was instantiated for.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const dimensionedScalar c
Speed of light in a vacuum.
scalar Dij(const label i, const label j) const
Mean diameter Dij.
void restoreState()
Reset the current cloud to the previously stored state.
void updateCellOccupancy()
Update (i.e. build) the cellOccupancy if it has.
scalarField cellLengthScale_
Cell length scale.
autoPtr< KinematicCloud< CloudType > > cloudCopyPtr_
Cloud copy pointer.
const dictionary & subModelProperties() const
Return reference to the sub-models dictionary.
void info()
Print cloud information.
void buildCellOccupancy()
Build the cellOccupancy.
const volVectorField & U() const
Return carrier gas velocity.
scalar linearKineticEnergyOfSystem() const
Total linear kinetic energy in the system.
void operator=(const KinematicCloud &)
Disallow default bitwise assignment.
autoPtr< DimensionedField< vector, volMesh > > UTrans_
Momentum.
const volScalarField & rho_
Density [kg/m3].
Generic GeometricField class.
vector linearMomentumOfSystem() const
Total linear momentum of the system.
scalar Dmax() const
Max diameter.
autoPtr< DispersionModel< KinematicCloud< CloudType > > > dispersionModel_
Dispersion model.
ParticleForceList< KinematicCloud< CloudType > > forceType
Force models type.
virtual autoPtr< Cloud< parcelType > > cloneBare(const word &name) const
Construct and return bare clone based on (this) with new name.
const IOdictionary & outputProperties() const
Return output properties dictionary.
cachedRandom & rndGen()
Return reference to the random object.
word name(const complex &)
Return a string representation of a complex.
void preEvolve()
Pre-evolve.
void scale(DimensionedField< Type, volMesh > &field, const word &name) const
Scale field.
List of injection models.
const tmp< volScalarField > alpha() const
Return the particle mass fraction field.
A normal distribution model.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
const volScalarField & rho() const
Return carrier gas density.
const scalarField & cellLengthScale() const
Return the cell length scale.
IOdictionary outputProperties_
Dictionary of output properties.