41#ifndef adjointSolverManager_H
42#define adjointSolverManager_H
102 const word& managerType,
104 bool overrideUseSolverName
const word & name() const noexcept
Return the object name.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
A list of pointers to objects of type <T>, with allocation/deallocation management of the pointers....
Class for managing adjoint solvers, which may be more than one per operating point.
void clearSensitivities()
Clear sensitivity fields from all adjoint solvers.
TypeName("adjointSolverManager")
scalar objectiveValue()
Get objective value.
labelList objectiveSolverIDs_
virtual PtrList< scalarField > constraintSensitivities()
Get constraint sensitivities. One scalarField per constraint.
label nAdjointSolvers() const
Total number of adjoint solvers.
virtual tmp< scalarField > constraintValues()
Get constraint values.
virtual bool readDict(const dictionary &dict)
virtual tmp< scalarField > aggregateSensitivities()
Aggregate sensitivities from various adjoint solvers.
void computeAllSensitivities()
scalar operatingPointWeight_
const word & primalSolverName() const
Const access to the primal solver name.
void updatePrimalBasedQuantities(const word &name)
Update fields related to primal solution.
PtrList< adjointSolver > adjointSolvers_
label nConstraints() const
Number of adjoint solvers corresponding to constraints.
virtual bool writeData(Ostream &) const
Pure virtual writeData function.
virtual void solveAdjointEquations()
const dictionary & dict() const
Const access to the construction dictionary.
scalar operatingPointWeight() const
Const access to adjoint solvers.
virtual ~adjointSolverManager()=default
Destructor.
const word primalSolverName_
labelList constraintSolverIDs_
const PtrList< adjointSolver > & adjointSolvers() const
Const access to adjoint solvers.
label nObjectives() const
Number of adjoint solvers corresponding to objectives.
const word & managerName() const
Const access to the manager name.
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.
regIOobject is an abstract class derived from IOobject to handle automatic object registration with t...
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.