Go to the documentation of this file.
35 template<
class CloudType>
38 heatTransferModel_.reset
42 this->subModelProperties(),
52 this->
solution().integrationSchemes()
56 this->subModelProperties().readEntry(
"radiation", radiation_);
66 this->
name() +
":radAreaP",
69 IOobject::READ_IF_PRESENT,
83 this->
name() +
":radT4",
86 IOobject::READ_IF_PRESENT,
100 this->
name() +
":radAreaPT4",
103 IOobject::READ_IF_PRESENT,
114 template<
class CloudType>
117 CloudType::cloudReset(
c);
119 heatTransferModel_.reset(
c.heatTransferModel_.ptr());
120 TIntegrator_.reset(
c.TIntegrator_.ptr());
122 radiation_ =
c.radiation_;
128 template<
class CloudType>
149 cloudCopyPtr_(
nullptr),
150 constProps_(this->particleProperties()),
154 heatTransferModel_(
nullptr),
155 TIntegrator_(
nullptr),
159 radAreaPT4_(
nullptr),
166 this->
name() +
":hsTrans",
169 IOobject::READ_IF_PRESENT,
182 this->
name() +
":hsCoeff",
185 IOobject::READ_IF_PRESENT,
200 this->deleteLostParticles();
204 if (this->
solution().resetSourcesOnStartup())
211 template<
class CloudType>
220 cloudCopyPtr_(
nullptr),
221 constProps_(
c.constProps_),
225 heatTransferModel_(
c.heatTransferModel_->clone()),
226 TIntegrator_(
c.TIntegrator_->clone()),
227 radiation_(
c.radiation_),
230 radAreaPT4_(
nullptr),
237 this->
name() +
":hsTrans",
253 this->
name() +
":hsCoeff",
272 this->
name() +
":radAreaP",
289 this->
name() +
":radT4",
306 this->
name() +
":radAreaPT4",
320 template<
class CloudType>
330 cloudCopyPtr_(
nullptr),
335 heatTransferModel_(
nullptr),
336 TIntegrator_(
nullptr),
340 radAreaPT4_(
nullptr),
348 template<
class CloudType>
352 const scalar lagrangianDt
355 CloudType::setParcelThermoProperties(parcel, lagrangianDt);
357 parcel.T() = constProps_.T0();
358 parcel.Cp() = constProps_.Cp0();
362 template<
class CloudType>
366 const scalar lagrangianDt,
367 const bool fullyDescribed
370 CloudType::checkParcelProperties(parcel, lagrangianDt, fullyDescribed);
374 template<
class CloudType>
381 clone(this->
name() +
"Copy").ptr()
387 template<
class CloudType>
390 cloudReset(cloudCopyPtr_());
391 cloudCopyPtr_.clear();
395 template<
class CloudType>
398 CloudType::resetSourceTerms();
399 hsTrans_->field() = 0.0;
400 hsCoeff_->field() = 0.0;
404 radAreaP_->field() = 0.0;
405 radT4_->field() = 0.0;
406 radAreaPT4_->field() = 0.0;
411 template<
class CloudType>
417 CloudType::relaxSources(cloudOldTime);
424 this->
relax(radAreaP_(), cloudOldTime.
radAreaP(),
"radiation");
425 this->
relax(radT4_(), cloudOldTime.
radT4(),
"radiation");
431 template<
class CloudType>
434 CloudType::scaleSources();
436 this->scale(hsTrans_(),
"h");
437 this->scale(hsCoeff_(),
"h");
441 this->scale(radAreaP_(),
"radiation");
442 this->scale(radT4_(),
"radiation");
443 this->scale(radAreaPT4_(),
"radiation");
448 template<
class CloudType>
451 CloudType::preEvolve();
453 this->pAmbient() = thermo_.thermo().p().average().value();
457 template<
class CloudType>
462 typename parcelType::trackingData td(*
this);
464 this->
solve(*
this, td);
469 template<
class CloudType>
478 template<
class CloudType>
483 Info<<
" Temperature min/max = " << Tmin() <<
", " << Tmax()
void evolve()
Evolve the cloud.
Defines the attributes of an object for which implicit objectRegistry management is supported,...
Virtual abstract base class for templated ThermoCloud.
Selector class for relaxation factors, solver type and solution.
const word cloudName(propsDict.get< word >("cloud"))
A class for handling words, derived from Foam::string.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package,...
static constexpr const zero Zero
Global zero.
const dimensionSet dimEnergy
void scaleSources()
Apply scaling to (transient) cloud sources.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
Ostream & endl(Ostream &os)
Add newline and flush stream.
ParticleType parcelType
Parcels are just particles.
dimensioned< Type > T() const
Return transpose.
Templated heat transfer model class.
void restoreState()
Reset the current cloud to the previously stored state.
dimensionedScalar pow4(const dimensionedScalar &ds)
const dimensionSet dimArea(sqr(dimLength))
void cloudReset(ThermoCloud< CloudType > &c)
Reset state of cloud.
messageStream Info
Information stream (uses stdout - output is on the master only)
word name(const complex &c)
Return string representation of complex.
volScalarField::Internal & radAreaPT4()
Radiation sum of parcel projected area*temperature^4 [m2K4].
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
volScalarField::Internal & hsCoeff()
Return coefficient for carrier phase hs equation.
void resetSourceTerms()
Reset the cloud source terms.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.
DSMCCloud< dsmcParcel > CloudType
Mesh data needed to do the Finite Volume discretisation.
const uniformDimensionedVectorField & g
virtual void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const wordHashSet &selectedFields, LIFOStack< regIOobject * > &storedObjects)
Read the selected GeometricFields of the templated type.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
Global function forwards to reuseTmpDimensionedField::New.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
void setModels()
Set cloud sub-models.
void info()
Print cloud information.
Templated base class for thermodynamic cloud.
Base cloud calls templated on particle type.
volScalarField::Internal & radT4()
Radiation sum of parcel temperature^4 [K4].
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const dimensionedScalar c
Speed of light in a vacuum.
void relaxSources(const ThermoCloud< CloudType > &cloudOldTime)
Apply relaxation to (steady state) cloud sources.
void storeState()
Store the current cloud state.
void preEvolve()
Pre-evolve.
volScalarField::Internal & radAreaP()
Radiation sum of parcel projected areas [m2].
volScalarField::Internal & hsTrans()
Sensible enthalpy transfer [J/kg].
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...