flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
flexiblesusy::Convergence_tester_DRbar< Model > Class Template Referenceabstract

#include <convergence_tester_drbar.hpp>

Inheritance diagram for flexiblesusy::Convergence_tester_DRbar< Model >:
Inheritance graph
Collaboration diagram for flexiblesusy::Convergence_tester_DRbar< Model >:
Collaboration graph

Public Types

using Scale_getter = std::function< double()>
 

Public Member Functions

virtual bool accuracy_goal_reached () override
 
 Convergence_tester_DRbar (const Model *, double, const Scale_getter &sg=Scale_getter())
 
virtual double get_accuracy_goal () const
 
double get_current_accuracy () const
 
virtual int max_iterations () const override
 
virtual void restart () override
 
void set_max_iterations (int it)
 set maximum number of iterations More...
 
template<typename F >
void set_scale_getter (F &&sg)
 set scale getter More...
 
virtual ~Convergence_tester_DRbar ()=default
 
- Public Member Functions inherited from flexiblesusy::Convergence_tester< T >
virtual bool accuracy_goal_reached ()=0
 
virtual int max_iterations () const =0
 
virtual void restart ()=0
 
virtual ~Convergence_tester ()=default
 

Protected Member Functions

const Modelget_current_iteration_model () const
 get model at current iteration More...
 
int get_iteration () const
 get current iteration number More...
 
const Modelget_last_iteration_model () const
 get model state during last iteration More...
 
virtual double max_rel_diff () const =0
 maximum relative difference to last iteration More...
 

Private Member Functions

double rel_scale_difference () const
 relative scale difference More...
 
void run_to_scale ()
 runs models to comparison scale More...
 
double scale_difference () const
 absolute scale difference More...
 

Private Attributes

double accuracy_goal {1e-4}
 accuracy goal More...
 
double current_accuracy {std::numeric_limits<double>::infinity()}
 current accuracy More...
 
Model current_model {}
 model state at current iteration More...
 
int it_count {0}
 iteration More...
 
Model last_iteration_model {}
 model state at last iteration More...
 
int max_it {40}
 maximum number of iterations More...
 
const Modelmodel {nullptr}
 pointer to model More...
 
Scale_getter scale_getter {}
 function to retrieve scale More...
 

Detailed Description

template<class Model>
class flexiblesusy::Convergence_tester_DRbar< Model >

Definition at line 34 of file convergence_tester_drbar.hpp.

Member Typedef Documentation

◆ Scale_getter

template<class Model >
using flexiblesusy::Convergence_tester_DRbar< Model >::Scale_getter = std::function<double()>

Definition at line 36 of file convergence_tester_drbar.hpp.

Constructor & Destructor Documentation

◆ Convergence_tester_DRbar()

template<class Model >
flexiblesusy::Convergence_tester_DRbar< Model >::Convergence_tester_DRbar ( const Model model_,
double  accuracy_goal_,
const Scale_getter sg = Scale_getter() 
)

◆ ~Convergence_tester_DRbar()

template<class Model >
virtual flexiblesusy::Convergence_tester_DRbar< Model >::~Convergence_tester_DRbar ( )
virtualdefault

Member Function Documentation

◆ accuracy_goal_reached()

template<class Model >
bool flexiblesusy::Convergence_tester_DRbar< Model >::accuracy_goal_reached
overridevirtual

◆ get_accuracy_goal()

template<class Model >
virtual double flexiblesusy::Convergence_tester_DRbar< Model >::get_accuracy_goal ( ) const
inlinevirtual

◆ get_current_accuracy()

template<class Model >
double flexiblesusy::Convergence_tester_DRbar< Model >::get_current_accuracy ( ) const
inline

◆ get_current_iteration_model()

template<class Model >
const Model & flexiblesusy::Convergence_tester_DRbar< Model >::get_current_iteration_model ( ) const
inlineprotected

get model at current iteration

Definition at line 57 of file convergence_tester_drbar.hpp.

References flexiblesusy::Convergence_tester_DRbar< Model >::current_model.

◆ get_iteration()

template<class Model >
int flexiblesusy::Convergence_tester_DRbar< Model >::get_iteration ( ) const
inlineprotected

get current iteration number

Definition at line 55 of file convergence_tester_drbar.hpp.

References flexiblesusy::Convergence_tester_DRbar< Model >::it_count.

◆ get_last_iteration_model()

template<class Model >
const Model & flexiblesusy::Convergence_tester_DRbar< Model >::get_last_iteration_model ( ) const
inlineprotected

get model state during last iteration

Definition at line 59 of file convergence_tester_drbar.hpp.

References flexiblesusy::Convergence_tester_DRbar< Model >::last_iteration_model.

◆ max_iterations()

template<class Model >
virtual int flexiblesusy::Convergence_tester_DRbar< Model >::max_iterations ( ) const
inlineoverridevirtual

◆ max_rel_diff()

template<class Model >
virtual double flexiblesusy::Convergence_tester_DRbar< Model >::max_rel_diff ( ) const
protectedpure virtual

maximum relative difference to last iteration

◆ rel_scale_difference()

template<class Model >
double flexiblesusy::Convergence_tester_DRbar< Model >::rel_scale_difference
private

relative scale difference

Definition at line 128 of file convergence_tester_drbar.hpp.

References flexiblesusy::is_zero().

◆ restart()

template<class Model >
void flexiblesusy::Convergence_tester_DRbar< Model >::restart
overridevirtual

◆ run_to_scale()

template<class Model >
void flexiblesusy::Convergence_tester_DRbar< Model >::run_to_scale
private

runs models to comparison scale

Definition at line 139 of file convergence_tester_drbar.hpp.

◆ scale_difference()

template<class Model >
double flexiblesusy::Convergence_tester_DRbar< Model >::scale_difference
private

absolute scale difference

Definition at line 122 of file convergence_tester_drbar.hpp.

◆ set_max_iterations()

template<class Model >
void flexiblesusy::Convergence_tester_DRbar< Model >::set_max_iterations ( int  it)
inline

set maximum number of iterations

Definition at line 48 of file convergence_tester_drbar.hpp.

References flexiblesusy::Convergence_tester_DRbar< Model >::max_it.

◆ set_scale_getter()

template<class Model >
template<typename F >
void flexiblesusy::Convergence_tester_DRbar< Model >::set_scale_getter ( F &&  sg)
inline

set scale getter

Definition at line 51 of file convergence_tester_drbar.hpp.

References flexiblesusy::Convergence_tester_DRbar< Model >::scale_getter.

Member Data Documentation

◆ accuracy_goal

template<class Model >
double flexiblesusy::Convergence_tester_DRbar< Model >::accuracy_goal {1e-4}
private

◆ current_accuracy

template<class Model >
double flexiblesusy::Convergence_tester_DRbar< Model >::current_accuracy {std::numeric_limits<double>::infinity()}
private

◆ current_model

template<class Model >
Model flexiblesusy::Convergence_tester_DRbar< Model >::current_model {}
private

model state at current iteration

Definition at line 65 of file convergence_tester_drbar.hpp.

Referenced by flexiblesusy::Convergence_tester_DRbar< Model >::get_current_iteration_model().

◆ it_count

template<class Model >
int flexiblesusy::Convergence_tester_DRbar< Model >::it_count {0}
private

◆ last_iteration_model

template<class Model >
Model flexiblesusy::Convergence_tester_DRbar< Model >::last_iteration_model {}
private

model state at last iteration

Definition at line 66 of file convergence_tester_drbar.hpp.

Referenced by flexiblesusy::Convergence_tester_DRbar< Model >::get_last_iteration_model().

◆ max_it

◆ model

template<class Model >
const Model* flexiblesusy::Convergence_tester_DRbar< Model >::model {nullptr}
private

◆ scale_getter

template<class Model >
Scale_getter flexiblesusy::Convergence_tester_DRbar< Model >::scale_getter {}
private

function to retrieve scale

Definition at line 67 of file convergence_tester_drbar.hpp.

Referenced by flexiblesusy::Convergence_tester_DRbar< Model >::set_scale_getter().


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