35 namespace regionModels
37 namespace surfaceFilmModels
49 injectionModelList::injectionModelList
64 massInjected_(film.intCoupledPatchIDs().size(),
Zero)
70 Info<<
" Selecting film injection models" <<
endl;
76 for (
const word& model : models)
108 im.
correct(availableMass, massToInject, diameterToInject);
130 scalar injectedMass = 0;
140 injectedMass += im.injectedMassTotal();
141 im.patchInjectedMassTotals(patchInjectedMasses);
144 os <<
indent <<
"injected mass = " << injectedMass <<
nl;
146 forAll(patchInjectedMasses, patchi)
148 if (
mag(patchInjectedMasses[patchi]) > VSMALL)
151 <<
" = " << patchInjectedMasses[patchi] <<
nl;
static void listCombineGather(UList< T > &values, const CombineOp &cop, const int tag=UPstream::msgType(), const label comm=UPstream::worldComm)
Combines List elements.
const labelList patchIDs(pbm.indices(polyPatchNames, true))
ITstream & lookup(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return an entry data stream. FatalIOError if not found, or not a stream. ...
const polyBoundaryMesh & pbm
const T & operator[](const label i) const
Return const reference to the element at given position. FatalError for bounds problem or nullptr...
void size(const label n)
Older name for setAddressableSize.
dimensioned< Type > sum(const DimensionedField< Type, GeoMesh > &f1)
virtual void correct(scalarField &availableMass, volScalarField &massToInject, volScalarField &diameterToInject)
Correct.
Ostream & indent(Ostream &os)
Indent stream.
Base class for surface film models.
dimensioned< typename typeOfMag< Type >::type > mag(const dimensioned< Type > &dt)
Base class for surface film sub-models.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
Type getBaseProperty(const word &entryName, const Type &defaultValue=Type(Zero)) const
Retrieve generic property from the base model.
const labelList & processorPatches() const noexcept
Return list of processor patch labels.
constexpr char nl
The newline '\n' character (0x0a)
Ostream & endl(Ostream &os)
Add newline and flush stream.
virtual void info(Ostream &os)
Provide some info.
const dictionary & dict() const
Return const access to the cloud dictionary.
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.
#define forAll(list, i)
Loop across all elements in list.
const labelList & intCoupledPatchIDs() const noexcept
List of patch IDs internally coupled with the primary region.
static autoPtr< injectionModel > New(surfaceFilmRegionModel &film, const dictionary &dict, const word &mdoelType)
Return a reference to the selected injection model.
const polyBoundaryMesh & boundaryMesh() const noexcept
Return boundary mesh.
A class for handling words, derived from Foam::string.
Field< scalar > scalarField
Specialisation of Field<T> for scalar.
const fvMesh & regionMesh() const
Return the region mesh database.
const globalMeshData & globalData() const
Return parallel info (demand-driven)
A polyBoundaryMesh is a polyPatch list with additional search methods and registered IO...
An Ostream is an abstract base class for all output systems (streams, files, token lists...
Base class for film injection models, handling mass transfer from the film.
OBJstream os(runTime.globalPath()/outputName)
void setSize(const label newLen)
Same as resize()
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers...
void setBaseProperty(const word &entryName, const Type &value)
Add generic property to the base model.
void correctBoundaryConditions()
Correct boundary field.
messageStream Info
Information stream (stdout output on master, null elsewhere)
virtual ~injectionModelList()
Destructor.
List< label > labelList
A List of labels.
const Boundary & boundaryField() const noexcept
Return const-reference to the boundary field.
static constexpr const zero Zero
Global zero (0)