DOLFIN
DOLFIN C++ interface
Loading...
Searching...
No Matches
TrilinosPreconditioner.h
1// Copyright (C) 2015 Chris Richardson
2//
3// This file is part of DOLFIN.
4//
5// DOLFIN is free software: you can redistribute it and/or modify
6// it under the terms of the GNU Lesser General Public License as published by
7// the Free Software Foundation, either version 3 of the License, or
8// (at your option) any later version.
9//
10// DOLFIN is distributed in the hope that it will be useful,
11// but WITHOUT ANY WARRANTY; without even the implied warranty of
12// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13// GNU Lesser General Public License for more details.
14//
15// You should have received a copy of the GNU Lesser General Public License
16// along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
17//
18// First added: 2012-11-09
19// Last changed:
20
21#ifndef __TRILINOS_PRECONDITIONER_H
22#define __TRILINOS_PRECONDITIONER_H
23
24#ifdef HAS_TRILINOS
25
26#include <memory>
27
28namespace dolfin
29{
30
31 class BelosKrylovSolver;
32 class TpetraMatrix;
33
35
37 {
38 public:
39
43
47
49 virtual void set(BelosKrylovSolver& solver) = 0;
50
52 virtual void init(std::shared_ptr<const TpetraMatrix> P) = 0;
53
54 };
55}
56
57#endif
58
59#endif
Definition BelosKrylovSolver.h:52
This class provides a common base for Trilinos preconditioners.
Definition TrilinosPreconditioner.h:37
virtual void init(std::shared_ptr< const TpetraMatrix > P)=0
Initialise this preconditioner with the operator P.
~TrilinosPreconditioner()
Destructor.
Definition TrilinosPreconditioner.h:45
virtual void set(BelosKrylovSolver &solver)=0
Set this preconditioner on a solver.
TrilinosPreconditioner()
Constructor.
Definition TrilinosPreconditioner.h:41
Definition adapt.h:30