49Foam::steadyOptimisation::steadyOptimisation(
fvMesh&
mesh)
70 new designVariablesUpdate
88 Info<<
"\n* * * * * * * * * * * * * * * * *" <<
endl;
90 Info<<
"* * * * * * * * * * * * * * * * *\n" <<
endl;
120 return (time_.timeIndex() != 1 && !end());
Macros for easy insertion into run-time selection tables.
#define addToRunTimeSelectionTable(baseType, thisType, argNames)
Add to construction table with typeName as the key.
A class encapsulating functionality neccessary to perform an optimisation loop, such as updating the ...
static autoPtr< designVariables > New(fvMesh &mesh, const dictionary &dict)
Return a reference to the selected design variables.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
const dictionary & subDict(const word &keyword, enum keyType::option matchOpt=keyType::REGEX) const
Find and return a sub-dictionary.
Mesh data needed to do the Finite Volume discretisation.
Abstract base class for optimisation methods.
virtual void initialize()
Initialization. Construct primal and adjoint solvers.
autoPtr< designVariablesUpdate > dvUpdate_
Helper class managing parts of the optimisation.
autoPtr< designVariables > designVars_
Design variables of the optimisation problem.
Time & time_
Reference to the time.
PtrList< adjointSolverManager > adjointSolverManagers_
List of adjoint solver managers to be included in the optimisation.
fvMesh & mesh_
Reference to the mesh.
Iterate the optimisation cycles. For steady state opt, this coinsides with evolving Time.
virtual optimisationManager & operator++()
Prefix increment.
virtual bool update()
Whether to update the design variables.
virtual bool checkEndOfLoopAndUpdate()
Return true if end of optimisation run.
virtual bool end()
Return true if end of optimisation run.
#define defineTypeNameAndDebug(Type, DebugSwitch)
Define the typeName and debug information.
messageStream Info
Information stream (stdout output on master, null elsewhere).
Ostream & endl(Ostream &os)
Add newline and flush stream.