dune-pdelab
2.7-git
Loading...
Searching...
No Matches
dune
pdelab
backend
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>
7
#include <
dune/pdelab/backend/interface.hh
>
8
9
namespace
Dune
{
10
namespace
PDELab {
11
15
16
struct
SequentialNorm
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>
30
struct
LinearSolverResult
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
38
LinearSolverResult
()
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
53
class
LinearResultStorage
54
{
55
public
:
57
const
Dune::PDELab::LinearSolverResult<double>
&
result
()
const
58
{
59
return
res
;
60
}
61
62
protected
:
63
Dune::PDELab::LinearSolverResult<double>
res
;
64
};
65
67
68
}
// end namespace PDELab
69
}
// end namespace Dune
70
71
72
#endif
// DUNE_PDELAB_BACKEND_SOLVER_HH
Dune
For backward compatibility – Do not use this!
Definition
adaptivity.hh:28
Dune::PDELab::SequentialNorm
Definition
solver.hh:17
Dune::PDELab::SequentialNorm::norm
Dune::template FieldTraits< typenameV::ElementType >::real_type norm(const V &v) const
compute global norm of a vector
Definition
solver.hh:22
Dune::PDELab::LinearSolverResult
Definition
solver.hh:31
Dune::PDELab::LinearSolverResult::clear
void clear()
Definition
solver.hh:43
Dune::PDELab::LinearSolverResult::conv_rate
RFType conv_rate
Definition
solver.hh:36
Dune::PDELab::LinearSolverResult::converged
bool converged
Definition
solver.hh:32
Dune::PDELab::LinearSolverResult::reduction
RFType reduction
Definition
solver.hh:35
Dune::PDELab::LinearSolverResult::LinearSolverResult
LinearSolverResult()
Definition
solver.hh:38
Dune::PDELab::LinearSolverResult::iterations
unsigned int iterations
Definition
solver.hh:33
Dune::PDELab::LinearSolverResult::elapsed
double elapsed
Definition
solver.hh:34
Dune::PDELab::LinearResultStorage
Definition
solver.hh:54
Dune::PDELab::LinearResultStorage::res
Dune::PDELab::LinearSolverResult< double > res
Definition
solver.hh:63
Dune::PDELab::LinearResultStorage::result
const Dune::PDELab::LinearSolverResult< double > & result() const
Return access to result data.
Definition
solver.hh:57
interface.hh
Generated by
1.9.8