OpenLB 1.7
|
All optimization code is contained in this namespace. More...
Namespaces | |
namespace | projection |
Classes | |
class | AdjointLbSolverBase |
Base class for solvers that solve both primal and dual problems. More... | |
class | BlockDdifferenceObjectiveDf3D |
functor to compute 0.5*(f-f_wanted)^2 on a lattice More... | |
class | BlockDrelativeDifferenceObjectiveComponentDf3D |
functor to compute 0.5*(f[extractDim]-f_wanted[0])^2/f_wanted^2 on a lattice More... | |
class | BlockDrelativeDifferenceObjectiveDf3D |
functor to compute 0.5(f-f_wanted)^2/f_wanted^2 on a lattice More... | |
class | BlockLatticeDphysDissipationDf3D |
functor to get the pointwise dual dissipation density on local lattices, if globIC is not on the local processor, the returned vector is empty More... | |
class | BlockLatticeDphysVelocityDf3D |
functor to get pointwise dual velocity density on local lattices, if globIC is not on the local processor, the returned vector is empty More... | |
class | BlockLatticeSerialDataF |
class | Controller |
class | DdifferenceObjectiveDf3D |
functor to compute 0.5*(f-f_wanted)^2 on a lattice More... | |
class | DifferenceObjective3D |
functor to compute 0.5*L2Norm(f-f_wanted)^2 on a lattice More... | |
class | DrelativeDifferenceObjectiveComponentDf3D |
functor to compute 0.5*(f[extractDim]-f_wanted[0])^2/f_wanted^2 on a lattice More... | |
class | DrelativeDifferenceObjectiveDf3D |
functor to compute 0.5(f-f_wanted)^2/f_wanted^2 on a lattice More... | |
class | DrelativeDifferenceObjectiveDf3D_Lattice |
functor to compute 0.5(f-f_wanted)^2/f_wanted^2 on a lattice More... | |
struct | DualBoundaryHelpers |
All boundary helper functions are inside this structure. More... | |
class | DualController |
class | DualForcedBGKdynamics |
Implementation of the dual BGK collision step with external force. More... | |
class | DualForcedMRTdynamics |
Implementation of the dual MRT collision step with external force. More... | |
struct | dualLbDynamicsHelpers |
All helper functions are inside this structure. More... | |
struct | dualLbExternalHelpers |
Helper functions for dynamics that access external field. More... | |
struct | dualLbHelpers |
This structure forwards the calls to the appropriate helper class. More... | |
struct | dualLbLatticeHelpers |
Helper functions with full-lattice access. More... | |
class | DualPorousBGKdynamics |
Implementation of the dual BGK collision step with external force. More... | |
class | GeometrySerializer |
This class serializes the cells inside the geometry. More... | |
class | OptiCase |
Abstract base class for optimization tasks. More... | |
class | OptiCaseAD |
Derivatives are computed with automatic differentiation. More... | |
class | OptiCaseAdForSolver |
Interface for OptiCaseAD that performs Lattice-Boltzmann-Solver construction itself (from xml file) More... | |
class | OptiCaseAnalytical |
Gradient is just passed as a function (and not computed by an own routine) More... | |
class | OptiCaseCDQ |
Gradient computation with central difference quotients. More... | |
class | OptiCaseDQ |
class | OptiCaseDual |
This class implements the evaluation of the goal functional and its derivatives by using adjoint LBM. More... | |
class | OptiCaseFDQ |
Gradient computation with forward difference quotients. More... | |
class | Optimizer |
Interface for the use of various optimization algorithms. More... | |
class | OptimizerBarzilaiBorwein |
Optimization algorithm: BarzilaiBorwein. More... | |
class | OptimizerLBFGS |
Optimization algorithm: LBFGS. More... | |
class | OptimizerLineSearch |
Optimization algorithm: LineSearch. More... | |
class | OptimizerSteepestDescent |
Optimization algorithm: SteepestDescent. More... | |
class | RelativeDifferenceObjective3D |
functor to compute 0.5*L2Norm(f-f_wanted)^2/L2Norm(f_wanted)^2 on a lattice More... | |
class | SimpleGeometrySerializer |
This class serializes the cells inside the geometry. More... | |
class | SparseGeometrySerializer |
This class serializes the cells which are marked by indicator. More... | |
class | SuperLatticeDphysDissipationDf3D |
functor to get pointwise dual dissipation density on local lattices, if globIC is not on the local processor, the returned vector is empty More... | |
class | SuperLatticeDphysVelocityDf3D |
functor to get pointwise dual velocity density on local lattices, if globIC is not on the local processor, the returned vector is empty More... | |
class | SuperLatticeSerialDataF |
A data field whose values are managed by a controller. More... | |
Enumerations | |
enum class | SolverMode : int { Reference , Primal , Dual } |
Tags different simulation modes: compute either reference simulation or perform primal or dual (adjoint) simulation. More... | |
enum | ControlType { ForceControl , PorosityControl } |
enum | OptimizerLogType { control , derivative , value , error , norm_derivative } |
enum | StartValueType { Control , ProjectedControl , Porosity , Permeability } |
Functions | |
template<typename S , typename C > | |
OptiCaseAnalytical (std::function< S(const C &)>, std::function< void(const C &, C &)>) -> OptiCaseAnalytical< S, C > | |
template<typename S , typename C > | |
OptiCaseAnalytical (std::function< S(const C &)>, std::function< void(const C &, C &)>, std::function< void(void)>) -> OptiCaseAnalytical< S, C > | |
template<typename S , typename C > | |
OptiCaseFDQ (std::function< S(const C &)>, std::function< void(void)>) -> OptiCaseFDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseFDQ (std::function< S(const C &)>, S, std::function< void(void)>) -> OptiCaseFDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseFDQ (std::function< S(const C &, unsigned)>, std::function< void(void)>) -> OptiCaseFDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseFDQ (std::function< S(const C &, unsigned)>, S, std::function< void(void)>) -> OptiCaseFDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseFDQ (std::function< S(const C &)>) -> OptiCaseFDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseFDQ (std::function< S(const C &)>, S) -> OptiCaseFDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseFDQ (std::function< S(const C &, unsigned)>) -> OptiCaseFDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseFDQ (std::function< S(const C &, unsigned)>, S) -> OptiCaseFDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseCDQ (std::function< S(const C &)>, std::function< void(void)>) -> OptiCaseCDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseCDQ (std::function< S(const C &)>, S, std::function< void(void)>) -> OptiCaseCDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseCDQ (std::function< S(const C &, unsigned)>, std::function< void(void)>) -> OptiCaseCDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseCDQ (std::function< S(const C &, unsigned)>, S, std::function< void(void)>) -> OptiCaseCDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseCDQ (std::function< S(const C &)>) -> OptiCaseCDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseCDQ (std::function< S(const C &)>, S) -> OptiCaseCDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseCDQ (std::function< S(const C &, unsigned)>) -> OptiCaseCDQ< S, C > | |
template<typename S , typename C > | |
OptiCaseCDQ (std::function< S(const C &, unsigned)>, S) -> OptiCaseCDQ< S, C > | |
template<typename S , typename T , template< typename > typename SOLVER> | |
OptiCaseAdForSolver (std::shared_ptr< SOLVER< S > >, std::shared_ptr< SOLVER< T > >) -> OptiCaseAdForSolver< S, T::dim, SOLVER, util::StdVector > | |
void | getGnuplotTagsFromString (std::string gplotAnalysisString, std::vector< OptimizerLogType > &gplotAnalysis) |
the gplotAnalysisString is gained from the xml file and the function than separates and prepares it to be used in the constructor | |
template<typename S , typename C = std::vector<S>> | |
OptimizerBarzilaiBorwein< S, C > * | createOptimizerBarzilaiBorwein (XMLreader const ¶ms, std::size_t dimCtrl) |
Creator Function for Barzilai-Borwein. | |
template<typename S , typename C = std::vector<S>> | |
OptimizerLBFGS< S, C > * | createOptimizerLBFGS (XMLreader const ¶ms, std::size_t dimCtrl) |
Creator Function for LBFGS. | |
template<typename S , typename C = std::vector<S>> | |
OptimizerSteepestDescent< S, C > * | createOptimizerSteepestDescent (XMLreader const ¶ms, std::size_t dimCtrl) |
Creator Function for Steepest Decent. | |
template<typename S , unsigned dim> | |
int | getMaterialGlobally (SuperGeometry< S, dim > &sGeometry, LatticeR< dim+1 > latticeR) |
Helper that gives global access to material numbers. | |
All optimization code is contained in this namespace.
|
strong |
Tags different simulation modes: compute either reference simulation or perform primal or dual (adjoint) simulation.
Enumerator | |
---|---|
Reference | |
Primal | |
Dual |
Definition at line 39 of file adjointLbSolver.h.
Enumerator | |
---|---|
Control | |
ProjectedControl | |
Porosity | |
Permeability |
Definition at line 42 of file projection.h.
OptimizerBarzilaiBorwein< S, C > * olb::opti::createOptimizerBarzilaiBorwein | ( | XMLreader const & | params, |
std::size_t | dimCtrl ) |
Creator Function for Barzilai-Borwein.
Definition at line 181 of file optimizerBarzilaiBorwein.h.
References getGnuplotTagsFromString(), and olb::XMLreader::readOrWarn().
OptimizerLBFGS< S, C > * olb::opti::createOptimizerLBFGS | ( | XMLreader const & | params, |
std::size_t | dimCtrl ) |
Creator Function for LBFGS.
Definition at line 263 of file optimizerLBFGS.h.
References getGnuplotTagsFromString(), and olb::XMLreader::readOrWarn().
OptimizerSteepestDescent< S, C > * olb::opti::createOptimizerSteepestDescent | ( | XMLreader const & | params, |
std::size_t | dimCtrl ) |
Creator Function for Steepest Decent.
Definition at line 93 of file optimizerSteepestDecent.h.
References getGnuplotTagsFromString(), and olb::XMLreader::readOrWarn().
void olb::opti::getGnuplotTagsFromString | ( | std::string | gplotAnalysisString, |
std::vector< OptimizerLogType > & | gplotAnalysis ) |
the gplotAnalysisString is gained from the xml file and the function than separates and prepares it to be used in the constructor
Definition at line 236 of file optimizer.hh.
References control, derivative, error, norm_derivative, and value.
int olb::opti::getMaterialGlobally | ( | SuperGeometry< S, dim > & | sGeometry, |
LatticeR< dim+1 > | latticeR ) |
Helper that gives global access to material numbers.
Definition at line 298 of file serialization.h.
References olb::singleton::MpiManager::bCast(), olb::SuperGeometry< T, D >::get(), olb::SuperStructure< T, D >::getLoadBalancer(), olb::singleton::MpiManager::getRank(), and olb::singleton::mpi().
olb::opti::OptiCaseAdForSolver | ( | std::shared_ptr< SOLVER< S > > | , |
std::shared_ptr< SOLVER< T > > | ) -> OptiCaseAdForSolver< S, T::dim, SOLVER, util::StdVector > |
olb::opti::OptiCaseAnalytical | ( | std::function< S(const C &)> | , |
std::function< void(const C &, C &)> | ) -> OptiCaseAnalytical< S, C > |
olb::opti::OptiCaseAnalytical | ( | std::function< S(const C &)> | , |
std::function< void(const C &, C &)> | , | ||
std::function< void(void)> | ) -> OptiCaseAnalytical< S, C > |
olb::opti::OptiCaseCDQ | ( | std::function< S(const C &)> | ) | -> OptiCaseCDQ< S, C > |
olb::opti::OptiCaseCDQ | ( | std::function< S(const C &)> | , |
S | ) -> OptiCaseCDQ< S, C > |
olb::opti::OptiCaseCDQ | ( | std::function< S(const C &)> | , |
S | , | ||
std::function< void(void)> | ) -> OptiCaseCDQ< S, C > |
olb::opti::OptiCaseCDQ | ( | std::function< S(const C &)> | , |
std::function< void(void)> | ) -> OptiCaseCDQ< S, C > |
olb::opti::OptiCaseCDQ | ( | std::function< S(const C &, unsigned)> | ) | -> OptiCaseCDQ< S, C > |
olb::opti::OptiCaseCDQ | ( | std::function< S(const C &, unsigned)> | , |
S | ) -> OptiCaseCDQ< S, C > |
olb::opti::OptiCaseCDQ | ( | std::function< S(const C &, unsigned)> | , |
S | , | ||
std::function< void(void)> | ) -> OptiCaseCDQ< S, C > |
olb::opti::OptiCaseCDQ | ( | std::function< S(const C &, unsigned)> | , |
std::function< void(void)> | ) -> OptiCaseCDQ< S, C > |
olb::opti::OptiCaseFDQ | ( | std::function< S(const C &)> | ) | -> OptiCaseFDQ< S, C > |
olb::opti::OptiCaseFDQ | ( | std::function< S(const C &)> | , |
S | ) -> OptiCaseFDQ< S, C > |
olb::opti::OptiCaseFDQ | ( | std::function< S(const C &)> | , |
S | , | ||
std::function< void(void)> | ) -> OptiCaseFDQ< S, C > |
olb::opti::OptiCaseFDQ | ( | std::function< S(const C &)> | , |
std::function< void(void)> | ) -> OptiCaseFDQ< S, C > |
olb::opti::OptiCaseFDQ | ( | std::function< S(const C &, unsigned)> | ) | -> OptiCaseFDQ< S, C > |
olb::opti::OptiCaseFDQ | ( | std::function< S(const C &, unsigned)> | , |
S | ) -> OptiCaseFDQ< S, C > |
olb::opti::OptiCaseFDQ | ( | std::function< S(const C &, unsigned)> | , |
S | , | ||
std::function< void(void)> | ) -> OptiCaseFDQ< S, C > |
olb::opti::OptiCaseFDQ | ( | std::function< S(const C &, unsigned)> | , |
std::function< void(void)> | ) -> OptiCaseFDQ< S, C > |