44 const IOdictionary& dict
48 if (dict.registerObject())
51 const_cast<IOdictionary&
>(
dict).checkOut();
53 io.registerObject() =
true;
107 const word solverTypeName
109 solverDict.
found(
"motionSolver")
110 ? solverDict.
lookup(
"motionSolver")
111 : solverDict.
lookup(
"solver")
114 Info<<
"Selecting motion solver: " << solverTypeName <<
endl;
116 const_cast<Time&
>(mesh.
time()).libs().open
120 dictionaryConstructorTablePtr_
123 if (!dictionaryConstructorTablePtr_)
126 <<
"solver table is empty" 130 dictionaryConstructorTable::iterator cstrIter =
131 dictionaryConstructorTablePtr_->find(solverTypeName);
133 if (cstrIter == dictionaryConstructorTablePtr_->end())
136 <<
"Unknown solver type " 137 << solverTypeName <<
nl <<
nl 138 <<
"Valid solver types are:" << endl
139 << dictionaryConstructorTablePtr_->sortedToc()
161 return New(mesh, solverDict);
185 dict.
name() +
":meshSolver",
bool found(const word &, bool recursive=false, bool patternMatch=true) const
Search dictionary for given keyword.
errorManipArg< error, int > exit(error &err, const int errNo=1)
virtual tmp< pointField > newPoints()
Provide new points for motion. Solves for motion.
virtual bool read()
Read object.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
static const dictionary null
Null dictionary.
Ostream & endl(Ostream &os)
Add newline and flush stream.
const fileName & name() const
Return the dictionary name (scoped, e.g. dictA::dictB::dictC)
static autoPtr< motionSolver > New(const polyMesh &)
Select constructed from polyMesh.
A keyword and a list of tokens is a 'dictionaryEntry'.
Class to control time during OpenFOAM simulations that is also the top-level objectRegistry.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
virtual bool writeObject(IOstream::streamFormat fmt, IOstream::versionNumber ver, IOstream::compressionType cmp, const bool valid) const
Write state using given format, version and compression.
static const twoDPointCorrector & New(const polyMesh &mesh)
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
void correctPoints(pointField &p) const
Correct motion points.
virtual void updateMesh(const mapPolyMesh &)=0
Update local data for topology changes.
iNew(const polyMesh &mesh)
const dictionary & optionalSubDict(const word &) const
Find and return a sub-dictionary if found.
A class for handling words, derived from string.
virtual ~motionSolver()
Destructor.
const word & constant() const
Return constant name.
motionSolver(const polyMesh &mesh)
Construct from polyMesh.
streamFormat
Enumeration for the format of data in the stream.
virtual void solve()=0
Solve for motion.
virtual bool read()
Read dynamicMeshDict dictionary.
compressionType
Enumeration for the format of data in the stream.
defineRunTimeSelectionTable(reactionRateFlameArea, dictionary)
const Time & time() const
Return time.
defineTypeNameAndDebug(combustionModel, 0)
fileName::Type type(const fileName &, const bool followLink=true)
Return the file type: DIRECTORY or FILE.
virtual tmp< pointField > curPoints() const =0
Provide current points for motion. Uses current motion field.
IOdictionary(const IOobject &)
Construct given an IOobject.
Constant dispersed-phase particle diameter model.
Mesh consisting of general polyhedral cells.
const polyMesh & mesh() const
Return reference to mesh.
A class for managing temporary objects.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
virtual autoPtr< motionSolver > clone() const
Clone function.
IOobject defines the attributes of an object for which implicit objectRegistry management is supporte...
virtual void twoDCorrectPoints(pointField &) const
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.