55pyrolysisModelCollection::pyrolysisModelCollection(
const fvMesh&
mesh)
64 mesh.time().constant(),
75 for (label i = 0; i < regions.
size(); i++)
83 pyrolysisZonesDict.
subDict(regions[i]),
122 pyrolysisModel& pyrolysis = this->
operator[](i);
124 if (pyrolysis.active())
126 if (pyrolysis.primaryMesh().changing())
129 <<
"Currently not possible to apply "
130 << pyrolysis.modelName()
135 pyrolysis.preEvolveRegion();
138 pyrolysis.evolveRegion();
141 if (pyrolysis.infoOutput())
176 scalar totalDiNum = GREAT;
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
@ MUST_READ
Reading required.
@ NO_WRITE
Ignore writing from objectRegistry::writeObject().
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const pyrolysisModel * set(const label i) const
void setSize(const label n)
constexpr PtrList() noexcept
void size(const label n)
Older name for setAddressableSize.
const pyrolysisModel & operator[](const label i) const
const dictionary & subDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary.
wordList toc() const
Return the table of contents.
Mesh data needed to do the Finite Volume discretisation.
bool changing() const noexcept
Is mesh changing (topology changing and/or moving).
A centralized pyrolysis collection.
virtual scalar solidRegionDiffNo() const
Mean diffusion number of the solid regions.
virtual ~pyrolysisModelCollection()
Destructor.
virtual void preEvolveRegion()
Pre-evolve regions.
virtual void evolve()
Evolve regions.
virtual void info()
Provide some feedback from pyrolysis regions.
virtual scalar maxDiff() const
Return max diffusivity allowed in the solid.
virtual void evolveRegion()
Evolve the pyrolysis equation regions.
Base class for pyrolysis models.
static autoPtr< pyrolysisModel > New(const fvMesh &mesh, const word ®ionType="pyrolysis")
Return a reference to the selected pyrolysis model.
Switch active() const noexcept
Return the active flag.
Switch infoOutput() const noexcept
Return the information flag.
virtual void preEvolveRegion()
Pre-evolve region.
virtual void info()
Provide some feedback.
const fvMesh & primaryMesh() const noexcept
Return the reference to the primary mesh database.
const word & modelName() const noexcept
Return the model name.
virtual void evolveRegion()
Evolve the region.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
List< word > wordList
List of word.
label max(const labelHashSet &set, label maxValue=labelMin)
Find the max value in labelHashSet, optionally limited by second argument.
messageStream Info
Information stream (stdout output on master, null elsewhere).
Ostream & incrIndent(Ostream &os)
Increment the indent level.
Ostream & endl(Ostream &os)
Add newline and flush stream.
label min(const labelHashSet &set, label minValue=labelMax)
Find the min value in labelHashSet, optionally limited by second argument.
errorManip< error > abort(error &err)
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
Ostream & decrIndent(Ostream &os)
Decrement the indent level.
constexpr char nl
The newline '\n' character (0x0a).
points setSize(newPointi)
#define forAll(list, i)
Loop across all elements in list.