libMesh
src
numerics
eigen_preconditioner.C
Go to the documentation of this file.
1
// The libMesh Finite Element Library.
2
// Copyright (C) 2002-2019 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner
3
4
// This library is free software; you can redistribute it and/or
5
// modify it under the terms of the GNU Lesser General Public
6
// License as published by the Free Software Foundation; either
7
// version 2.1 of the License, or (at your option) any later version.
8
9
// This library is distributed in the hope that it will be useful,
10
// but WITHOUT ANY WARRANTY; without even the implied warranty of
11
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12
// Lesser General Public License for more details.
13
14
// You should have received a copy of the GNU Lesser General Public
15
// License along with this library; if not, write to the Free Software
16
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
18
#include "libmesh/libmesh_common.h"
19
20
#ifdef LIBMESH_HAVE_EIGEN
21
22
// C++ includes
23
24
// Local Includes
25
#include "libmesh/eigen_preconditioner.h"
26
#include "libmesh/eigen_sparse_matrix.h"
27
#include "libmesh/eigen_sparse_vector.h"
28
#include "libmesh/libmesh_common.h"
29
30
namespace
libMesh
31
{
32
33
template
<
typename
T>
34
void
EigenPreconditioner<T>::apply
(
const
NumericVector<T>
&
/* x */
,
NumericVector<T>
&
/* y */
)
35
{
36
libmesh_not_implemented();
37
}
38
39
40
41
42
template
<
typename
T>
43
void
EigenPreconditioner<T>::init
()
44
{
45
libmesh_not_implemented();
46
}
47
48
49
50
//------------------------------------------------------------------
51
// Explicit instantiations
52
template
class
EigenPreconditioner<Number>
;
53
54
}
// namespace libMesh
55
56
#endif // #ifdef LIBMESH_HAVE_EIGEN
libMesh
The libMesh namespace provides an interface to certain functionality in the library.
Definition:
factoryfunction.C:55
libMesh::NumericVector
Provides a uniform interface to vector storage schemes for different linear algebra libraries.
Definition:
vector_fe_ex5.C:43
libMesh::EigenPreconditioner::apply
virtual void apply(const NumericVector< T > &x, NumericVector< T > &y) override
Computes the preconditioned vector y based on input vector x.
Definition:
eigen_preconditioner.C:34
libMesh::EigenPreconditioner::init
virtual void init() override
Initialize data structures if not done so already.
Definition:
eigen_preconditioner.C:43
libMesh::EigenPreconditioner
This class provides an interface to the suite of preconditioners available from Eigen.
Definition:
eigen_preconditioner.h:47
Generated on Sat Jan 25 2020 12:07:02 for libMesh by
1.8.16