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.
void checkParcelProperties(parcelType &parcel, const scalar lagrangianDt, const bool fullyDescribed)
Check parcel properties.
void relaxSources(const ThermoCloud< CloudType > &cloudOldTime)
Apply relaxation to (steady state) cloud sources.
const volScalarField & p() const
Return const access to the carrier prressure field.
void preEvolve()
Pre-evolve.
Mesh data needed to do the Finite Volume discretisation.
virtual void autoMap(const mapPolyMesh &)
Remap the cells of particles corresponding to the.
virtual const volScalarField & T() const
Temperature [K].
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
void resetSourceTerms()
Reset the cloud source terms.
void evolve()
Evolve the cloud.
word name(const complex &)
Return a string representation of a complex.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
void restoreState()
Reset the current cloud to the previously stored state.
const dimensionSet dimArea(sqr(dimLength))
A class for handling words, derived from string.
const fluidThermo & thermo() const
Return reference to the thermo database.
virtual volScalarField & p()
Pressure [Pa].
const dimensionSet dimEnergy
void storeState()
Store the current cloud state.
DSMCCloud< dsmcParcel > CloudType
virtual tmp< volScalarField > mu() const =0
Dynamic viscosity of mixture [kg/m/s].
const dimensionSet dimLength(0, 1, 0, 0, 0, 0, 0)
Selector class for relaxation factors, solver type and solution.
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.
DimensionedField< scalar, volMesh > & radAreaPT4()
Radiation sum of parcel projected area*temperature^4 [m2K4].
Thermo package for (S)olids (L)iquids and (G)ases Takes reference to thermo package, and provides:
Virtual abstract base class for templated ThermoCloud.
Ostream & endl(Ostream &os)
Add newline and flush stream.
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 cloudReset(ThermoCloud< CloudType > &c)
Reset state of cloud.
void scaleSources()
Apply scaling to (transient) cloud sources.
DimensionedField< scalar, volMesh > & radT4()
Radiation sum of parcel temperature^4 [K4].
DimensionedField< scalar, volMesh > & radAreaP()
Radiation sum of parcel projected areas [m2].
const volScalarField & T() const
Return const access to the carrier temperature field.
const SLGThermo & thermo() const
Return const access to thermo package.
const SLGThermo & thermo_
SLG thermodynamics package.
const dimensionedVector & g
autoPtr< HeatTransferModel< ThermoCloud< CloudType > > > heatTransferModel_
Heat transfer model.
Templated base class for thermodynamic cloud.
DimensionedField< scalar, volMesh > & hsTrans()
Sensible enthalpy transfer [J/kg].
dimensionedScalar pow4(const dimensionedScalar &ds)
const dimensionSet dimTemperature(0, 0, 0, 1, 0, 0, 0)
autoPtr< scalarIntegrationScheme > TIntegrator_
Temperature integration.
Base cloud calls templated on particle type.
void info()
Print cloud information.
dimensionedSymmTensor sqr(const dimensionedVector &dv)
parcelType::constantProperties constProps_
Thermo parcel constant properties.
void setParcelThermoProperties(parcelType &parcel, const scalar lagrangianDt)
Set parcel thermo properties.
Templated heat transfer model class.
void setModels()
Set cloud sub-models.
dimensioned< scalar > dimensionedScalar
Dimensioned scalar obtained from generic dimensioned type.
virtual ~ThermoCloud()
Destructor.
DimensionedField< scalar, volMesh > & hsCoeff()
Return coefficient for carrier phase hs equation.