OpenLB 1.8.1
Loading...
Searching...
No Matches
olb::opti::OptiCaseDQ< S, C > Class Template Reference

#include <optiCase.h>

+ Inheritance diagram for olb::opti::OptiCaseDQ< S, C >:
+ Collaboration diagram for olb::opti::OptiCaseDQ< S, C >:

Public Member Functions

 OptiCaseDQ (std::function< S(const C &, unsigned)> function, std::function< void(void)> postEvaluation)
 
 OptiCaseDQ (std::function< S(const C &)> function, std::function< void(void)> postEvaluation)
 
template<typename F >
 OptiCaseDQ (F function, S stepWidth, std::function< void(void)> postEvaluation)
 
evaluateObjective (const C &control, unsigned optiStep=0) override
 
- Public Member Functions inherited from olb::opti::OptiCase< S, C >
 OptiCase ()=default
 
 OptiCase (std::function< void(void)> postEvaluation)
 
virtual void computeDerivatives (const C &control, C &derivatives, unsigned optiStep=0)=0
 
void postEvaluation ()
 

Protected Attributes

std::function< S(const C &)> _functionHelp { [](const C&){ return S{}; } }
 
std::function< S(const C &, unsigned)> _function
 
_stepWidth {1.e-8}
 
bool _objectiveComputed {false}
 
_objective
 
- Protected Attributes inherited from olb::opti::OptiCase< S, C >
std::function< void(void)> _postEvaluation
 

Detailed Description

template<typename S, typename C>
class olb::opti::OptiCaseDQ< S, C >

Definition at line 113 of file optiCase.h.

Constructor & Destructor Documentation

◆ OptiCaseDQ() [1/3]

template<typename S , typename C >
olb::opti::OptiCaseDQ< S, C >::OptiCaseDQ ( std::function< S(const C &, unsigned)> function,
std::function< void(void)> postEvaluation )
inlineexplicit

Definition at line 124 of file optiCase.h.

126 : OptiCase<S,C>(postEvaluation), _function(function)
127 { }
std::function< S(const C &, unsigned)> _function
Definition optiCase.h:117

◆ OptiCaseDQ() [2/3]

template<typename S , typename C >
olb::opti::OptiCaseDQ< S, C >::OptiCaseDQ ( std::function< S(const C &)> function,
std::function< void(void)> postEvaluation )
inlineexplicit

Definition at line 130 of file optiCase.h.

132 : OptiCase<S,C>(postEvaluation),
133 _functionHelp(function),
134 _function([&](const C& arg, unsigned){ return _functionHelp(arg); })
135 { }
std::function< S(const C &)> _functionHelp
Definition optiCase.h:116

References olb::opti::OptiCaseDQ< S, C >::_functionHelp.

◆ OptiCaseDQ() [3/3]

template<typename S , typename C >
template<typename F >
olb::opti::OptiCaseDQ< S, C >::OptiCaseDQ ( F function,
S stepWidth,
std::function< void(void)> postEvaluation )
inline

Definition at line 138 of file optiCase.h.

140 : OptiCaseDQ(function, postEvaluation) {
141 _stepWidth = stepWidth;
142 }
OptiCaseDQ(std::function< S(const C &, unsigned)> function, std::function< void(void)> postEvaluation)
Definition optiCase.h:124

References olb::opti::OptiCaseDQ< S, C >::_stepWidth.

Member Function Documentation

◆ evaluateObjective()

template<typename S , typename C >
S olb::opti::OptiCaseDQ< S, C >::evaluateObjective ( const C & control,
unsigned optiStep = 0 )
inlineoverridevirtual

Member Data Documentation

◆ _function

template<typename S , typename C >
std::function<S (const C&, unsigned)> olb::opti::OptiCaseDQ< S, C >::_function
protected

Definition at line 117 of file optiCase.h.

◆ _functionHelp

template<typename S , typename C >
std::function<S (const C&)> olb::opti::OptiCaseDQ< S, C >::_functionHelp { [](const C&){ return S{}; } }
protected

Definition at line 116 of file optiCase.h.

116{ [](const C&){ return S{}; } };

◆ _objective

template<typename S , typename C >
S olb::opti::OptiCaseDQ< S, C >::_objective
protected

Definition at line 121 of file optiCase.h.

◆ _objectiveComputed

template<typename S , typename C >
bool olb::opti::OptiCaseDQ< S, C >::_objectiveComputed {false}
protected

Definition at line 120 of file optiCase.h.

120{false};

◆ _stepWidth

template<typename S , typename C >
S olb::opti::OptiCaseDQ< S, C >::_stepWidth {1.e-8}
protected

Definition at line 118 of file optiCase.h.

118{1.e-8};

The documentation for this class was generated from the following file: