~njansson/dolfin/hpc

« back to all changes in this revision

Viewing changes to src/kernel/la/GMRES.cpp

  • Committer: Johannes Ring
  • Date: 2008-03-05 22:43:06 UTC
  • Revision ID: johannr@simula.no-20080305224306-2npsdyhfdpl2esji
The BIG commit!

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// Copyright (C) 2006 Anders Logg.
2
 
// Licensed under the GNU LGPL Version 2.1.
3
 
// 
4
 
// First added:  2006-08-16
5
 
// Last changed: 2006-08-16
6
 
 
7
 
#include <dolfin/GMRES.h>
8
 
 
9
 
using namespace dolfin;
10
 
 
11
 
#ifdef HAVE_PETSC_H
12
 
//-----------------------------------------------------------------------------
13
 
dolfin::uint GMRES::solve(const PETScMatrix& A, PETScVector& x,
14
 
                          const PETScVector& b, Preconditioner pc)
15
 
{
16
 
  PETScKrylovSolver solver(gmres, pc);
17
 
  return solver.solve(A, x, b);
18
 
}
19
 
//-----------------------------------------------------------------------------
20
 
dolfin::uint GMRES::solve(const PETScKrylovMatrix& A, PETScVector& x,
21
 
                          const PETScVector& b, Preconditioner pc)
22
 
{
23
 
  PETScKrylovSolver solver(gmres, pc);
24
 
  return solver.solve(A, x, b);
25
 
}
26
 
//-----------------------------------------------------------------------------
27
 
dolfin::uint GMRES::solve(const PETScMatrix& A, PETScVector& x,
28
 
                          const PETScVector& b, PETScPreconditioner& pc)
29
 
{
30
 
  PETScKrylovSolver solver(gmres, pc);
31
 
  return solver.solve(A, x, b);
32
 
}
33
 
//-----------------------------------------------------------------------------
34
 
dolfin::uint GMRES::solve(const PETScKrylovMatrix& A, PETScVector& x,
35
 
                          const PETScVector& b, PETScPreconditioner& pc)
36
 
{
37
 
  PETScKrylovSolver solver(gmres, pc);
38
 
  return solver.solve(A, x, b);
39
 
}
40
 
//-----------------------------------------------------------------------------
41
 
#endif
42
 
 
43
 
//-----------------------------------------------------------------------------
44
 
dolfin::uint GMRES::solve(const uBlasMatrix<ublas_dense_matrix>& A,
45
 
                          uBlasVector& x, const uBlasVector& b,
46
 
                          Preconditioner pc)
47
 
{
48
 
  uBlasKrylovSolver solver(gmres, pc);
49
 
  return solver.solve(A, x, b);
50
 
}
51
 
//-----------------------------------------------------------------------------
52
 
dolfin::uint GMRES::solve(const uBlasMatrix<ublas_sparse_matrix>& A,
53
 
                          uBlasVector& x, const uBlasVector& b,
54
 
                          Preconditioner pc)
55
 
{
56
 
  uBlasKrylovSolver solver(gmres, pc);
57
 
  return solver.solve(A, x, b);
58
 
}
59
 
//-----------------------------------------------------------------------------
60
 
dolfin::uint GMRES::solve(const uBlasKrylovMatrix& A, uBlasVector& x,
61
 
                          const uBlasVector& b, Preconditioner pc)
62
 
{
63
 
  uBlasKrylovSolver solver(gmres, pc);
64
 
  return solver.solve(A, x, b);
65
 
}
66
 
//-----------------------------------------------------------------------------
67
 
dolfin::uint GMRES::solve(const uBlasMatrix<ublas_dense_matrix>& A,
68
 
                          uBlasVector& x, const uBlasVector& b,
69
 
                          uBlasPreconditioner& pc)
70
 
{
71
 
  uBlasKrylovSolver solver(gmres, pc);
72
 
  return solver.solve(A, x, b);
73
 
}
74
 
//-----------------------------------------------------------------------------
75
 
dolfin::uint GMRES::solve(const uBlasMatrix<ublas_sparse_matrix>& A,
76
 
                          uBlasVector& x, const uBlasVector& b,
77
 
                          uBlasPreconditioner& pc)
78
 
{
79
 
  uBlasKrylovSolver solver(gmres, pc);
80
 
  return solver.solve(A, x, b);
81
 
}
82
 
//-----------------------------------------------------------------------------
83
 
dolfin::uint GMRES::solve(const uBlasKrylovMatrix& A, uBlasVector& x,
84
 
                          const uBlasVector& b, uBlasPreconditioner& pc)
85
 
{
86
 
  uBlasKrylovSolver solver(gmres, pc);
87
 
  return solver.solve(A, x, b);
88
 
}
89
 
//-----------------------------------------------------------------------------