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>
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, SDef > | current_Heff |
Current krylov vectors. More... | |
Vec< typename Solver::Vector_type > | current_krylov_vectors |
Current krylov vectors. More... | |
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.