SpECTRE Documentation Coverage Report
Current view: top level - NumericalAlgorithms/Convergence - Reason.hpp Hit Total Coverage
Commit: f23e75c235cae5144b8ac7ce01280be5b8cd2c8a Lines: 1 6 16.7 %
Date: 2024-09-07 06:21:00
Legend: Lines: hit not hit

          Line data    Source code
       1           0 : // Distributed under the MIT License.
       2             : // See LICENSE.txt for details.
       3             : 
       4             : #pragma once
       5             : 
       6             : #include <iosfwd>
       7             : 
       8             : /// \cond
       9             : namespace Options {
      10             : class Option;
      11             : template <typename T>
      12             : struct create_from_yaml;
      13             : }  // namespace Options
      14             : /// \endcond
      15             : 
      16             : namespace Convergence {
      17             : 
      18             : /*!
      19             :  * \brief The reason the algorithm has converged or terminated.
      20             :  *
      21             :  * \see Convergence::Criteria
      22             :  */
      23           1 : enum class Reason {
      24             :   /// Reached the target number of iterations
      25             :   NumIterations,
      26             :   /// Reached the maximum number of iterations. Can be interpreted as an error
      27             :   /// condition.
      28             :   MaxIterations,
      29             :   /// Residual converged below absolute tolerance
      30             :   AbsoluteResidual,
      31             :   /// Residual converged below relative tolerance
      32             :   RelativeResidual,
      33             :   /// An error occurred during the algorithm
      34             :   Error
      35             : };
      36             : 
      37           0 : std::ostream& operator<<(std::ostream& os, const Reason& reason);
      38             : 
      39             : }  // namespace Convergence
      40             : 
      41             : template <>
      42           0 : struct Options::create_from_yaml<Convergence::Reason> {
      43             :   template <typename Metavariables>
      44           0 :   static Convergence::Reason create(const Options::Option& options) {
      45             :     return create<void>(options);
      46             :   }
      47             : };
      48             : template <>
      49           0 : Convergence::Reason
      50             : Options::create_from_yaml<Convergence::Reason>::create<void>(
      51             :     const Options::Option& options);

Generated by: LCOV version 1.14