OpenLB 1.7
|
Derivatives are computed with automatic differentiation. More...
#include <optiCaseAD.h>
Public Member Functions | |
OptiCaseAD ()=default | |
OptiCaseAD (std::function< S(const C< S > &, unsigned)> function, std::function< T(const C< T > &, unsigned)> adFunction, std::function< void(void)> postEvaluation=[](){}) | |
OptiCaseAD (std::function< S(const C< S > &)> function, std::function< T(const C< T > &)> adFunction, std::function< void(void)> postEvaluation=[](){}) | |
S | evaluateObjective (const C< S > &control, unsigned optiStep=0) override |
void | computeDerivatives (const C< S > &control, C< S > &derivatives, unsigned optiStep=0) override |
Public Member Functions inherited from olb::opti::OptiCase< S, C > | |
OptiCase ()=default | |
OptiCase (std::function< void(void)> postEvaluation) | |
virtual S | evaluateObjective (const C &control, unsigned optiStep=0)=0 |
virtual void | computeDerivatives (const C &control, C &derivatives, unsigned optiStep=0)=0 |
void | postEvaluation () |
Protected Types | |
using | T = util::ADf<S,n> |
Protected Attributes | |
std::function< S(const C< S > &) | _functionHelp ) { [](const C<S>&){ return S{}; } } |
std::function< T(const C< T > &) | _adFunctionHelp ) { [](const C<T>&){ return T{}; } } |
std::function< S(const C< S > &, unsigned) | _function ) |
std::function< T(const C< T > &, unsigned) | _adFunction ) |
Protected Attributes inherited from olb::opti::OptiCase< S, C > | |
std::function< void(void)> | _postEvaluation { [](){} } |
Derivatives are computed with automatic differentiation.
S | Fundamental (floating point) datatype |
n | Number of optimized (control) parameters |
C | Container type |
Definition at line 51 of file optiCaseAD.h.
|
protected |
Definition at line 54 of file optiCaseAD.h.
|
explicitdefault |
|
inline |
Definition at line 63 of file optiCaseAD.h.
|
inline |
Definition at line 71 of file optiCaseAD.h.
|
inlineoverride |
Definition at line 87 of file optiCaseAD.h.
References olb::opti::OptiCaseAD< S, n, C >::_adFunction, olb::opti::control, and olb::util::ADf< T, DIM >::d().
|
inlineoverride |
Definition at line 81 of file optiCaseAD.h.
References olb::opti::OptiCaseAD< S, n, C >::_function, and olb::opti::control.
|
protected |
Definition at line 58 of file optiCaseAD.h.
|
protected |
Definition at line 56 of file optiCaseAD.h.
|
protected |
Definition at line 57 of file optiCaseAD.h.
|
protected |
Definition at line 55 of file optiCaseAD.h.