31 template<
class ParcelType>
32 Foam::string Foam::ReactingMultiphaseParcel<ParcelType>::propertyList_ =
35 template<
class ParcelType>
44 template<
class ParcelType>
52 ParcelType(mesh, is, readFields),
67 YLiquid_.transfer(Yl);
72 YGas_ /= YMix[GAS] + ROOTVSMALL;
73 YLiquid_ /= YMix[LIQ] + ROOTVSMALL;
74 YSolid_ /= YMix[SLD] + ROOTVSMALL;
80 "ReactingMultiphaseParcel<ParcelType>::ReactingMultiphaseParcel" 90 template<
class ParcelType>
91 template<
class CloudType>
103 template<
class ParcelType>
104 template<
class CloudType,
class CompositionType>
108 const CompositionType& compModel
119 const label idGas = compModel.idGas();
120 const wordList& gasNames = compModel.componentNames(idGas);
121 const label idLiquid = compModel.idLiquid();
122 const wordList& liquidNames = compModel.componentNames(idLiquid);
123 const label idSolid = compModel.idSolid();
124 const wordList& solidNames = compModel.componentNames(idSolid);
125 const wordList& stateLabels = compModel.stateLabels();
143 "Y" + gasNames[j] + stateLabels[idGas],
157 p.
YGas_[j] = YGas[i++]/(p.Y()[GAS] + ROOTVSMALL);
167 "Y" + liquidNames[j] + stateLabels[idLiquid],
181 p.
YLiquid_[j] = YLiquid[i++]/(p.Y()[LIQ] + ROOTVSMALL);
191 "Y" + solidNames[j] + stateLabels[idSolid],
205 p.
YSolid_[j] = YSolid[i++]/(p.Y()[SLD] + ROOTVSMALL);
211 template<
class ParcelType>
212 template<
class CloudType>
215 ParcelType::writeFields(c);
219 template<
class ParcelType>
220 template<
class CloudType,
class CompositionType>
224 const CompositionType& compModel
227 ParcelType::writeFields(c, compModel);
234 const wordList& stateLabels = compModel.stateLabels();
236 const label idGas = compModel.idGas();
237 const wordList& gasNames = compModel.componentNames(idGas);
244 "Y" + gasNames[j] + stateLabels[idGas],
259 YGas[i++] = p0.
YGas()[j]*p0.Y()[GAS];
265 const label idLiquid = compModel.idLiquid();
266 const wordList& liquidNames = compModel.componentNames(idLiquid);
273 "Y" + liquidNames[j] + stateLabels[idLiquid],
288 YLiquid[i++] = p0.
YLiquid()[j]*p0.Y()[LIQ];
294 const label idSolid = compModel.idSolid();
295 const wordList& solidNames = compModel.componentNames(idSolid);
302 "Y" + solidNames[j] + stateLabels[idSolid],
317 YSolid[i++] = p0.
YSolid()[j]*p0.Y()[SLD];
328 template<
class ParcelType>
338 if (os.format() == IOstream::ASCII)
340 os << static_cast<const ParcelType&>(
p)
341 << token::SPACE << YGasLoc
342 << token::SPACE << YLiquidLoc
343 << token::SPACE << YSolidLoc;
347 os << static_cast<const ParcelType&>(
p);
348 os << YGasLoc << YLiquidLoc << YSolidLoc;
354 "Ostream& operator<<" 357 "const ReactingMultiphaseParcel<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.
static void writeFields(const CloudType &c, const CompositionType &compModel)
Write.
#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.
virtual bool check(const char *operation) const
Check IOstream status for given operation.
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.
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.
scalarField YGas_
Mass fractions of gases [].
A 1D vector of objects of type <T> that resizes itself as necessary to accept the new objects...
ReactingMultiphaseParcel(const polyMesh &mesh, const vector &position, const label celli, const label tetFacei, const label tetPtI)
Construct from owner, position, and cloud owner.
const scalarField & YLiquid() const
Return const access to mass fractions of liquids.
forAllConstIter(PtrDictionary< phaseModel >, mixture.phases(), phase)
Base cloud calls templated on particle type.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
const scalarField & YGas() const
Return const access to mass fractions of gases.
scalarField YSolid_
Mass fractions of solids [].
scalarField YLiquid_
Mass fractions of liquids [].
const scalarField & YSolid() const
Return const access to mass fractions of solids.
Multiphase variant of the reacting parcel class with one/two-way coupling with the continuous phase...
Mesh consisting of general polyhedral cells.
IOobject fieldIOobject(const word &fieldName, const IOobject::readOption r) const
Helper to construct IOobject for field and current time.
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.
A primitive field of type <T> with automated input and output.