Go to the documentation of this file.
110 const word& managerType,
154 virtual void solve() = 0;
157 virtual bool loop() = 0;
181 List<
void (Type::*)()>& funcs
198 virtual bool write(
const bool valid =
true)
const
void operator=(const solver &)=delete
No copy assignment.
TypeName("solver")
Run-time type information.
virtual void solve()=0
Main control loop.
A class for handling words, derived from Foam::string.
virtual bool writeData(Ostream &) const
Required by regIOobject.
const word & solverName() const
Return the solver name.
virtual bool write(const bool valid=true) const
Workaround for turbulent fields on multi-point runs.
fvMesh & mesh_
Reference to the mesh database.
virtual bool active()
Return state of solver.
virtual bool useSolverNameForFields() const =0
Use solver name as a suffix to the involved fields.
virtual bool loop()=0
Looper (advances iters, time step)
const variablesSet & getVariablesSet() const
Return constant reference to variableSet used by the solver.
virtual bool writeNow() const
Workaround for turbulent fields on multi-point runs.
virtual void preLoop()
Functions to be called before loop.
Base class for creating a set of variables.
const word managerType_
The optimisation type.
virtual ~solver()
Destructor.
virtual void postLoop()
Functions to be called after loop.
Base class for solution control classes.
void updateOptTypeSource(const autoPtr< volScalarField > &optSourcePtr)
Update source term related to optimisationType.
solver(const solver &)=delete
No copy construct.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const word solverName_
Solver name.
void addOptimisationTypeSource(fvMatrix< Type > &matrix) const
Add source from optimisationType to underlaying equation.
Mesh data needed to do the Finite Volume discretisation.
virtual void restoreInitValues()
Restore initial field values if necessary.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
void solveWithArgs(Type &type, List< void(Type::*)()> &funcs)
Main control loop.
const fvMesh & mesh() const
Return the solver mesh.
autoPtr< variablesSet > vars_
Base variableSet pointer.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
fileName::Type type(const fileName &name, const bool followLink=true)
Return the file type: DIRECTORY or FILE, normally following symbolic links.
virtual void solveIter()=0
Execute one iteration of the solution algorithm.
A special matrix type and solver, designed for finite volume solutions of scalar equations....
virtual bool readDict(const dictionary &dict)
dictionary dict_
Dictionary holding the solver info.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
localIOdictionary is derived from IOdictionary but excludes parallel master reading.
virtual const dictionary & dict() const
Return the solver dictionary.
bool active_
Solve equations?
const volScalarField * optTypeSource_