52 if (
dict.registerObject())
57 io.registerObject(
true);
112 const word solverName
114 solverDict.
getCompat<
word>(
"motionSolver", {{
"solver", -1612}})
117 Info<<
"Selecting motion solver: " << solverName <<
nl;
119 mesh.time().libs().open
123 dictionaryConstructorTablePtr_
126 if (!dictionaryConstructorTablePtr_)
129 <<
"solver table is empty"
133 auto* ctorPtr = dictionaryConstructorTable(solverName);
142 *dictionaryConstructorTablePtr_
152 IOdictionary solverDict
157 mesh.time().constant(),
188 dictEntry.name() +
":meshSolver",
189 mesh_.time().constant(),
220 const bool writeOnProc
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
IOdictionary(const IOobject &io, const dictionary *fallback=nullptr)
Construct given an IOobject and optional fallback dictionary content.
@ AUTO_WRITE
Automatically write from objectRegistry::writeObject().
Defines the attributes of an object for which implicit objectRegistry management is supported,...
const Time & time() const noexcept
Return Time associated with the objectRegistry.
A simple container for options an IOstream can normally have.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
static FOAM_NO_DANGLING_REFERENCE const twoDPointCorrector & New(const polyMesh &mesh, Args &&... args)
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A keyword and a list of tokens is a 'dictionaryEntry'.
virtual const fileName & name() const
Return the scoped dictionary name (eg, dictA.dictB.dictC).
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const dictionary & optionalSubDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary, otherwise return this dictionary.
T getCompat(const word &keyword, std::initializer_list< std::pair< const char *, int > > compat, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a T using any compatibility names if needed. FatalIOError if not found,...
static const dictionary null
An empty dictionary, which is also the parent for all dictionaries.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
iNew(const polyMesh &mesh)
Virtual base class for mesh motion solver.
virtual bool writeObject(IOstreamOption streamOpt, const bool writeOnProc) const
Write state using stream options.
virtual void updateMesh(const mapPolyMesh &)=0
Update local data for topology changes.
static IOobject stealRegistration(const IOdictionary &dict)
De-register object if registered and assign to current.
const polyMesh & mesh() const
Return reference to mesh.
static autoPtr< motionSolver > New(const polyMesh &)
Select constructed from polyMesh.
virtual tmp< pointField > newPoints()
Provide new points for motion. Solves for motion.
motionSolver(const polyMesh &mesh)
Construct from polyMesh.
virtual tmp< pointField > curPoints() const =0
Provide current points for motion. Uses current motion field.
virtual void solve()=0
Solve for motion.
virtual void twoDCorrectPoints(pointField &) const
virtual autoPtr< motionSolver > clone() const
Clone function.
virtual bool read()
Read dynamicMeshDict dictionary.
Mesh consisting of general polyhedral cells.
bool checkOut()
Remove object from registry, and remove all file watches.
virtual bool read()
Read object.
A class for managing temporary objects.
void correctPoints(pointField &p) const
Correct motion points.
A class for handling words, derived from Foam::string.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
#define FatalIOErrorInLookup(ios, lookupTag, lookupName, lookupTable)
Report an error message using Foam::FatalIOError.
#define NotImplemented
Issue a FatalErrorIn for a function not currently implemented.
#define FatalErrorInFunction
Report an error message using Foam::FatalError.
Different types of constants.
tmp< DimensionedField< TypeR, GeoMesh > > New(const tmp< DimensionedField< TypeR, GeoMesh > > &tf1, const word &name, const dimensionSet &dimensions, const bool initCopy=false)
Global function forwards to reuseTmpDimensionedField::New.
messageStream Info
Information stream (stdout output on master, null elsewhere).
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
IOerror FatalIOError
Error stream (stdout output on all processes), with additional 'FOAM FATAL IO ERROR' header text and ...
error FatalError
Error stream (stdout output on all processes), with additional 'FOAM FATAL ERROR' header text and sta...
vectorField pointField
pointField is a vectorField.
errorManipArg< error, int > exit(error &err, const int errNo=1)
constexpr char nl
The newline '\n' character (0x0a).
#define defineRunTimeSelectionTable(baseType, argNames)
Define run-time selection table.