Go to the documentation of this file.
37 #ifndef adjointSolver_H
38 #define adjointSolver_H
110 const word& managerType,
124 const word& managerType,
136 const word& managerType,
Base class for adjoint solvers.
class for managing incompressible objective functions.
bool computeSensitivities_
const word primalSolverName_
A class for handling words, derived from Foam::string.
TypeName("adjointSolver")
const word & primalSolverName() const
virtual bool isConstraint()
virtual void updatePrimalBasedQuantities()
virtual bool readDict(const dictionary &dict)
declareRunTimeNewSelectionTable(autoPtr, adjointSolver, adjointSolver,(fvMesh &mesh, const word &managerType, const dictionary &dict, const word &primalSolverName),(mesh, managerType, dict, primalSolverName))
autoPtr< objectiveManager > objectiveManagerPtr_
virtual const scalarField & getObjectiveSensitivities()=0
Generic templated field type.
virtual void computeObjectiveSensitivities()=0
virtual sensitivity & getSensitivityBase()=0
Base class for solution control classes.
const objectiveManager & getObjectiveManager() const
virtual ~adjointSolver()=default
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
virtual void clearSensitivities()
Mesh data needed to do the Finite Volume discretisation.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
const fvMesh & mesh() const
const primalSolver & getPrimalSolver() const
Macros to ease declaration of run-time selection tables.
Base class for primal solvers.
autoPtr< scalarField > sensitivities_
Abstract base class for adjoint sensitivities.
virtual const dictionary & dict() const
static autoPtr< adjointSolver > New(fvMesh &mesh, const word &managerType, const dictionary &dict, const word &primalSolverName)