58 return "points0MotionSolver " +
name();
64 redirectMotionSolverPtr_.reset(
nullptr);
93 <<
"compile " << name_ <<
" sha1: " << context.
sha1() <<
endl;
100 "-I$(LIB_SRC)/finiteVolume/lnInclude \\\n" 101 "-I$(LIB_SRC)/meshTools/lnInclude \\\n" 102 "-I$(LIB_SRC)/dynamicMesh/lnInclude \\\n" 103 "-I$(LIB_SRC)/fvMotionSolvers/lnInclude \\\n" 105 +
"\n\nLIB_LIBS = \\\n" 106 " -lfiniteVolume \\\n" 108 " -ldynamicMesh \\\n" 109 " -lfvMotionSolvers \\\n" 125 name_(
dict.getCompat<
word>(
"name", {{
"redirectType", 1706}})),
126 redirectMotionSolverPtr_(
nullptr)
128 updateLibrary(name_);
129 redirectMotionSolver();
138 if (!redirectMotionSolverPtr_)
144 constructDict.set(
"solver", name_);
145 constructDict.set(
"motionSolver", name_);
157 return *redirectMotionSolverPtr_;
163 updateLibrary(name_);
164 return redirectMotionSolver().curPoints();
170 updateLibrary(name_);
171 redirectMotionSolver().solve();
177 updateLibrary(name_);
178 return redirectMotionSolver().movePoints(
fld);
184 updateLibrary(name_);
185 return redirectMotionSolver().updateMesh(mpm);
virtual const dictionary & codeDict() const
dlLibraryTable & libs() const noexcept
Mutable access to the loaded dynamic libraries.
readOption readOpt() const noexcept
Get the read option.
motionSolver & redirectMotionSolver() const
Dynamically compiled motionSolver.
virtual tmp< pointField > curPoints() const
Return point location obtained from the current motion field.
A list of keyword definitions, which are a keyword followed by a number of values (eg...
void setMakeOptions(const std::string &content)
Define contents for Make/options.
virtual void clearRedirect() const
Clear redirected object(s)
virtual dlLibraryTable & libs() const
Mutable access to the loaded dynamic libraries.
Ostream & endl(Ostream &os)
Add newline and flush stream.
Virtual base class for mesh motion solver.
static autoPtr< motionSolver > New(const polyMesh &)
Select constructed from polyMesh.
virtual void movePoints(const pointField &fld)
Update local data for geometry changes.
void addCompileFile(const fileName &name)
Add a file template name, which will be found and filtered.
const dictionary & coeffDict() const
Const access to the coefficients dictionary.
Class containing mesh-to-mesh mapping information after a change in polyMesh topology.
Macros for easy insertion into run-time selection tables.
IOdictionary is derived from dictionary and IOobject to give the dictionary automatic IO functionalit...
word name(const expressions::valueTypeCode typeCode)
A word representation of a valueTypeCode. Empty for expressions::valueTypeCode::INVALID.
const string & options() const noexcept
The code options (Make/options)
A class for handling words, derived from Foam::string.
const Time & time() const noexcept
Return time registry.
codedPoints0MotionSolver(const codedPoints0MotionSolver &)=delete
No copy construct.
Base class for function objects and boundary conditions using dynamic code that provides methods for ...
A table of dynamically loaded libraries.
defineTypeNameAndDebug(combustionModel, 0)
gmvFile<< "tracers "<< particles.size()<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().x()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().y()<< ' ';}gmvFile<< nl;for(const passiveParticle &p :particles){ gmvFile<< p.position().z()<< ' ';}gmvFile<< nl;for(const word &name :lagrangianScalarNames){ IOField< scalar > fld(IOobject(name, runTime.timeName(), cloud::prefix, mesh, IOobject::MUST_READ, IOobject::NO_WRITE))
Tools for handling dynamic code compilation.
Provides a general interface to enable dynamic code compilation of mesh motion solvers.
Encapsulation of dynamic code dictionaries.
void setFilterVariable(const word &key, const std::string &value)
Define a filter variable.
virtual string description() const
Description (type + name) for the output.
virtual void solve()
Solve for motion.
void addCopyFile(const fileName &name)
Add a file template name, which will be found and filtered.
const string & libs() const noexcept
The code libs (LIB_LIBS)
Mesh consisting of general polyhedral cells.
const polyMesh & mesh() const
Return reference to mesh.
IOobject io("surfaceFilmProperties", mesh.time().constant(), mesh, IOobject::READ_IF_PRESENT, IOobject::NO_WRITE, IOobject::NO_REGISTER)
A class for managing temporary objects.
Defines the attributes of an object for which implicit objectRegistry management is supported...
A class for handling character strings derived from std::string.
virtual void prepare(dynamicCode &, const dynamicCodeContext &) const
Adapt the context for the current object.
addToRunTimeSelectionTable(functionObject, pointHistory, dictionary)
const SHA1 & sha1() const noexcept
The SHA1 calculated from options, libs, include, code, etc.
virtual void updateMesh(const mapPolyMesh &mpm)
Update local data for topology changes.