flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
flexiblesusy::Composite_convergence_tester Class Reference

A composite convergence tester. More...

#include <composite_convergence_tester.hpp>

Inheritance diagram for flexiblesusy::Composite_convergence_tester:
Inheritance graph
Collaboration diagram for flexiblesusy::Composite_convergence_tester:
Collaboration graph

Public Member Functions

virtual bool accuracy_goal_reached () override
 
void add_convergence_tester (Convergence_tester *)
 
 Composite_convergence_tester ()=default
 
virtual int max_iterations () const override
 
virtual void restart () override
 
virtual ~Composite_convergence_tester ()=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
 

Private Attributes

std::vector< Convergence_tester * > testers {}
 

Detailed Description

A composite convergence tester.

This class collects convergence testers that will be checked when Composite_convergence_tester::accuracy_goal_reached() is called.

Definition at line 35 of file composite_convergence_tester.hpp.

Constructor & Destructor Documentation

◆ Composite_convergence_tester()

flexiblesusy::Composite_convergence_tester::Composite_convergence_tester ( )
default

◆ ~Composite_convergence_tester()

virtual flexiblesusy::Composite_convergence_tester::~Composite_convergence_tester ( )
virtualdefault

Member Function Documentation

◆ accuracy_goal_reached()

bool flexiblesusy::Composite_convergence_tester::accuracy_goal_reached ( )
overridevirtual

Calls the Convergence_tester::accuracy_goal_reached() functions of all convergence testers. If at least one of them returns false, then false is returned. Othewise (all convergence testers yield true) true is returned.

Note
An alternative implementation would be: When the first convergence tester returns false, then false is returned. Otherwise (all convergence testers yield true) true is returned. This implementation is currently not realized, because it is not ensured that all Convergence_tester::accuracy_goal_reached() functions are called.
Returns
true if and only if all accuracy_goal_reached() function calls of all convergence testers return true. Otherewise false is returned.

Implements flexiblesusy::Convergence_tester< T >.

Definition at line 42 of file composite_convergence_tester.cpp.

References testers.

◆ add_convergence_tester()

void flexiblesusy::Composite_convergence_tester::add_convergence_tester ( Convergence_tester t)

Definition at line 72 of file composite_convergence_tester.cpp.

References testers.

◆ max_iterations()

int flexiblesusy::Composite_convergence_tester::max_iterations ( ) const
overridevirtual

Implements flexiblesusy::Convergence_tester< T >.

Definition at line 54 of file composite_convergence_tester.cpp.

References testers.

◆ restart()

void flexiblesusy::Composite_convergence_tester::restart ( )
overridevirtual

Implements flexiblesusy::Convergence_tester< T >.

Definition at line 66 of file composite_convergence_tester.cpp.

References testers.

Member Data Documentation

◆ testers

std::vector<Convergence_tester*> flexiblesusy::Composite_convergence_tester::testers {}
private

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