ROL
Toggle main menu visibility
Loading...
Searching...
No Matches
src
function
simopt
ROL_SimConstraint.hpp
Go to the documentation of this file.
1
// @HEADER
2
// *****************************************************************************
3
// Rapid Optimization Library (ROL) Package
4
//
5
// Copyright 2014 NTESS and the ROL contributors.
6
// SPDX-License-Identifier: BSD-3-Clause
7
// *****************************************************************************
8
// @HEADER
9
10
#ifndef ROL_CONSTRAINT_STATE_H
11
#define ROL_CONSTRAINT_STATE_H
12
13
#include "
ROL_Constraint_SimOpt.hpp
"
14
15
namespace
ROL
{
16
17
template
<
typename
Real>
18
class
SimConstraint
:
public
Constraint
<Real> {
19
private
:
20
const
Ptr<Constraint_SimOpt<Real>>
con_
;
21
const
Ptr<const Vector<Real>>
z_
;
22
const
bool
inSolve_
;
23
Ptr<Vector<Real>>
ijv_
;
24
bool
init_
;
25
26
public
:
27
SimConstraint
(
const
Ptr<
Constraint_SimOpt<Real>
> &con,
28
const
Ptr<
const
Vector<Real>
> &z,
29
bool
inSolve =
false
);
30
31
void
update
(
const
Vector<Real>
&u,
bool
flag =
true
,
int
iter = -1 )
override
;
32
void
update
(
const
Vector<Real>
&u,
UpdateType
type,
int
iter = -1 )
override
;
33
void
value
(
Vector<Real>
&c,
const
Vector<Real>
&u,Real &tol)
override
;
34
void
applyJacobian
(
Vector<Real>
&jv,
const
Vector<Real>
&v,
const
Vector<Real>
&u,Real &tol)
override
;
35
using
Constraint
<Real>
::applyAdjointJacobian
;
36
void
applyAdjointJacobian
(
Vector<Real>
&ajv,
const
Vector<Real>
&v,
const
Vector<Real>
&u,Real &tol)
override
;
37
void
applyAdjointHessian
(
Vector<Real>
&ahwv,
const
Vector<Real>
&w,
const
Vector<Real>
&v,
const
Vector<Real>
&u,Real &tol)
override
;
38
void
applyPreconditioner
(
Vector<Real>
&pv,
const
Vector<Real>
&v,
const
Vector<Real>
&u,
const
Vector<Real>
&g,Real &tol)
override
;
39
40
// Definitions for parametrized (stochastic) equality constraints
41
void
setParameter
(
const
std::vector<Real> ¶m)
override
;
42
43
};
// class SimConstraint
44
45
}
// namespace ROL
46
47
#include "
ROL_SimConstraint_Def.hpp
"
48
49
#endif
ROL_Constraint_SimOpt.hpp
ROL_SimConstraint_Def.hpp
ROL::Constraint_SimOpt
Defines the constraint operator interface for simulation-based optimization.
Definition
ROL_Constraint_SimOpt.hpp:74
ROL::ROL::Constraint::Constraint
Constraint(void)
Definition
ROL_Constraint_SerialSimOpt.hpp:59
ROL::SimConstraint::update
void update(const Vector< Real > &u, UpdateType type, int iter=-1) override
ROL::SimConstraint::setParameter
void setParameter(const std::vector< Real > ¶m) override
ROL::SimConstraint::applyAdjointJacobian
void applyAdjointJacobian(Vector< Real > &ajv, const Vector< Real > &v, const Vector< Real > &u, Real &tol) override
ROL::SimConstraint::update
void update(const Vector< Real > &u, bool flag=true, int iter=-1) override
ROL::SimConstraint::ijv_
Ptr< Vector< Real > > ijv_
Definition
ROL_SimConstraint.hpp:23
ROL::SimConstraint::applyAdjointHessian
void applyAdjointHessian(Vector< Real > &ahwv, const Vector< Real > &w, const Vector< Real > &v, const Vector< Real > &u, Real &tol) override
ROL::SimConstraint::applyJacobian
void applyJacobian(Vector< Real > &jv, const Vector< Real > &v, const Vector< Real > &u, Real &tol) override
ROL::SimConstraint::z_
const Ptr< const Vector< Real > > z_
Definition
ROL_SimConstraint.hpp:21
ROL::SimConstraint::inSolve_
const bool inSolve_
Definition
ROL_SimConstraint.hpp:22
ROL::SimConstraint::value
void value(Vector< Real > &c, const Vector< Real > &u, Real &tol) override
ROL::SimConstraint::applyPreconditioner
void applyPreconditioner(Vector< Real > &pv, const Vector< Real > &v, const Vector< Real > &u, const Vector< Real > &g, Real &tol) override
ROL::SimConstraint::con_
const Ptr< Constraint_SimOpt< Real > > con_
Definition
ROL_SimConstraint.hpp:20
ROL::SimConstraint::init_
bool init_
Definition
ROL_SimConstraint.hpp:24
ROL::SimConstraint::SimConstraint
SimConstraint(const Ptr< Constraint_SimOpt< Real > > &con, const Ptr< const Vector< Real > > &z, bool inSolve=false)
ROL::Vector
Defines the linear algebra or vector space interface.
Definition
ROL_Vector.hpp:51
ROL
Definition
ROL_ElementwiseVector.hpp:27
ROL::UpdateType
UpdateType
Definition
ROL_UpdateType.hpp:18
Generated by
1.17.0