32 namespace regionModels
34 namespace surfaceFilmModels
63 Info<<
" Selecting film ejection" <<
endl;
65 if (dict.
isDict(
"ejection"))
68 this->
setSize(ejectionDict.size());
79 ejectionDict.
isDict(iter().keyword())
80 ? ejectionDict.subDict(iter().keyword())
87 else if (dict.
found(
"ejectionModels"))
124 im.
correct(availableMass, massToEject, diameterToEject);
146 scalar ejectedMass = 0;
160 os <<
indent <<
"ejected mass = " << ejectedMass <<
nl;
164 if (
mag(patchEjectedMasses[
patchi]) > vSmall)
167 <<
" = " << patchEjectedMasses[
patchi] <<
nl;
const polyBoundaryMesh & boundaryMesh() const
Return boundary mesh.
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
#define forAll(list, i)
Loop across all elements in list.
const labelList & processorPatches() const
Return list of processor patch labels.
static autoPtr< ejectionModel > New(surfaceFilmRegionModel &film, const dictionary &dict, const word &mdoelType)
Return a reference to the selected ejection model.
const word & name() const
Return name.
Ostream & indent(Ostream &os)
Indent stream.
Base class for surface film models.
Base class for surface film sub-models.
A list of keyword definitions, which are a keyword followed by any number of values (e...
#define forAllConstIter(Container, container, iter)
Iterate across all elements in the container object of type.
virtual ~ejectionModelList()
Destructor.
const Boundary & boundaryField() const
Return const-reference to the boundary field.
Base class for film ejection models, handling mass transfer from the film.
void size(const label)
Override size to be inconsistent with allocated storage.
const T & operator[](const label) const
Return element const reference.
Ostream & endl(Ostream &os)
Add newline and flush stream.
static void listCombineGather(const List< commsStruct > &comms, List< T > &Value, const CombineOp &cop, const int tag, const label comm)
const dictionary & dict() const
Return const access to the cloud dictionary.
bool isDict(const word &) const
Check if entry is a sub-dictionary.
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &df)
const surfaceFilmRegionModel & film() const
Return const access to the film surface film model.
virtual bool writeTime() const
Flag to indicate when to write a property.
const dictionary & subDict(const word &) const
Find and return a sub-dictionary.
virtual void info(Ostream &os)
Provide some info.
static const dictionary null
Null dictionary.
virtual scalar ejectedMassTotal() const
Return the total mass ejected.
const fvMesh & regionMesh() const
Return the region mesh database.
const globalMeshData & globalData() const
Return parallel info.
void setSize(const label)
Reset size of PtrList. If extending the PtrList, new entries are.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
label size() const
Return the number of elements in the UPtrList.
A templated 1D list of pointers to objects of type <T>, where the size of the array is known and used...
void setBaseProperty(const word &entryName, const Type &value)
Add generic property to the base model.
virtual void correct(scalarField &availableMass, volScalarField &massToEject, volScalarField &diameterToEject)
Correct.
void correctBoundaryConditions()
Correct boundary field.
dimensioned< scalar > mag(const dimensioned< Type > &)
Type getBaseProperty(const word &entryName, const Type &defaultValue=pTraits< Type >::zero) const
Retrieve generic property from the base model.
const labelList & intCoupledPatchIDs() const
Return the list of patch IDs internally coupled with the.
virtual void patchEjectedMassTotals(scalarField &patchMasses) const
Accumulate the total mass ejected for the patches into the.
ejectionModelList(surfaceFilmRegionModel &film)
Construct null.
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.