45 #ifndef ThermoParcel_H 46 #define ThermoParcel_H 57 template<
class ParcelType>
60 template<
class ParcelType>
71 template<
class ParcelType>
85 public ParcelType::constantProperties
128 inline scalar
T0()
const;
131 inline scalar
TMin()
const;
134 inline scalar
TMax()
const;
141 inline scalar
Cp0()
const;
149 inline scalar
f0()
const;
155 public ParcelType::trackingData
196 typedef typename ParcelType::trackingData::trackPart
trackPart;
201 template <
class TrackCloudType>
204 const TrackCloudType&
cloud,
205 trackPart part = ParcelType::trackingData::tpLinearTrack
234 inline scalar
Tc()
const;
240 inline scalar
Cpc()
const;
243 inline scalar&
Cpc();
263 template<
class TrackCloudType>
266 TrackCloudType&
cloud,
304 const label tetFacei,
323 const label tetFacei,
326 const scalar nParticle0,
328 const scalar dTarget0,
331 const vector& angularMomentum0,
342 bool newFormat =
true 366 const polyMesh& mesh_;
375 autoPtr<ThermoParcel<ParcelType>>
operator()(Istream& is)
const 377 return autoPtr<ThermoParcel<ParcelType>>
379 new ThermoParcel<ParcelType>(mesh_, is,
true)
390 inline scalar
T()
const;
393 inline scalar
Cp()
const;
396 inline scalar
hs()
const;
411 template<
class TrackCloudType>
415 template<
class TrackCloudType>
418 TrackCloudType& cloud,
424 template<
class TrackCloudType>
427 TrackCloudType& cloud,
438 template<
class TrackCloudType>
441 TrackCloudType& cloud,
450 template<
class CloudType>
454 template<
class CloudType>
463 const bool namesOnly =
false 467 template<
class CloudType>
471 template<
class CloudType>
477 friend Ostream& operator<< <ParcelType>
ParcelType::trackingData::trackPart trackPart
dimensionedScalar Pr("Pr", dimless, laminarTransport)
const interpolation< scalar > & kappaInterp() const
Return const access to the interpolator for continuous.
scalar T0() const
Return const access to the particle initial temperature [K].
DSMCCloud< dsmcParcel > CloudType
scalar TMin() const
Return const access to minimum temperature [K].
A list of keyword definitions, which are a keyword followed by a number of values (eg...
scalar Cp_
Specific heat capacity [J/(kg.K)].
scalar T() const
Return const access to temperature.
Class to hold thermo particle constant properties.
wallPoints::trackData td(isBlockedFace, regionToBlockSize)
void calc(TrackCloudType &cloud, trackingData &td, const scalar dt)
Update parcel properties over the time interval.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
void setTMax(const scalar TMax)
Set the maximum temperature [K].
bool cp(const fileName &src, const fileName &dst, const bool followLink=true)
Copy the source to the destination (recursively if necessary).
trackingData(const TrackCloudType &cloud, trackPart part=ParcelType::trackingData::tpLinearTrack)
Construct from components.
const volScalarField & kappa() const
Return access to the locally stored carrier kappa field.
static const std::size_t sizeofFields
Size in bytes of the fields.
ThermoParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
Construct from mesh, coordinates and topology.
const interpolation< scalar > & GInterp() const
Return const access to the interpolator for continuous.
constantProperties()
Null constructor.
const dimensionedScalar kappa
Coulomb constant: default SI units: [N.m2/C2].
const interpolation< scalar > & TInterp() const
Return const access to the interpolator for continuous.
iNew(const polyMesh &mesh)
virtual autoPtr< particle > clone() const
Return a (basic particle) clone.
scalar f0() const
Return const access to the particle scattering factor [].
TypeName("ThermoParcel")
Runtime type information.
scalar Cp() const
Return const access to specific heat capacity.
scalar T_
Temperature [K].
static void readFields(CloudType &c)
Read.
A class for handling words, derived from Foam::string.
A cloud is a registry collection of lagrangian particles.
void calcSurfaceValues(TrackCloudType &cloud, trackingData &td, const scalar T, scalar &Ts, scalar &rhos, scalar &mus, scalar &Pr, scalar &kappas) const
Calculate surface thermo properties.
void cellValueSourceCorrection(TrackCloudType &cloud, trackingData &td, const scalar dt)
Correct cell values using latest transfer information.
scalar hs() const
Return the parcel sensible enthalpy.
A List of wordRe with additional matching capabilities.
scalar Cp0() const
Return const access to the particle specific heat capacity.
static void writeFields(const CloudType &c)
Write.
static autoPtr< particle > Clone(const Derived &p)
Clone a particle.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
A Vector of values with scalar precision, where scalar is float/double depending on the compilation f...
OBJstream os(runTime.globalPath()/outputName)
scalar Tc() const
Return the continuous phase temperature.
static void writeObjects(const CloudType &c, objectRegistry &obr)
Write particle fields as objects into the obr registry.
static void readObjects(CloudType &c, const objectRegistry &obr)
Read particle fields as objects from the obr registry.
scalarField Re(const UList< complex > &cmplx)
Extract real component.
const interpolation< scalar > & CpInterp() const
Return const access to the interpolator for continuous.
PtrList< coordinateSystem > coordinates(solidRegions.size())
scalar calcHeatTransfer(TrackCloudType &cloud, trackingData &td, const scalar dt, const scalar Re, const scalar Pr, const scalar kappa, const scalar NCpW, const scalar Sh, scalar &dhsTrans, scalar &Sph)
Calculate new particle temperature.
AddToPropertyList(ParcelType, " T"+" Cp")
String representation of properties.
scalar Cpc() const
Return the continuous phase specific heat capacity.
const dimensionedScalar c
Speed of light in a vacuum.
void setCellValues(TrackCloudType &cloud, trackingData &td)
Set cell values.
const volScalarField & Cp() const
Return access to the locally stored carrier Cp field.
Pointer management similar to std::unique_ptr, with some additional methods and type checking...
Mesh consisting of general polyhedral cells.
Registry of regIOobjects.
Templated base class for dsmc cloud.
autoPtr< ThermoParcel< ParcelType > > operator()(Istream &is) const
void writeProperties(Ostream &os, const wordRes &filters, const word &delim, const bool namesOnly=false) const
Write individual parcel properties to stream.
scalar TMax() const
Return const access to maximum temperature [K].
Thermodynamic parcel class with one/two-way coupling with the continuous phase. Includes Kinematic pa...
scalar epsilon0() const
Return const access to the particle emissivity [].