ROL
|
Defines the time-dependent constraint operator interface for simulation-based optimization. More...
#include <ROL_DynamicConstraint.hpp>
Public Types | |
using | V = Vector< Real > |
using | PV = PartitionedVector< Real > |
using | TS = TimeStamp< Real > |
Public Types inherited from ROL::DynamicFunction< Real > | |
using | V = Vector< Real > |
using | PV = PartitionedVector< Real > |
using | TS = TimeStamp< Real > |
Public Member Functions | |
virtual | ~DynamicConstraint () |
DynamicConstraint () | |
unew_ (nullPtr) | |
jv_ (nullPtr) | |
DEFAULT_atol_ (1e-4 *std::sqrt(ROL_EPSILON< Real >())) | |
DEFAULT_rtol_ (1e0) | |
DEFAULT_stol_ (std::sqrt(ROL_EPSILON< Real >())) | |
DEFAULT_factor_ (0.5) | |
DEFAULT_decr_ (1e-4) | |
DEFAULT_maxit_ (500) | |
DEFAULT_print_ (false) | |
DEFAULT_zero_ (false) | |
DEFAULT_solverType_ (0) | |
atol_ (DEFAULT_atol_) | |
rtol_ (DEFAULT_rtol_) | |
stol_ (DEFAULT_stol_) | |
factor_ (DEFAULT_factor_) | |
decr_ (DEFAULT_decr_) | |
maxit_ (DEFAULT_maxit_) | |
print_ (DEFAULT_print_) | |
zero_ (DEFAULT_zero_) | |
solverType_ (DEFAULT_solverType_) | |
firstSolve_ (true) | |
virtual void | update (const V &uo, const V &un, const V &z, const TS &ts) |
virtual void | value (V &c, const V &uo, const V &un, const V &z, const TS &ts) const =0 |
virtual void | solve (V &c, const V &uo, V &un, const V &z, const TS &ts) |
virtual void | setSolveParameters (ParameterList &parlist) |
Set solve parameters. More... | |
virtual void | applyJacobian_uo (V &jv, const V &vo, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyJacobian_un (V &jv, const V &vn, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyJacobian_z (V &jv, const V &vz, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyAdjointJacobian_uo (V &ajv, const V &dualv, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyAdjointJacobian_un (V &ajv, const V &dualv, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyAdjointJacobian_z (V &ajv, const V &dualv, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyInverseJacobian_un (V &ijv, const V &vn, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyInverseAdjointJacobian_un (V &iajv, const V &vn, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyAdjointHessian_un_un (V &ahwv, const V &wn, const V &vn, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyAdjointHessian_un_uo (V &ahwv, const V &w, const V &vn, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyAdjointHessian_un_z (V &ahwv, const V &w, const V &vn, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyAdjointHessian_uo_un (V &ahwv, const V &w, const V &vo, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyAdjointHessian_uo_uo (V &ahwv, const V &w, const V &v, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyAdjointHessian_uo_z (V &ahwv, const V &w, const V &vo, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyAdjointHessian_z_un (V &ahwv, const V &w, const V &vz, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyAdjointHessian_z_uo (V &ahwv, const V &w, const V &vz, const V &uo, const V &un, const V &z, const TS &ts) const |
virtual void | applyAdjointHessian_z_z (V &ahwv, const V &w, const V &vz, const V &uo, const V &un, const V &z, const TS &ts) const |
Public Member Functions inherited from ROL::DynamicFunction< Real > | |
DynamicFunction (std::initializer_list< std::string > zero_deriv_terms={}) | |
virtual | ~DynamicFunction () |
virtual void | update_uo (const V &x, const TS &ts) |
virtual void | update_un (const V &x, const TS &ts) |
virtual void | update_z (const V &x, const TS &ts) |
bool | is_zero_derivative (const std::string &key) |
Private Attributes | |
Ptr< Vector< Real > > | unew_ |
Ptr< Vector< Real > > | jv_ |
const Real | DEFAULT_atol_ |
const Real | DEFAULT_rtol_ |
const Real | DEFAULT_stol_ |
const Real | DEFAULT_factor_ |
const Real | DEFAULT_decr_ |
const int | DEFAULT_maxit_ |
const bool | DEFAULT_print_ |
const bool | DEFAULT_zero_ |
const int | DEFAULT_solverType_ |
Real | atol_ |
Real | rtol_ |
Real | stol_ |
Real | factor_ |
Real | decr_ |
int | maxit_ |
bool | print_ |
bool | zero_ |
int | solverType_ |
bool | firstSolve_ |
Additional Inherited Members | |
Protected Member Functions inherited from ROL::DynamicFunction< Real > | |
VectorWorkspace< Real > & | getVectorWorkspace () const |
PV & | partition (V &x) const |
const PV & | partition (const V &x) const |
V & | getNew (V &x) const |
const V & | getNew (const V &x) const |
V & | getOld (V &x) const |
const V & | getOld (const V &x) const |
Defines the time-dependent constraint operator interface for simulation-based optimization.
This constraint interface inherits from ROL_Constraint_SimOpt. Though the interface takes two simulation space vectors from spaces \(\mathcal{U_o}\times\mathcal{U_n}\). The space \(\mathcal{U_o}\) is old'' information that accounts for the initial condition on the time interval. The space \form#134 is the
new'' variables that can be determined by satisfying constraints in the form
\[ c(u_o,u_n,z,t_o,t_n) = 0 \,. \]
Definition at line 24 of file ROL_DynamicConstraint.hpp.
using ROL::DynamicConstraint< Real >::V = Vector<Real> |
Definition at line 86 of file ROL_DynamicConstraint.hpp.
using ROL::DynamicConstraint< Real >::PV = PartitionedVector<Real> |
Definition at line 87 of file ROL_DynamicConstraint.hpp.
using ROL::DynamicConstraint< Real >::TS = TimeStamp<Real> |
Definition at line 88 of file ROL_DynamicConstraint.hpp.
|
inlinevirtual |
Definition at line 90 of file ROL_DynamicConstraint.hpp.
|
inline |
Definition at line 92 of file ROL_DynamicConstraint.hpp.
ROL::DynamicConstraint< Real >::unew_ | ( | nullPtr | ) |
ROL::DynamicConstraint< Real >::jv_ | ( | nullPtr | ) |
ROL::DynamicConstraint< Real >::DEFAULT_atol_ | ( | 1e-4 *std:: | sqrtROL_EPSILON< Real >() | ) |
ROL::DynamicConstraint< Real >::DEFAULT_rtol_ | ( | 1e0 | ) |
ROL::DynamicConstraint< Real >::DEFAULT_stol_ | ( | std:: | sqrtROL_EPSILON< Real >() | ) |
ROL::DynamicConstraint< Real >::DEFAULT_factor_ | ( | 0. | 5 | ) |
ROL::DynamicConstraint< Real >::DEFAULT_decr_ | ( | 1e- | 4 | ) |
ROL::DynamicConstraint< Real >::DEFAULT_maxit_ | ( | 500 | ) |
ROL::DynamicConstraint< Real >::DEFAULT_print_ | ( | false | ) |
ROL::DynamicConstraint< Real >::DEFAULT_zero_ | ( | false | ) |
ROL::DynamicConstraint< Real >::DEFAULT_solverType_ | ( | 0 | ) |
ROL::DynamicConstraint< Real >::atol_ | ( | DEFAULT_atol_ | ) |
ROL::DynamicConstraint< Real >::rtol_ | ( | DEFAULT_rtol_ | ) |
ROL::DynamicConstraint< Real >::stol_ | ( | DEFAULT_stol_ | ) |
ROL::DynamicConstraint< Real >::factor_ | ( | DEFAULT_factor_ | ) |
ROL::DynamicConstraint< Real >::decr_ | ( | DEFAULT_decr_ | ) |
ROL::DynamicConstraint< Real >::maxit_ | ( | DEFAULT_maxit_ | ) |
ROL::DynamicConstraint< Real >::print_ | ( | DEFAULT_print_ | ) |
ROL::DynamicConstraint< Real >::zero_ | ( | DEFAULT_zero_ | ) |
ROL::DynamicConstraint< Real >::solverType_ | ( | DEFAULT_solverType_ | ) |
|
inline |
Definition at line 116 of file ROL_DynamicConstraint.hpp.
|
inlinevirtual |
Definition at line 120 of file ROL_DynamicConstraint.hpp.
References ROL::DynamicFunction< Real >::update_un(), ROL::DynamicFunction< Real >::update_uo(), and ROL::DynamicFunction< Real >::update_z().
Referenced by ROL::DynamicConstraint< Real >::solve(), ROL::details::DynamicConstraint_CheckInterface< Real >::update_un(), ROL::details::DynamicConstraint_CheckInterface< Real >::update_uo(), and ROL::details::DynamicConstraint_CheckInterface< Real >::update_z().
|
inlinevirtual |
Definition at line 133 of file ROL_DynamicConstraint.hpp.
References ROL::DynamicConstraint< Real >::applyInverseJacobian_un(), ROL::DynamicConstraint< Real >::atol_, ROL::Vector< Real >::clone(), ROL::DynamicConstraint< Real >::decr_, ROL::Vector< Real >::dual(), ROL::DynamicConstraint< Real >::factor_, ROL::DynamicConstraint< Real >::firstSolve_, ROL::DynamicConstraint< Real >::jv_, ROL::details::makeStreamPtr(), ROL::DynamicConstraint< Real >::maxit_, ROL::Vector< Real >::norm(), ROL::DynamicConstraint< Real >::print_, ROL::DynamicConstraint< Real >::rtol_, ROL::Vector< Real >::set(), ROL::DynamicConstraint< Real >::solverType_, ROL::DynamicConstraint< Real >::stol_, ROL::DynamicConstraint< Real >::unew_, ROL::DynamicConstraint< Real >::update(), ROL::DynamicConstraint< Real >::value(), ROL::Vector< Real >::zero(), and ROL::DynamicConstraint< Real >::zero_.
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::solve_un().
|
inlinevirtual |
Set solve parameters.
[in] | parlist | ParameterList containing solve parameters |
For the default implementation, parlist has two sublist ("Dynamic Constraint" and "Solve") and the "Solve" sublist has six input parameters.
These parameters are accessed as parlist.sublist("SimOpt").sublist("Solve").get(...).
Definition at line 251 of file ROL_DynamicConstraint.hpp.
References ROL::DynamicConstraint< Real >::atol_, ROL::DynamicConstraint< Real >::decr_, ROL::DynamicConstraint< Real >::DEFAULT_atol_, ROL::DynamicConstraint< Real >::DEFAULT_decr_, ROL::DynamicConstraint< Real >::DEFAULT_factor_, ROL::DynamicConstraint< Real >::DEFAULT_maxit_, ROL::DynamicConstraint< Real >::DEFAULT_print_, ROL::DynamicConstraint< Real >::DEFAULT_rtol_, ROL::DynamicConstraint< Real >::DEFAULT_solverType_, ROL::DynamicConstraint< Real >::DEFAULT_stol_, ROL::DynamicConstraint< Real >::DEFAULT_zero_, ROL::DynamicConstraint< Real >::factor_, ROL::DynamicConstraint< Real >::maxit_, ROL::DynamicConstraint< Real >::print_, ROL::DynamicConstraint< Real >::rtol_, ROL::DynamicConstraint< Real >::solverType_, ROL::DynamicConstraint< Real >::stol_, and ROL::DynamicConstraint< Real >::zero_.
|
inlinevirtual |
Definition at line 266 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::jacobian_uo().
|
inlinevirtual |
Definition at line 270 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::jacobian_un().
|
inlinevirtual |
Definition at line 274 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::jacobian_z().
|
inlinevirtual |
Definition at line 280 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::adjointJacobian_uo(), ROL::details::DynamicConstraint_CheckInterface< Real >::adjointJacobian_uo_un(), ROL::details::DynamicConstraint_CheckInterface< Real >::adjointJacobian_uo_uo(), and ROL::details::DynamicConstraint_CheckInterface< Real >::adjointJacobian_uo_z().
|
inlinevirtual |
Definition at line 284 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::adjointJacobian_un(), ROL::details::DynamicConstraint_CheckInterface< Real >::adjointJacobian_un_un(), ROL::details::DynamicConstraint_CheckInterface< Real >::adjointJacobian_un_uo(), and ROL::details::DynamicConstraint_CheckInterface< Real >::adjointJacobian_un_z().
|
inlinevirtual |
Definition at line 288 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::adjointJacobian_z(), ROL::details::DynamicConstraint_CheckInterface< Real >::adjointJacobian_z_un(), ROL::details::DynamicConstraint_CheckInterface< Real >::adjointJacobian_z_uo(), and ROL::details::DynamicConstraint_CheckInterface< Real >::adjointJacobian_z_z().
|
inlinevirtual |
Definition at line 294 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::inverseJacobian_un(), and ROL::DynamicConstraint< Real >::solve().
|
inlinevirtual |
Definition at line 298 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::inverseAdjointJacobian_un().
|
inlinevirtual |
Definition at line 304 of file ROL_DynamicConstraint.hpp.
References ROL::Vector< Real >::zero().
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::adjointHessian_un_un().
|
inlinevirtual |
Definition at line 310 of file ROL_DynamicConstraint.hpp.
References ROL::Vector< Real >::zero().
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::adjointHessian_un_uo().
|
inlinevirtual |
Definition at line 316 of file ROL_DynamicConstraint.hpp.
References ROL::Vector< Real >::zero().
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::adjointHessian_un_z().
|
inlinevirtual |
Definition at line 322 of file ROL_DynamicConstraint.hpp.
References ROL::Vector< Real >::zero().
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::adjointHessian_uo_un().
|
inlinevirtual |
Definition at line 328 of file ROL_DynamicConstraint.hpp.
References ROL::Vector< Real >::zero().
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::adjointHessian_uo_uo().
|
inlinevirtual |
Definition at line 334 of file ROL_DynamicConstraint.hpp.
References ROL::Vector< Real >::zero().
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::adjointHessian_uo_z().
|
inlinevirtual |
Definition at line 340 of file ROL_DynamicConstraint.hpp.
References ROL::Vector< Real >::zero().
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::adjointHessian_z_un().
|
inlinevirtual |
Definition at line 346 of file ROL_DynamicConstraint.hpp.
References ROL::Vector< Real >::zero().
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::adjointHessian_z_uo().
|
inlinevirtual |
Definition at line 352 of file ROL_DynamicConstraint.hpp.
References ROL::Vector< Real >::zero().
Referenced by ROL::details::DynamicConstraint_CheckInterface< Real >::adjointHessian_z_z().
|
private |
Definition at line 56 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::solve().
|
private |
Definition at line 57 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::solve().
|
private |
Definition at line 60 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters().
|
private |
Definition at line 61 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters().
|
private |
Definition at line 62 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters().
|
private |
Definition at line 63 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters().
|
private |
Definition at line 64 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters().
|
private |
Definition at line 65 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters().
|
private |
Definition at line 66 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters().
|
private |
Definition at line 67 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters().
|
private |
Definition at line 68 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters().
|
private |
Definition at line 71 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters(), and ROL::DynamicConstraint< Real >::solve().
|
private |
Definition at line 72 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters(), and ROL::DynamicConstraint< Real >::solve().
|
private |
Definition at line 73 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters(), and ROL::DynamicConstraint< Real >::solve().
|
private |
Definition at line 74 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters(), and ROL::DynamicConstraint< Real >::solve().
|
private |
Definition at line 75 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters(), and ROL::DynamicConstraint< Real >::solve().
|
private |
Definition at line 76 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters(), and ROL::DynamicConstraint< Real >::solve().
|
private |
Definition at line 77 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters(), and ROL::DynamicConstraint< Real >::solve().
|
private |
Definition at line 78 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters(), and ROL::DynamicConstraint< Real >::solve().
|
private |
Definition at line 79 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::setSolveParameters(), and ROL::DynamicConstraint< Real >::solve().
|
private |
Definition at line 82 of file ROL_DynamicConstraint.hpp.
Referenced by ROL::DynamicConstraint< Real >::solve().