OpenLB 1.7
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
olb::opti::OptiCaseAdForSolver< S, n, SOLVER, C > Class Template Reference

Interface for OptiCaseAD that performs Lattice-Boltzmann-Solver construction itself (from xml file) More...

#include <optiCaseAD.h>

+ Inheritance diagram for olb::opti::OptiCaseAdForSolver< S, n, SOLVER, C >:
+ Collaboration diagram for olb::opti::OptiCaseAdForSolver< S, n, SOLVER, C >:

Public Member Functions

 OptiCaseAdForSolver (std::shared_ptr< SOLVER< S > > solver, std::shared_ptr< SOLVER< T > > adSolver)
 
 OptiCaseAdForSolver (XMLreader const &xml)
 
- Public Member Functions inherited from olb::opti::OptiCaseAD< S, n, C >
 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=[](){})
 
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 ()
 

Public Attributes

std::shared_ptr< SOLVER< S > > _solver
 
std::shared_ptr< SOLVER< T > > _adSolver
 

Additional Inherited Members

- Protected Types inherited from olb::opti::OptiCaseAD< S, n, C >
using T = util::ADf<S,n>
 
- Protected Attributes inherited from olb::opti::OptiCaseAD< S, n, C >
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 { [](){} }
 

Detailed Description

template<typename S, std::size_t n, template< typename > typename SOLVER, template< typename > typename C = util::StdVector>
class olb::opti::OptiCaseAdForSolver< S, n, SOLVER, C >

Interface for OptiCaseAD that performs Lattice-Boltzmann-Solver construction itself (from xml file)

Definition at line 108 of file optiCaseAD.h.

Constructor & Destructor Documentation

◆ OptiCaseAdForSolver() [1/2]

template<typename S , std::size_t n, template< typename > typename SOLVER, template< typename > typename C = util::StdVector>
olb::opti::OptiCaseAdForSolver< S, n, SOLVER, C >::OptiCaseAdForSolver ( std::shared_ptr< SOLVER< S > > solver,
std::shared_ptr< SOLVER< T > > adSolver )
inline

Definition at line 115 of file optiCaseAD.h.

117 : OptiCaseAD<S,n,C>(getCallable<S>(solver), getCallable<T>(adSolver),
118 std::bind(&SOLVER<S>::postProcess, solver)),
119 _solver(solver), _adSolver(adSolver)
120 { }
std::shared_ptr< SOLVER< T > > _adSolver
Definition optiCaseAD.h:113
std::shared_ptr< SOLVER< S > > _solver
Definition optiCaseAD.h:112

◆ OptiCaseAdForSolver() [2/2]

template<typename S , std::size_t n, template< typename > typename SOLVER, template< typename > typename C = util::StdVector>
olb::opti::OptiCaseAdForSolver< S, n, SOLVER, C >::OptiCaseAdForSolver ( XMLreader const & xml)
inline

Definition at line 122 of file optiCaseAD.h.

124 createLbSolver<SOLVER<S>> (xml),
125 createLbSolver<SOLVER<T>> (xml))
126 { }
OptiCaseAdForSolver(std::shared_ptr< SOLVER< S > > solver, std::shared_ptr< SOLVER< T > > adSolver)
Definition optiCaseAD.h:115
std::shared_ptr< SOLVER > createLbSolver(XMLreader const &xml)
Definition lbSolver.h:338

Member Data Documentation

◆ _adSolver

template<typename S , std::size_t n, template< typename > typename SOLVER, template< typename > typename C = util::StdVector>
std::shared_ptr<SOLVER<T> > olb::opti::OptiCaseAdForSolver< S, n, SOLVER, C >::_adSolver

Definition at line 113 of file optiCaseAD.h.

◆ _solver

template<typename S , std::size_t n, template< typename > typename SOLVER, template< typename > typename C = util::StdVector>
std::shared_ptr<SOLVER<S> > olb::opti::OptiCaseAdForSolver< S, n, SOLVER, C >::_solver

Definition at line 112 of file optiCaseAD.h.


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