11#include "libmesh/petsc_vector.h"
19 params.
addRequiredParam<Real>(
"objective",
"Desired value of objective function.");
20 params.
addRequiredParam<std::vector<Real>>(
"solution",
"Desired solution to optimization.");
26 _result(getParam<Real>(
"objective")),
27 _solution(getParam<
std::vector<Real>>(
"solution"))
31 paramError(
"solution",
"Size not equal to number of degrees of freedom (",
_ndof,
").");
40 for (
const auto & val : *param)
54 for (
const auto & val : *param)
registerMooseObject("OptimizationTestApp", QuadraticMinimize)
void paramError(const std::string ¶m, Args... args) const
dof_id_type _ndof
Total number of parameters.
std::vector< std::vector< Real > * > _parameters
Parameter values declared as reporter data.
Computes gradient and contains reporters for communicating between optimizeSolve and subapps.
static InputParameters validParams()
virtual void setICsandBounds() override
Sets the initial conditions and bounds right before it is needed.
This form function simply represents a quadratic objective function: f(x) = val + \sum_{i=1}^N (x_i -...
static InputParameters validParams()
virtual Real computeObjective() override
Function to compute objective.
QuadraticMinimize(const InputParameters ¶meters)
virtual void computeGradient(libMesh::PetscVector< Number > &gradient) const override
Function to compute gradient.
const std::vector< Real > & _solution
Desired solution to optimization.
const Real & _result
Input objective function value.
virtual void set(const numeric_index_type i, const T value) override
virtual void close() override