Go to the documentation of this file.
40 #ifndef optimisationTypeIncompressible_H
41 #define optimisationTypeIncompressible_H
52 namespace incompressible
158 scalar& objectiveValue,
174 virtual void write();
autoPtr< lineSearch > & getLineSearch()
virtual scalar meritFunctionDirectionalDerivative()
A class for managing temporary objects.
const autoPtr< volScalarField > & sourcePtr()
Abstract base class for optimisation methods.
autoPtr< volScalarField > sourcePtr_
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
virtual tmp< scalarField > computeDirection()
virtual void storeDesignVariables()=0
virtual void updateDesignVariables(scalarField &correction)=0
Generic templated field type.
TypeName("optimisationType")
PtrList< adjointSolverManager > & adjointSolverManagers
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
PtrList< adjointSolverManager > & adjointSolvManagers_
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Mesh data needed to do the Finite Volume discretisation.
virtual ~optimisationType()=default
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
autoPtr< updateMethod > updateMethod_
virtual void computeEta(scalarField &correction)=0
virtual void updateGradientsAndValues(scalarField &objectiveSens, PtrList< scalarField > &constraintSens, scalar &objectiveValue, scalarField &constraintValues)
static autoPtr< optimisationType > New(fvMesh &mesh, const dictionary &dict, PtrList< adjointSolverManager > &adjointSolverManagers)
virtual void resetDesignVariables()=0
virtual void updateOldCorrection(const scalarField &)
autoPtr< lineSearch > lineSearch_
virtual scalar computeMeritFunction()
declareRunTimeSelectionTable(autoPtr, optimisationType, dictionary,(fvMesh &mesh, const dictionary &dict, PtrList< adjointSolverManager > &adjointSolverManagers),(mesh, dict, adjointSolverManagers))