|
| ReducedProblemInterface (PROBLEM *OP, int base_priority=0) |
|
| ~ReducedProblemInterface () |
|
virtual void | ReInit () |
|
virtual bool | ComputeReducedConstraints (const ControlVector< VECTOR > &q, ConstraintVector< VECTOR > &g)=0 |
|
virtual void | GetControlBoxConstraints (ControlVector< VECTOR > &lb, ControlVector< VECTOR > &ub)=0 |
|
virtual void | ComputeReducedGradient (const ControlVector< VECTOR > &q, ControlVector< VECTOR > &gradient, ControlVector< VECTOR > &gradient_transposed)=0 |
|
virtual double | ComputeReducedCostFunctional (const ControlVector< VECTOR > &q)=0 |
|
virtual void | ComputeReducedFunctionals (const ControlVector< VECTOR > &q)=0 |
|
virtual void | ComputeReducedHessianVector (const ControlVector< VECTOR > &q, const ControlVector< VECTOR > &direction, ControlVector< VECTOR > &hessian_direction, ControlVector< VECTOR > &hessian_direction_transposed)=0 |
|
virtual void | ComputeReducedHessianInverseVector (const ControlVector< VECTOR > &, const ControlVector< VECTOR > &, ControlVector< VECTOR > &) |
|
virtual void | ComputeReducedGradientOfGlobalConstraints (unsigned int, const ControlVector< VECTOR > &, const ConstraintVector< VECTOR > &, ControlVector< VECTOR > &, ControlVector< VECTOR > &) |
|
void | SetProblemType (std::string type, unsigned int num=0) |
|
PROBLEM * | GetProblem () |
|
const PROBLEM * | GetProblem () const |
|
template<class DWRC > |
void | InitializeDWRC (DWRC &dwrc) |
|
| ReducedProblemInterface_Base () |
|
virtual | ~ReducedProblemInterface_Base () |
|
virtual void | StateSizeInfo (std::stringstream &out)=0 |
|
virtual void | WriteToFile (const VECTOR &v, std::string name, std::string outfile, std::string dof_type, std::string filetype)=0 |
|
virtual void | WriteToFileElementwise (const Vector< double > &, std::string, std::string, std::string, std::string) |
|
virtual void | WriteToFile (const ControlVector< VECTOR > &v, std::string name, std::string dof_type)=0 |
|
virtual void | WriteToFile (const std::vector< double > &v, std::string outfile)=0 |
|
void | RegisterOutputHandler (DOpEOutputHandler< VECTOR > *OH) |
|
void | RegisterExceptionHandler (DOpEExceptionHandler< VECTOR > *OH) |
|
DOpEExceptionHandler< VECTOR > * | GetExceptionHandler () |
|
DOpEOutputHandler< VECTOR > * | GetOutputHandler () |
|
double | GetFunctionalValue (std::string name) const |
|
const std::vector< double > & | GetTimeFunctionalValue (std::string name) const |
|
void | AddUserDomainData (std::string name, const VECTOR *new_data) |
|
void | DeleteUserDomainData (std::string name) |
|
template<typename PROBLEM, typename VECTOR>
class DOpE::ReducedProblemInterface< PROBLEM, VECTOR >
A template for different solver types to be used for solving PDE- as well as optimization problems.
template<typename PROBLEM, typename VECTOR>
Basic function which is given to instatsolver.h and statsolver.h, respectively, It computes the value of the constraint mapping and returns a boolean indicating whether the point is feasible.
- Parameters
-
- Returns
- True if feasible, false otherwise.
Implemented in DOpE::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >, and DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >.
template<typename PROBLEM, typename VECTOR>
Basic function to compute the reduced gradient solution. We assume that state u(q) is already computed. However the adjoint is not assumed to be computed.
- Parameters
-
q | The ControlVector is given to this function. |
gradient | The gradient vector. |
gradient_transposed | The transposed version of the gradient vector. |
Implemented in DOpE::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >, and DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >.
template<typename PROBLEM, typename VECTOR>
We assume that the constraints g have been evaluated at the corresponding point q. This comutes the reduced gradient of the global constraint num with respect to the control variable.
- Parameters
-
num | Number of the global constraint to which we want to compute the gradient. |
q | The ControlVector<VECTOR> is given to this function. |
g | The ConstraintVector<VECTOR> which contains the value of the constraints at q. |
gradient | The vector where the gradient will be stored in. |
gradient_transposed | The transposed version of the gradient vector. |
Reimplemented in DOpE::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >.
template<typename PROBLEM, typename VECTOR>
Basic function to compute the reduced gradient solution. We assume that adjoint state z(u(q)) is already computed.
- Parameters
-
q | The ControlVector is given to this function. |
direction | Documentation will follow later. |
hessian_direction | Documentation will follow later. |
hessian_direction_transposed | Documentation will follow later. |
Implemented in DOpE::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >, and DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >.
template<typename PROBLEM, typename VECTOR>
Basic function which is given to instatsolver.h and statsolver.h, respectively, It fills the values of the lower and upper box constraints on the control variable in a vector
- Parameters
-
Implemented in DOpE::StatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >, and DOpE::InstatReducedProblem< CONTROLNONLINEARSOLVER, NONLINEARSOLVER, CONTROLINTEGRATOR, INTEGRATOR, PROBLEM, VECTOR, dopedim, dealdim >.
template<typename PROBLEM, typename VECTOR>
This has to get implemented in the derived classes like optproblem, pdeproblemcontainer etc. It returns a map connecting the names of the added functionals with their position in functional_values_. If a cost functional is present, its values are always stored in functional_values_[0]. Auxiliary functionals are stored after the cost functional (present or not!) in the order as they are added.
Reimplemented from DOpE::ReducedProblemInterface_Base< VECTOR >.