13#include "libmesh/petsc_matrix.h"
17template <
typename Number>
const std::vector< double > x
const InputParameters & parameters() const
const std::string & type() const
Base class for optimization objects, implements routines for calculating misfit.
std::vector< Real > parseInputData(std::string type, Real default_value, unsigned int param_id) const
Function to to parse bounds and initial conditions from input file.
virtual void setMisfitToSimulatedValues()
Function to override misfit values with the simulated values from the matrix free hessian forward sol...
void setInitialCondition(libMesh::PetscVector< Number > ¶m)
Function to initialize petsc vectors from vpp data.
const unsigned int _nparams
Number of parameter vectors.
std::vector< std::vector< Real > * > _ineq_gradients
Gradient values declared as reporter data.
virtual void setICsandBounds()
Sets the initial conditions and bounds right before it is needed.
std::vector< std::vector< Real > * > _gradients
Gradient values declared as reporter data.
std::vector< std::vector< Real > * > _ineq_constraints
Inequality values declared as reporter data.
std::vector< std::vector< Real > * > _eq_constraints
Equality values declared as reporter data.
virtual void computeGradient(libMesh::PetscVector< Number > &gradient) const
Function to compute gradient.
std::vector< Real > _lower_bounds
Bounds of the parameters.
dof_id_type _ndof
Total number of parameters.
virtual Real computeObjective()=0
Function to compute objective.
virtual void computeEqualityGradient(libMesh::PetscMatrix< Number > &gradient) const
Function to compute the gradient of the equality constraints/ This is the last call of the equality c...
const std::vector< ReporterValueName > & _parameter_names
Parameter names.
Real getLowerBound(dof_id_type i) const
std::vector< std::vector< Real > * > _eq_gradients
Gradient values declared as reporter data.
const Real _tikhonov_coeff
Tikhonov Coefficient for regularization.
virtual void finalize() override
const unsigned int _n_eq_cons
Number of equality constraint names.
virtual void execute() override
dof_id_type getNumEqCons() const
Function to get the total number of equalities.
static InputParameters validParams()
std::vector< std::vector< Real > * > _parameters
Parameter values declared as reporter data.
const std::vector< ReporterValueName > * _equality_names
Equality constraint names.
virtual void computeInequalityConstraints(libMesh::PetscVector< Number > &ineqs_constraints) const
Function to compute the inequality constraints.
const unsigned int _n_ineq_cons
Number of inequality constraint names.
virtual void updateParameters(const libMesh::PetscVector< Number > &x)
Function to set parameters.
Real getUpperBound(dof_id_type i) const
Upper and lower bounds for each parameter being controlled.
virtual dof_id_type getNumParams() const
Function to get the total number of parameters.
std::vector< Real > _upper_bounds
virtual void initialize() override
virtual void computeEqualityConstraints(libMesh::PetscVector< Number > &eqs_constraints) const
Function to compute the equality constraints.
virtual void computeInequalityGradient(libMesh::PetscMatrix< Number > &gradient) const
Function to compute the gradient of the inequality constraints/ This is the last call of the inequali...
const std::vector< ReporterValueName > * _inequality_names
Inequality constraint names.
std::vector< dof_id_type > _nvalues
Number of values for each parameter.
dof_id_type getNumInEqCons() const
Function to get the total number of inequalities.
A UserObject that tests the requesting of Reporter values that are actually correct.
solveObject to interface with Petsc Tao
The following methods are specializations for using the Parallel::packed_range_* routines for a vecto...