36template<
class CloudType>
39 heatTransferModel_.reset
43 this->subModelProperties(),
50 integrationScheme::New
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,
115template<
class CloudType>
118 CloudType::cloudReset(c);
120 heatTransferModel_.reset(c.heatTransferModel_.ptr());
121 TIntegrator_.reset(c.TIntegrator_.ptr());
123 radiation_ = c.radiation_;
129template<
class CloudType>
150 cloudCopyPtr_(nullptr),
151 constProps_(this->particleProperties()),
155 heatTransferModel_(nullptr),
156 TIntegrator_(nullptr),
160 radAreaPT4_(nullptr),
167 this->
name() +
":hsTrans",
183 this->
name() +
":hsCoeff",
201 this->deleteLostParticles();
205 if (this->
solution().resetSourcesOnStartup())
212template<
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",
321template<
class CloudType>
331 cloudCopyPtr_(nullptr),
336 heatTransferModel_(nullptr),
337 TIntegrator_(nullptr),
341 radAreaPT4_(nullptr),
349template<
class CloudType>
353 const scalar lagrangianDt
358 parcel.T() = constProps_.T0();
359 parcel.Cp() = constProps_.Cp0();
363template<
class CloudType>
367 const scalar lagrangianDt,
368 const bool fullyDescribed
375template<
class CloudType>
382 clone(this->
name() +
"Copy").ptr()
388template<
class CloudType>
391 cloudReset(cloudCopyPtr_());
392 cloudCopyPtr_.clear();
396template<
class CloudType>
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;
412template<
class CloudType>
425 this->
relax(radAreaP_(), cloudOldTime.
radAreaP(),
"radiation");
426 this->
relax(radT4_(), cloudOldTime.
radT4(),
"radiation");
432template<
class CloudType>
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");
449template<
class CloudType>
457 this->pAmbient() = thermo_.thermo().p().average().value();
461template<
class CloudType>
468 this->
solve(*
this, td);
473template<
class CloudType>
482template<
class CloudType>
487 Info<<
" Temperature min/max = " << Tmin() <<
", " << Tmax()
const uniformDimensionedVectorField & g
void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
Templated base class for dsmc cloud.
void info() const
Print cloud information.
Templated class to calculate the fluid-particle heat transfer coefficients based on a specified Nusse...
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const word & name() const noexcept
Return the object name.
const objectRegistry & db() const noexcept
Return the local objectRegistry.
void relaxSources(const KinematicCloud< CloudType > &cloudOldTime)
Apply relaxation to (steady state) cloud sources.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
void scaleSources()
Apply scaling to (transient) cloud sources.
void preEvolve(const typename parcelType::trackingData &td)
Pre-evolve.
void resetSourceTerms()
Reset the cloud source terms.
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package,...
Templated base class for thermodynamic cloud.
volScalarField::Internal & radAreaP()
Radiation sum of parcel projected areas [m2].
void setModels()
Set cloud sub-models.
volScalarField::Internal & hsCoeff()
Return coefficient for carrier phase hs equation.
volScalarField::Internal & radAreaPT4()
Radiation sum of parcel projected area*temperature^4 [m2K4].
void storeState()
Store the current cloud state.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
volScalarField::Internal & radT4()
Radiation sum of parcel temperature^4 [K4].
void relaxSources(const ThermoCloud< CloudType > &cloudOldTime)
Apply relaxation to (steady state) cloud sources.
autoPtr< volScalarField::Internal > radT4_
Radiation sum of parcel temperature^4.
void scaleSources()
Apply scaling to (transient) cloud sources.
CloudType::particleType parcelType
Type of parcel the cloud was instantiated for.
Switch radiation_
Include radiation.
virtual void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
void cloudReset(ThermoCloud< CloudType > &c)
Reset state of cloud.
void evolve()
Evolve the cloud.
autoPtr< volScalarField::Internal > radAreaPT4_
Radiation sum of parcel projected areas * temperature^4.
volScalarField::Internal & hsTrans()
Sensible enthalpy transfer [J/kg].
void preEvolve(const typename parcelType::trackingData &td)
Pre-evolve.
void info()
Print cloud information.
void restoreState()
Reset the current cloud to the previously stored state.
void resetSourceTerms()
Reset the cloud source terms.
autoPtr< volScalarField::Internal > radAreaP_
Radiation sum of parcel projected areas.
Class used to pass data into container.
Reads fields from the time directories and adds them to the mesh database for further post-processing...
Mesh data needed to do the Finite Volume discretisation.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
const Time & time() const noexcept
Return time registry.
Selector class for relaxation factors, solver type and solution.
Virtual abstract base class for templated ThermoCloud.
Basic thermodynamics type based on the use of fitting functions for cp, h, s obtained from the templa...
A class for handling words, derived from Foam::string.
const volScalarField & mu
dimensionedSymmTensor sqr(const dimensionedVector &dv)
const dimensionSet dimEnergy
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
const dimensionSet dimArea(sqr(dimLength))
messageStream Info
Information stream (stdout output on master, null elsewhere)
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const wordHashSet &selectedFields, LIFOStack< regIOobject * > &storedObjects)
Read the selected GeometricFields of the templated type.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
dimensionedScalar pow4(const dimensionedScalar &ds)
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for INVALID.
const word cloudName(propsDict.get< word >("cloud"))