|
suanPan
🧮 An Open Source, Parallel and Heterogeneous Finite Element Analysis Framework
|
The Converger class handles converger test to indicate if the iteration converges according to various rules. More...
#include <Converger.h>
Public Member Functions | |
| Converger (unsigned=0, double=1E-8, unsigned=10, bool=false) | |
| the complete constructor. | |
| virtual int | initialize () |
| virtual unique_ptr< Converger > | unique_copy ()=0 |
| void | set_tolerance (double) |
method to set tolerance. | |
| double | get_tolerance () const |
method to return tolerance. | |
| void | set_max_iteration (unsigned) |
| unsigned | get_max_iteration () const |
| void | set_domain (const std::weak_ptr< DomainBase > &) |
method to set DomainBase. | |
| const std::weak_ptr< DomainBase > & | get_domain () const |
method to return DomainBase. | |
| virtual void | set_error (double) |
method to set error. | |
| double | get_error () const |
method to return error. | |
| virtual void | set_conv_flag (bool) |
method to set conv_flag. | |
| bool | get_conv_flag () const |
method to return conv_flag. | |
| virtual bool | is_converged (unsigned)=0 |
Public Member Functions inherited from CopyableTag | |
| CopyableTag (const CopyableTag &)=default | |
| CopyableTag (CopyableTag &&)=default | |
| CopyableTag & | operator= (const CopyableTag &)=delete |
| CopyableTag & | operator= (CopyableTag &&)=delete |
| ~CopyableTag () override=default | |
| Tag (unsigned=0) | |
| Tag (const Tag &)=default | |
| Tag (Tag &&) noexcept=default | |
Public Member Functions inherited from Tag | |
| Tag (unsigned=0) | |
| Tag (const Tag &)=default | |
| Tag (Tag &&) noexcept=default | |
| Tag & | operator= (const Tag &)=delete |
| Tag & | operator= (Tag &&)=delete |
| virtual | ~Tag ()=default |
| void | set_tag (unsigned) const |
| unsigned | get_tag () const |
| void | enable () |
| void | disable () |
| void | guard () |
| void | unguard () |
| bool | is_active () const |
| bool | is_guarded () const |
| virtual void | print () |
Protected Member Functions | |
| vec | get_residual () const |
| bool | is_print () const |
method to return print_flag. | |
The Converger class handles converger test to indicate if the iteration converges according to various rules.
The class stores a pointer factory pointed to the Workshop and get information from this Workshop. The tolerance and error are stored independently so that the Workshop will not be modified.
The class further provides a print_flag to indicate if the test information should be printed out.
the complete constructor.
| T | unique_tag |
| E | tolerance |
| M | maximum_iteration |
| P | print_flag |
| bool Converger::get_conv_flag | ( | ) | const |
method to return conv_flag.
conv_flag | const std::weak_ptr< DomainBase > & Converger::get_domain | ( | ) | const |
| double Converger::get_error | ( | ) | const |
method to return error.
error | unsigned Converger::get_max_iteration | ( | ) | const |
|
protected |
| double Converger::get_tolerance | ( | ) | const |
method to return tolerance.
tolerance
|
virtual |
Reimplemented in LogicConverger.
|
pure virtual |
Implemented in AbsDisp, AbsError, AbsIncreAcc, AbsIncreDisp, AbsIncreEnergy, AbsResidual, FixedNumber, LogicAND, LogicOR, LogicXOR, RelDisp, RelError, RelIncreAcc, RelIncreDisp, RelIncreEnergy, and RelResidual.
|
protected |
method to return print_flag.
print_flag
|
virtual |
method to set conv_flag.
| C | conv_flag |
| void Converger::set_domain | ( | const std::weak_ptr< DomainBase > & | D | ) |
method to set DomainBase.
| D | DomainBase |
|
virtual |
method to set error.
| E | error |
| void Converger::set_max_iteration | ( | unsigned | M | ) |
| void Converger::set_tolerance | ( | double | T | ) |
method to set tolerance.
| T | tolerance |
|
pure virtual |
Implemented in AbsDisp, AbsError, AbsIncreAcc, AbsIncreDisp, AbsIncreEnergy, AbsResidual, FixedNumber, LogicAND, LogicOR, LogicXOR, RelDisp, RelError, RelIncreAcc, RelIncreDisp, RelIncreEnergy, and RelResidual.