Go to the documentation of this file.
36 template<
class CloudType>
39 heatTransferModel_.reset
43 this->subModelProperties(),
53 this->
solution().integrationSchemes()
57 this->subModelProperties().readEntry(
"radiation", radiation_);
67 this->
name() +
":radAreaP",
70 IOobject::READ_IF_PRESENT,
84 this->
name() +
":radT4",
87 IOobject::READ_IF_PRESENT,
101 this->
name() +
":radAreaPT4",
104 IOobject::READ_IF_PRESENT,
115 template<
class CloudType>
118 CloudType::cloudReset(
c);
120 heatTransferModel_.reset(
c.heatTransferModel_.ptr());
121 TIntegrator_.reset(
c.TIntegrator_.ptr());
123 radiation_ =
c.radiation_;
129 template<
class CloudType>
150 cloudCopyPtr_(
nullptr),
151 constProps_(this->particleProperties()),
155 heatTransferModel_(
nullptr),
156 TIntegrator_(
nullptr),
160 radAreaPT4_(
nullptr),
167 this->
name() +
":hsTrans",
170 IOobject::READ_IF_PRESENT,
183 this->
name() +
":hsCoeff",
186 IOobject::READ_IF_PRESENT,
201 this->deleteLostParticles();
205 if (this->
solution().resetSourcesOnStartup())
212 template<
class CloudType>
221 cloudCopyPtr_(
nullptr),
222 constProps_(
c.constProps_),
226 heatTransferModel_(
c.heatTransferModel_->clone()),
227 TIntegrator_(
c.TIntegrator_->clone()),
228 radiation_(
c.radiation_),
231 radAreaPT4_(
nullptr),
238 this->
name() +
":hsTrans",
254 this->
name() +
":hsCoeff",
273 this->
name() +
":radAreaP",
290 this->
name() +
":radT4",
307 this->
name() +
":radAreaPT4",
321 template<
class CloudType>
331 cloudCopyPtr_(
nullptr),
336 heatTransferModel_(
nullptr),
337 TIntegrator_(
nullptr),
341 radAreaPT4_(
nullptr),
349 template<
class CloudType>
353 const scalar lagrangianDt
356 CloudType::setParcelThermoProperties(parcel, lagrangianDt);
358 parcel.T() = constProps_.T0();
359 parcel.Cp() = constProps_.Cp0();
363 template<
class CloudType>
367 const scalar lagrangianDt,
368 const bool fullyDescribed
371 CloudType::checkParcelProperties(parcel, lagrangianDt, fullyDescribed);
375 template<
class CloudType>
382 clone(this->
name() +
"Copy").ptr()
388 template<
class CloudType>
391 cloudReset(cloudCopyPtr_());
392 cloudCopyPtr_.clear();
396 template<
class CloudType>
399 CloudType::resetSourceTerms();
400 hsTrans_->field() = 0.0;
401 hsCoeff_->field() = 0.0;
405 radAreaP_->field() = 0.0;
406 radT4_->field() = 0.0;
407 radAreaPT4_->field() = 0.0;
412 template<
class CloudType>
418 CloudType::relaxSources(cloudOldTime);
425 this->
relax(radAreaP_(), cloudOldTime.
radAreaP(),
"radiation");
426 this->
relax(radT4_(), cloudOldTime.
radT4(),
"radiation");
432 template<
class CloudType>
435 CloudType::scaleSources();
437 this->scale(hsTrans_(),
"h");
438 this->scale(hsCoeff_(),
"h");
442 this->scale(radAreaP_(),
"radiation");
443 this->scale(radT4_(),
"radiation");
444 this->scale(radAreaPT4_(),
"radiation");
449 template<
class CloudType>
452 const typename parcelType::trackingData& td
455 CloudType::preEvolve(td);
457 this->pAmbient() = thermo_.thermo().p().average().value();
461 template<
class CloudType>
466 typename parcelType::trackingData td(*
this);
468 this->
solve(*
this, td);
473 template<
class CloudType>
482 template<
class CloudType>
487 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 (0)
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 class to calculate the fluid-particle heat transfer coefficients based on a specified Nusse...
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.
void preEvolve(const typename parcelType::trackingData &td)
Pre-evolve.
messageStream Info
Information stream (stdout output on master, null elsewhere)
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.
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
void relaxSources(const ThermoCloud< CloudType > &cloudOldTime)
Apply relaxation to (steady state) cloud sources.
void storeState()
Store the current cloud state.
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...