67 if (solverDict.
found(
"motionSolvers"))
73 const word solverTypeName = solverDict.
lookup<
word>(
"motionSolver");
75 Info<<
"Selecting motion solver: " << solverTypeName <<
endl;
81 dictionaryConstructorTablePtr_
84 if (!dictionaryConstructorTablePtr_)
87 <<
"solver table is empty" 91 dictionaryConstructorTable::iterator cstrIter =
92 dictionaryConstructorTablePtr_->find(solverTypeName);
94 if (cstrIter == dictionaryConstructorTablePtr_->end())
97 <<
"Unknown solver type " 98 << solverTypeName <<
nl <<
nl 99 <<
"Valid solver types are:" << endl
100 << dictionaryConstructorTablePtr_->sortedToc()
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.
A list of keyword definitions, which are a keyword followed by any number of values (e...
#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)...
Ostream & endl(Ostream &os)
Add newline and flush stream.
virtual bool write() const
Optionally write motion state information for restart.
static autoPtr< motionSolver > New(const polyMesh &, const dictionary &)
Select constructed from polyMesh and dictionary.
A keyword and a list of tokens is a 'dictionaryEntry'.
Motion of the mesh specified as a list of motion solvers.
dlLibraryTable libs
Table of loaded dynamic libraries.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
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.
static const dictionary null
Null dictionary.
virtual void solve()=0
Solve for motion.
defineRunTimeSelectionTable(reactionRateFlameArea, dictionary)
defineTypeNameAndDebug(combustionModel, 0)
static twoDPointCorrector & New(polyMesh &mesh)
bool open(const fileName &libName, const bool verbose=true)
Open the named library, optionally with warnings if problems occur.
virtual tmp< pointField > curPoints() const =0
Provide current points for motion. Uses current motion field.
Mesh consisting of general polyhedral cells.
A class for managing temporary objects.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
virtual autoPtr< motionSolver > clone() const
Clone function.
motionSolver(const polyMesh &mesh, const dictionary &, const word &type)
Construct from polyMesh and dictionary and type.
virtual void twoDCorrectPoints(pointField &) const
ITstream & lookup(const word &, bool recursive=false, bool patternMatch=true) const
Find and return an entry data stream.