SyTen
syten::Krylov::Evolution::ExtrapolatingHeuristic< Solver > Class Template Reference

The ExtrapolatingHeuristic class tries to extrapolate the number of timesteps that can be taken with one more Krylov vector and the runtime for adding this vector, and compares both to building a new Krylov space from scratch. More...

#include <krylov_evolve.h>

+ Inheritance diagram for syten::Krylov::Evolution::ExtrapolatingHeuristic< Solver >:
+ Collaboration diagram for syten::Krylov::Evolution::ExtrapolatingHeuristic< Solver >:

Private Member Functions

virtual bool do_recycle (Conf const &conf) const override
 override More...
 

Private Attributes

bool previousExtensionWasBeneficial = true
 Previous return value. More...
 

Additional Inherited Members

- Public Member Functions inherited from syten::Krylov::Evolution::GreedyHeuristic< Solver, Clock >
 GreedyHeuristic ()=default
 Default ctor. More...
 
 GreedyHeuristic (SRDef fac)
 Adapt the growth factor. More...
 
- Public Member Functions inherited from syten::Krylov::Evolution::Evolver< Solver >
template<typename... WrapUpParams>
void do_step (Solver &k, typename Solver::Vector_type &s, Conf &conf, std::string const &suffix, WrapUpParams &&... params)
 Does one step if the subspace can be recycled does not discard it(hopefully) More...
 
template<typename... WrapUpParams>
void evolve (Solver k, typename Solver::Vector_type &s, Conf &conf, std::string const &suffix, WrapUpParams &&... params)
 Builds one Krylov space and evolves within that space as far as possible, recycling it if necessary. More...
 
virtual void init_evolve (Conf &)
 Hook to initialise the evolution process for subclasses. More...
 
template<typename... WrapUpParams>
void loop_evolve (typename Solver::Matrix_type o, typename Solver::Vector_type &v, Conf &conf, std::string const &suffix, WrapUpParams &&... params)
 Constructs the solver and evolves until the target time is reached. More...
 
virtual IterativeExit virt_continue_evolution (Solver &k, typename Solver::Vector_type &s, Conf &conf, SDef dt)
 Hook for the continued actual evolution, calling out to the external functions by default. More...
 
virtual IterativeExit virt_evolve (Solver &k, typename Solver::Vector_type &s, Conf &conf, SDef dt)
 Hook for the actual evolution, calling out to the external functions by default. More...
 
virtual ~Evolver ()
 Virtual dtor to allow proper destruction. More...
 
- Public Attributes inherited from syten::Krylov::Evolution::Evolver< Solver >
Index count {}
 number of steps taken More...
 
DenseTensor< 2, SDefcurrent_Heff
 Current krylov vectors. More...
 
Vec< typename Solver::Vector_type > current_krylov_vectors
 Current krylov vectors. More...
 
- Protected Member Functions inherited from syten::Krylov::Evolution::GreedyHeuristic< Solver, Clock >
virtual bool do_recycle (Conf const &conf) const override
 override More...
 
virtual void init_evolve (Conf &) override
 override: We need to place a new time holder in data. More...
 
virtual IterativeExit virt_continue_evolution (Solver &k, typename Solver::Vector_type &s, Conf &conf, SDef dt) override
 override More...
 
virtual IterativeExit virt_evolve (Solver &k, typename Solver::Vector_type &s, Conf &conf, SDef dt) override
 override More...
 
- Protected Attributes inherited from syten::Krylov::Evolution::GreedyHeuristic< Solver, Clock >
std::vector< std::vector< Element > > data
 Computational history. More...
 
SRDef factor = 1.
 assumed growth factor for cost of Krylov vectors More...
 

Detailed Description

template<typename Solver>
class syten::Krylov::Evolution::ExtrapolatingHeuristic< Solver >

The ExtrapolatingHeuristic class tries to extrapolate the number of timesteps that can be taken with one more Krylov vector and the runtime for adding this vector, and compares both to building a new Krylov space from scratch.


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