31 template<
class ParcelType>
32 Foam::string Foam::ReactingParcel<ParcelType>::propertyList_ =
35 template<
class ParcelType>
44 template<
class ParcelType>
52 ParcelType(mesh, is, readFields),
60 if (is.
format() == IOstream::ASCII)
66 is.
read(reinterpret_cast<char*>(&mass0_), sizeofFields_);
76 "ReactingParcel<ParcelType>::ReactingParcel" 86 template<
class ParcelType>
87 template<
class CloudType>
94 template<
class ParcelType>
95 template<
class CloudType,
class CompositionType>
99 const CompositionType& compModel
102 bool valid = c.
size();
121 const wordList& phaseTypes = compModel.phaseTypes();
124 if (compModel.nPhase() == 1)
126 stateLabels = compModel.stateLabels()[0];
134 p.
Y_.setSize(nPhases, 0.0);
144 "Y" + phaseTypes[j] + stateLabels[j],
160 template<
class ParcelType>
161 template<
class CloudType>
164 ParcelType::writeFields(c);
168 template<
class ParcelType>
169 template<
class CloudType,
class CompositionType>
173 const CompositionType& compModel
176 ParcelType::writeFields(c, compModel);
192 const wordList& phaseTypes = compModel.phaseTypes();
194 if (compModel.nPhase() == 1)
196 stateLabels = compModel.stateLabels()[0];
205 "Y" + phaseTypes[j] + stateLabels[j],
225 template<
class ParcelType>
232 if (os.format() == IOstream::ASCII)
234 os << static_cast<const ParcelType&>(
p)
235 << token::SPACE <<
p.mass0()
236 << token::SPACE <<
p.Y();
240 os << static_cast<const ParcelType&>(
p);
243 reinterpret_cast<const char*>(&
p.mass0_),
252 "Ostream& operator<<(Ostream&, const ReactingParcel<ParcelType>&)" #define forAll(list, i)
Loop across all elements in list.
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.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
#define forAllIter(Container, container, iter)
Iterate across all elements in the container object of type.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
void size(const label)
Override size to be inconsistent with allocated storage.
scalarField Y_
Mass fractions of mixture [].
ReactingParcel(const polyMesh &mesh, const barycentric &coordinates, const label celli, const label tetFacei, const label tetPti)
Construct from mesh, coordinates and topology.
label size() const
Return the number of particles in the cloud.
static void writeFields(const CloudType &c, const CompositionType &compModel)
Write.
Useful combination of include files which define Sin, Sout and Serr and the use of IO streams general...
static void readFields(CloudType &c, const CompositionType &compModel)
Read.
virtual Istream & read(token &)=0
Return next token from stream.
streamFormat format() const
Return current stream format.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
An Ostream is an abstract base class for all output systems (streams, files, token lists...
PtrList< volScalarField > & Y
void checkFieldIOobject(const Cloud< ParticleType > &c, const IOField< DataType > &data) const
Check lagrangian data field.
Mesh consisting of general polyhedral cells.
Reacting parcel class with one/two-way coupling with the continuous phase.
scalar mass0_
Initial mass [kg].
void transfer(List< T > &)
Transfer contents of the argument List into this.
A class for handling character strings derived from std::string.
Templated base class for dsmc cloud.
IOobject fieldIOobject(const word &fieldName, const IOobject::readOption r) const
Helper to construct IOobject for field and current time.
A primitive field of type <T> with automated input and output.
const scalarField & Y() const
Return const access to mass fractions of mixture [].