Classes | Public Types | Public Member Functions | Public Attributes | Static Public Attributes | List of all members
Convergence::Criteria Struct Reference

Criteria that determine an iterative algorithm has converged. More...

#include <Criteria.hpp>

Classes

struct  AbsoluteResidual
 
struct  MaxIterations
 
struct  RelativeResidual
 

Public Types

using options = tmpl::list< MaxIterations, AbsoluteResidual, RelativeResidual >
 

Public Member Functions

 Criteria (size_t max_iterations_in, double absolute_residual_in, double relative_residual_in) noexcept
 
void pup (PUP::er &p) noexcept
 

Public Attributes

size_t max_iterations {}
 
double absolute_residual {}
 
double relative_residual {}
 

Static Public Attributes

static constexpr OptionString help
 

Detailed Description

Criteria that determine an iterative algorithm has converged.

Details

Most criteria are based on a residual magnitude \(r_k\) after completion of an iteration \(k\) (see, for instance, the Linear Solver documentation, LinearSolver::Tags::Residual and LinearSolver::Tags::Magnitude).

The following criteria are implemented, ordered from highest to lowest priority:

Member Data Documentation

◆ help

constexpr OptionString Convergence::Criteria::help
staticconstexpr
Initial value:
=
"The algorithm terminates when any of these criteria is matched."

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