33 template<
class CloudType>
36 compositionModel_.reset
40 this->subModelProperties(),
45 phaseChangeModel_.reset
49 this->subModelProperties(),
56 template<
class CloudType>
68 "ReactingCloud<CloudType>::checkSuppliedComposition" 70 "const scalarField&, " 71 "const scalarField&, " 74 ) << YName <<
" supplied, but size is not compatible with " 75 <<
"parcel composition: " <<
nl <<
" " 76 << YName <<
"(" << YSupplied.
size() <<
") vs required composition " 77 << YName <<
"(" << Y.
size() <<
")" <<
nl 83 template<
class CloudType>
86 CloudType::cloudReset(c);
95 template<
class CloudType>
98 const word& cloudName,
106 CloudType(cloudName, rho, U, g, thermo,
false),
109 constProps_(this->particleProperties()),
110 compositionModel_(NULL),
111 phaseChangeModel_(NULL),
135 this->
name() +
":rhoTrans_" + specieName,
138 IOobject::READ_IF_PRESENT,
147 if (this->
solution().resetSourcesOnStartup())
154 template<
class CloudType>
171 const word& specieName = this->
thermo().carrier().species()[i];
179 this->
name() +
":rhoTrans_" + specieName,
193 template<
class CloudType>
207 phaseChangeModel_(NULL),
214 template<
class CloudType>
221 template<
class CloudType>
225 const scalar lagrangianDt
228 CloudType::setParcelThermoProperties(parcel, lagrangianDt);
230 parcel.pc() = this->
thermo().thermo().p()[parcel.cell()];
235 template<
class CloudType>
239 const scalar lagrangianDt,
240 const bool fullyDescribed
243 CloudType::checkParcelProperties(parcel, lagrangianDt, fullyDescribed);
247 checkSuppliedComposition
256 parcel.mass0() = parcel.mass();
260 template<
class CloudType>
267 clone(this->
name() +
"Copy").ptr()
273 template<
class CloudType>
276 cloudReset(cloudCopyPtr_());
277 cloudCopyPtr_.clear();
281 template<
class CloudType>
284 CloudType::resetSourceTerms();
287 rhoTrans_[i].field() = 0.0;
292 template<
class CloudType>
298 CloudType::relaxSources(cloudOldTime);
304 dsfType& rhoT = rhoTrans_[fieldI];
305 const dsfType& rhoT0 = cloudOldTime.
rhoTrans()[fieldI];
306 this->
relax(rhoT, rhoT0,
"rho");
311 template<
class CloudType>
314 CloudType::scaleSources();
320 dsfType& rhoT = rhoTrans_[fieldI];
321 this->scale(rhoT,
"rho");
326 template<
class CloudType>
331 typename parcelType::template
332 TrackingData<ReactingCloud<CloudType> > td(*
this);
339 template<
class CloudType>
352 template<
class CloudType>
357 this->phaseChange().info(
Info);
361 template<
class CloudType>
366 CloudType::particleType::writeFields(*
this, this->
composition());
const basicSpecieMixture & carrier() const
Return reference to the gaseous components.
Mesh data needed to do the Finite Volume discretisation.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
word name(const complex &)
Return a string representation of a complex.
virtual void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
void cloudReset(ReactingCloud< CloudType > &c)
Reset state of cloud.
Virtual abstract base class for templated ReactingCloud.
A class for handling words, derived from string.
void size(const label)
Override size to be inconsistent with allocated storage.
void info()
Print cloud information.
DSMCCloud< dsmcParcel > CloudType
PtrList< DimensionedField< scalar, volMesh > > rhoTrans_
Mass transfer fields - one per carrier phase specie.
void resetSourceTerms()
Reset the cloud source terms.
Selector class for relaxation factors, solver type and solution.
Templated phase change model class.
autoPtr< BasicCompressibleTurbulenceModel > New(const volScalarField &rho, const volVectorField &U, const surfaceScalarField &phi, const typename BasicCompressibleTurbulenceModel::transportModel &transport, const word &propertiesName)
ParcelType parcelType
Type of parcel the cloud was instantiated for.
void evolve()
Evolve the cloud.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package, and provides:
DimensionedField< scalar, volMesh > & rhoTrans(const label i)
Mass.
Templated base class for reacting cloud.
autoPtr< PhaseChangeModel< ReactingCloud< CloudType > > > phaseChangeModel_
Reacting phase change model.
basicMultiComponentMixture & composition
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
void readFields(const Mesh &mesh, const IOobjectList &objects, PtrList< GeoField > &fields)
void restoreState()
Reset the current cloud to the previously stored state.
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.
virtual void writeFields() const
Write the field data for the cloud.
parcelType::constantProperties constProps_
Parcel constant properties.
autoPtr< CompositionModel< ReactingCloud< CloudType > > > compositionModel_
Reacting composition model.
const dimensionSet dimMass(1, 0, 0, 0, 0, 0, 0)
errorManip< error > abort(error &err)
#define FatalErrorIn(functionName)
Report an error message using Foam::FatalError.
void scaleSources()
Apply scaling to (transient) cloud sources.
Templated reacting parcel composition model class Consists of carrier species (via thermo package)...
virtual ~ReactingCloud()
Destructor.
Base cloud calls templated on particle type.
void setModels()
Set cloud sub-models.
psiReactionThermo & thermo
const speciesTable & species() const
Return the table of species.
void checkSuppliedComposition(const scalarField &YSupplied, const scalarField &Y, const word &YName)
Check that size of a composition field is valid.
void storeState()
Store the current cloud state.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
void relaxSources(const ReactingCloud< CloudType > &cloudOldTime)
Apply relaxation to (steady state) cloud sources.