OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | Protected Attributes | List of all members
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 102 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 113 of file optiCase.h.

115 : OptiCase<S,C>(postEvaluation), _function(function)
116 { }
std::function< S(const C &, unsigned) _function)
Definition optiCase.h:106
void postEvaluation()
Definition optiCase.h:56

◆ 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 119 of file optiCase.h.

121 : OptiCase<S,C>(postEvaluation),
122 _functionHelp(function),
123 _function([&](const C& arg, unsigned){ return _functionHelp(arg); })
124 { }
std::function< S(const C &) _functionHelp)
Definition optiCase.h:105

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 127 of file optiCase.h.

129 : OptiCaseDQ(function, postEvaluation) {
130 _stepWidth = stepWidth;
131 }
OptiCaseDQ(std::function< S(const C &, unsigned)> function, std::function< void(void)> postEvaluation)
Definition optiCase.h:113

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 106 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 105 of file optiCase.h.

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

◆ _objective

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

Definition at line 110 of file optiCase.h.

◆ _objectiveComputed

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

Definition at line 109 of file optiCase.h.

109{false};

◆ _stepWidth

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

Definition at line 107 of file optiCase.h.

107{1.e-8};

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