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