31 template<
class ParcelType>
34 sizeof(SprayParcel<ParcelType>) -
sizeof(ParcelType)
40 template<
class ParcelType>
78 is.
read(
reinterpret_cast<char*
>(&
d0_), sizeofFields_);
85 "SprayParcel<ParcelType>::SprayParcel"
95 template<
class ParcelType>
96 template<
class CloudType>
103 template<
class ParcelType>
104 template<
class CloudType,
class CompositionType>
108 const CompositionType& compModel
116 c.checkFieldIOobject(
c, d0);
119 c.checkFieldIOobject(
c, mass0);
126 c.checkFieldIOobject(
c, position0);
129 c.checkFieldIOobject(
c,
sigma);
132 c.checkFieldIOobject(
c,
mu);
139 c.checkFieldIOobject(
c, liquidCore);
146 c.checkFieldIOobject(
c, KHindex);
153 c.checkFieldIOobject(
c,
y);
160 c.checkFieldIOobject(
c, yDot);
167 c.checkFieldIOobject(
c, tc);
174 c.checkFieldIOobject(
c, ms);
181 c.checkFieldIOobject(
c, injector);
188 c.checkFieldIOobject(
c, tMom);
196 p.position0_ = position0[i];
199 p.liquidCore_ = liquidCore[i];
200 p.KHindex_ = KHindex[i];
205 p.injector_ = injector[i];
212 template<
class ParcelType>
213 template<
class CloudType>
216 ParcelType::writeFields(
c);
220 template<
class ParcelType>
221 template<
class CloudType,
class CompositionType>
225 const CompositionType& compModel
228 ParcelType::writeFields(
c, compModel);
264 position0[i] =
p.position0_;
267 liquidCore[i] =
p.liquidCore_;
268 KHindex[i] =
p.KHindex_;
273 injector[i] =
p.injector_;
278 const bool write = np > 0;
298 template<
class ParcelType>
307 os << static_cast<const ParcelType&>(
p)
324 os << static_cast<const ParcelType&>(
p);
327 reinterpret_cast<const char*
>(&
p.d0_),
328 SprayParcel<ParcelType>::sizeofFields_
335 "Ostream& operator<<(Ostream&, const SprayParcel<ParcelType>&)"
Useful combination of include files which define Sin, Sout and Serr and the use of IO streams general...
#define forAllIter(Container, container, iter)
Iterate across all elements in the container object of type.
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object of type.
Templated base class for dsmc cloud.
A primitive field of type <Type> with automated input and output.
streamFormat format() const
Return current stream format.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
virtual Istream & read(token &)=0
Return next token from stream.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Reaching spray parcel, with added functionality for atomisation and breakup.
SprayParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti, const label facei)
Construct from mesh, coordinates and topology.
scalar d0_
Initial droplet diameter [m].
vector position0_
Injection position.
label injector_
Injector id.
scalar mu_
Liquid dynamic viscosity [Pa.s].
scalar sigma_
Liquid surface tension [N/m].
static void writeFields(const CloudType &c, const CompositionType &compModel)
Write.
scalar tMom_
Momentum relaxation time (needed for calculating parcel acc.)
scalar y_
Spherical deviation.
scalar tc_
Characteristic time (used in atomisation and/or breakup model)
scalar KHindex_
Index for KH Breakup.
scalar mass0_
Initial mass [kg].
scalar ms_
Stripped parcel mass due to breakup.
scalar yDot_
Rate of change of spherical deviation.
static void readFields(CloudType &c, const CompositionType &compModel)
Read.
scalar liquidCore_
Part of liquid core ( >0.5=liquid, <0.5=droplet )
virtual bool write(const bool write=true) const
Write using setting from DB.
const dimensionedScalar sigma
Stefan-Boltzmann constant: default SI units: [W/m^2/K^4].
const dimensionedScalar mu
Atomic mass unit.
const dimensionedScalar c
Speed of light in a vacuum.
void write(std::ostream &os, const bool binary, List< floatScalar > &fField)
Write floats ascii or binary.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
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.
bool readScalar(const char *buf, doubleScalar &s)
Read whole of buf as a scalar. Return true if successful.
label readLabel(Istream &is)