dune-pdelab  2.7-git
solver.hh
Go to the documentation of this file.
1 // -*- tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 // vi: set et ts=8 sw=2 sts=2:
3 #ifndef DUNE_PDELAB_BACKEND_SOLVER_HH
4 #define DUNE_PDELAB_BACKEND_SOLVER_HH
5 
6 #include <dune/common/fvector.hh>
8 
9 namespace Dune {
10  namespace PDELab {
11 
15 
17  {
21  template<class V>
22  typename Dune::template FieldTraits<typename V::ElementType >::real_type norm(const V& v) const
23  {
24  return v.two_norm();
25  }
26  };
27 
28  // Status information of a linear solver
29  template<class RFType>
31  {
32  bool converged; // Solver converged
33  unsigned int iterations; // number of iterations
34  double elapsed; // total user time in seconds
35  RFType reduction; // defect reduction
36  RFType conv_rate; // convergence rate (average reduction per step)
37 
39  {
40  clear();
41  }
42 
43  void clear()
44  {
45  converged = false;
46  iterations = 0;
47  elapsed = 0.0;
48  reduction = 0.0;
49  conv_rate = 0.0;
50  }
51  };
52 
54  {
55  public:
58  {
59  return res;
60  }
61 
62  protected:
64  };
65 
67 
68  } // end namespace PDELab
69 } // end namespace Dune
70 
71 
72 #endif // DUNE_PDELAB_BACKEND_SOLVER_HH
Dune::PDELab::SequentialNorm::norm
Dune::template FieldTraits< typename V::ElementType >::real_type norm(const V &v) const
compute global norm of a vector
Definition: solver.hh:22
Dune::PDELab::LinearSolverResult::reduction
RFType reduction
Definition: solver.hh:35
Dune::PDELab::LinearSolverResult::conv_rate
RFType conv_rate
Definition: solver.hh:36
Dune::PDELab::LinearResultStorage::res
Dune::PDELab::LinearSolverResult< double > res
Definition: solver.hh:63
Dune::PDELab::LinearSolverResult
Definition: solver.hh:30
Dune
For backward compatibility – Do not use this!
Definition: adaptivity.hh:28
Dune::PDELab::LinearSolverResult::converged
bool converged
Definition: solver.hh:32
Dune::PDELab::LinearSolverResult::iterations
unsigned int iterations
Definition: solver.hh:33
Dune::PDELab::LinearResultStorage
Definition: solver.hh:53
Dune::PDELab::LinearSolverResult::LinearSolverResult
LinearSolverResult()
Definition: solver.hh:38
interface.hh
Dune::PDELab::SequentialNorm
Definition: solver.hh:16
Dune::PDELab::LinearSolverResult::elapsed
double elapsed
Definition: solver.hh:34
Dune::PDELab::LinearSolverResult::clear
void clear()
Definition: solver.hh:43
Dune::PDELab::LinearResultStorage::result
const Dune::PDELab::LinearSolverResult< double > & result() const
Return access to result data.
Definition: solver.hh:57