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

Concavity assumption: Number of vectors needed for the next step is at most as large as the number of vectors needed for the previous step. More...

#include <krylov_evolve.h>

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

Public Member Functions

virtual bool do_recycle (Conf const &) const override
 override More...
 
virtual void init_evolve (Conf &conf) override
 override: need to re-initialise the number of vectors used/stored so far. 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...
 
- 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...
 

Private Attributes

Index nMax =Maximum()
 maximally allowed number of vectors More...
 
Index nPenult {0}
 number of vectors during second-to-last iteration More...
 
Index nUlt {1}
 number of vectors during last iteration More...
 

Additional Inherited Members

- 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...
 

Detailed Description

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

Concavity assumption: Number of vectors needed for the next step is at most as large as the number of vectors needed for the previous step.


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