36template<
class CloudType>
39 "rebound",
"stick",
"escape"
45template<
class CloudType>
48 this->writeHeader(
os,
"Particle patch interaction");
49 this->writeHeaderValue(
os,
"Model", this->modelType());
51 this->writeCommented(
os,
"Time");
52 this->writeTabbed(
os,
"escapedParcels");
53 this->writeTabbed(
os,
"escapedMass");
59template<
class CloudType>
98template<
class CloudType>
105 if (itWord ==
"none")
109 if (itWord ==
"rebound")
113 else if (itWord ==
"stick")
117 else if (itWord ==
"escape")
130template<
class CloudType>
137 functionObjects::writeFile(owner, this->localPath(), typeName, false),
145template<
class CloudType>
154 functionObjects::writeFile
162 UName_(this->coeffDict().template getOrDefault<
word>(
"U",
"U")),
165 Urmax_(this->coeffDict().template getOrDefault<scalar>(
"UrMax", 0))
169template<
class CloudType>
176 functionObjects::writeFile(pim),
178 escapedParcels_(pim.escapedParcels_),
179 escapedMass_(pim.escapedMass_),
186template<
class CloudType>
193template<
class CloudType>
200template<
class CloudType>
206 escapedMass_ += mass;
211template<
class CloudType>
216template<
class CloudType>
219 const label escapedParcels0 =
220 this->
template getBaseProperty<label>(
"escapedParcels");
221 const label escapedParcelsTotal =
224 const scalar escapedMass0 =
225 this->
template getBaseProperty<scalar>(
"escapedMass");
226 const scalar escapedMassTotal =
229 os <<
" Parcel fate: system (number, mass)" <<
nl
230 <<
" - escape = " << escapedParcelsTotal
231 <<
", " << escapedMassTotal <<
endl;
233 if (!this->writtenHeader_)
235 this->writeFileHeader(this->file());
236 this->writtenHeader_ =
true;
237 this->file() <<
endl;
240 this->writeCurrentTime(this->file());
242 <<
tab << escapedParcelsTotal <<
tab << escapedMassTotal;
245 if (this->writeTime())
247 this->setBaseProperty(
"escapedParcels", escapedParcelsTotal);
250 this->setBaseProperty(
"escapedMass", escapedMassTotal);
Base class for cloud sub-models.
Templated base class for dsmc cloud.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
Templated patch interaction model class.
virtual void postEvolve()
Post-evolve hook.
const scalar & Urmax() const
Return Urmax.
virtual void addToEscapedParcels(const scalar mass)
Add to escaped parcels.
const word & UName() const
Return name of velocity field.
static interactionType wordToInteractionType(const word &itWord)
Convert word to interaction result.
virtual void writeFileHeader(Ostream &os)
Output file header information.
static word interactionTypeToWord(const interactionType &itEnum)
Convert interaction result to word.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
InfoProxy< ensightCells > info() const
Return info proxy.
A class for handling words, derived from Foam::string.
OBJstream os(runTime.globalPath()/outputName)
Ostream & endl(Ostream &os)
Add newline and flush stream.
T returnReduce(const T &value, const BinaryOp &bop, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
Reduce (copy) and return value.
constexpr char nl
The newline '\n' character (0x0a)
constexpr char tab
The tab '\t' character(0x09)