33 template<
class CloudType>
36 heatTransferModel_.reset
40 this->subModelProperties(),
50 this->
solution().integrationSchemes()
56 this->subModelProperties().lookup(
"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,
120 template<
class CloudType>
123 CloudType::cloudReset(c);
134 template<
class CloudType>
137 const word& cloudName,
156 constProps_(this->particleProperties()),
160 heatTransferModel_(NULL),
172 this->
name() +
":hsTrans",
175 IOobject::READ_IF_PRESENT,
188 this->
name() +
":hsCoeff",
191 IOobject::READ_IF_PRESENT,
209 if (this->
solution().resetSourcesOnStartup())
216 template<
class CloudType>
242 this->
name() +
":hsTrans",
258 this->
name() +
":hsCoeff",
277 this->
name() +
":radAreaP",
294 this->
name() +
":radT4",
311 this->
name() +
":radAreaPT4",
325 template<
class CloudType>
340 heatTransferModel_(NULL),
353 template<
class CloudType>
360 template<
class CloudType>
364 const scalar lagrangianDt
367 CloudType::setParcelThermoProperties(parcel, lagrangianDt);
369 parcel.T() = constProps_.T0();
370 parcel.Cp() = constProps_.Cp0();
374 template<
class CloudType>
378 const scalar lagrangianDt,
379 const bool fullyDescribed
382 CloudType::checkParcelProperties(parcel, lagrangianDt, fullyDescribed);
386 template<
class CloudType>
393 clone(this->
name() +
"Copy").ptr()
399 template<
class CloudType>
402 cloudReset(cloudCopyPtr_());
403 cloudCopyPtr_.clear();
407 template<
class CloudType>
410 CloudType::resetSourceTerms();
411 hsTrans_->field() = 0.0;
412 hsCoeff_->field() = 0.0;
416 radAreaP_->field() = 0.0;
417 radT4_->field() = 0.0;
418 radAreaPT4_->field() = 0.0;
423 template<
class CloudType>
429 CloudType::relaxSources(cloudOldTime);
436 this->
relax(radAreaP_(), cloudOldTime.
radAreaP(),
"radiation");
437 this->
relax(radT4_(), cloudOldTime.
radT4(),
"radiation");
443 template<
class CloudType>
446 CloudType::scaleSources();
448 this->scale(hsTrans_(),
"h");
449 this->scale(hsCoeff_(),
"h");
453 this->scale(radAreaP_(),
"radiation");
454 this->scale(radT4_(),
"radiation");
455 this->scale(radAreaPT4_(),
"radiation");
460 template<
class CloudType>
463 CloudType::preEvolve();
465 this->pAmbient() = thermo_.thermo().p().average().value();
469 template<
class CloudType>
474 typename parcelType::template
475 TrackingData<ThermoCloud<CloudType>> td(*
this);
482 template<
class CloudType>
495 template<
class CloudType>
500 Info<<
" Temperature min/max = " << Tmin() <<
", " << Tmax()
Switch radiation_
Include radiation.
virtual tmp< volScalarField > mu() const =0
Dynamic viscosity of mixture [kg/m/s].
DSMCCloud< dsmcParcel > CloudType
const SLGThermo & thermo_
SLG thermodynamics package.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.
Templated heat transfer model class.
DimensionedField< scalar, volMesh > & hsTrans()
Sensible enthalpy transfer [J/kg].
dimensionedSymmTensor sqr(const dimensionedVector &dv)
void restoreState()
Reset the current cloud to the previously stored state.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const SLGThermo & thermo() const
Return const access to thermo package.
DimensionedField< scalar, volMesh > & radAreaPT4()
Radiation sum of parcel projected area*temperature^4 [m2K4].
void cloudReset(ThermoCloud< CloudType > &c)
Reset state of cloud.
void preEvolve()
Pre-evolve.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Templated base class for thermodynamic cloud.
void readFields(const typename GeoFieldType::Mesh &mesh, const IOobjectList &objects, const HashSet< word > &selectedFields, LIFOStack< regIOobject * > &storedObjects)
Read the selected GeometricFields of the specified type.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh >> &tdf1, const word &name, const dimensionSet &dimensions)
parcelType::constantProperties constProps_
Thermo parcel constant properties.
virtual volScalarField & p()
Pressure [Pa].
DimensionedField< scalar, volMesh > & radAreaP()
Radiation sum of parcel projected areas [m2].
DimensionedField< scalar, volMesh > & radT4()
Radiation sum of parcel temperature^4 [K4].
virtual void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
autoPtr< scalarIntegrationScheme > TIntegrator_
Temperature integration.
A class for handling words, derived from string.
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package, and provides:
Base cloud calls templated on particle type.
ParcelType parcelType
Type of parcel the cloud was instantiated for.
virtual const volScalarField & T() const
Temperature [K].
const dimensionedVector & g
Virtual abstract base class for templated ThermoCloud.
word name(const complex &)
Return a string representation of a complex.
const dimensionSet dimEnergy
const volScalarField & T() const
Return const access to the carrier temperature field.
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
void resetSourceTerms()
Reset the cloud source terms.
void evolve()
Evolve the cloud.
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
void info()
Print cloud information.
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...
dimensionedScalar pow4(const dimensionedScalar &ds)
void scaleSources()
Apply scaling to (transient) cloud sources.
const volScalarField & p() const
Return const access to the carrier prressure field.
Selector class for relaxation factors, solver type and solution.
autoPtr< HeatTransferModel< ThermoCloud< CloudType > > > heatTransferModel_
Heat transfer model.
DimensionedField< scalar, volMesh > & hsCoeff()
Return coefficient for carrier phase hs equation.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
const fluidThermo & thermo() const
Return reference to the thermo database.
void storeState()
Store the current cloud state.
void setModels()
Set cloud sub-models.
const dimensionSet dimArea(sqr(dimLength))
void relaxSources(const ThermoCloud< CloudType > &cloudOldTime)
Apply relaxation to (steady state) cloud sources.
virtual ~ThermoCloud()
Destructor.