libMesh
src
numerics
sparse_shell_matrix.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
19
20
// Local includes
21
#include "libmesh/sparse_shell_matrix.h"
22
23
namespace
libMesh
24
{
25
26
template
<
typename
T>
27
void
SparseShellMatrix<T>::vector_mult
(
NumericVector<T>
& dest,
28
const
NumericVector<T>
& arg)
const
29
{
30
_m.vector_mult(dest,arg);
31
}
32
33
34
35
template
<
typename
T>
36
void
SparseShellMatrix<T>::vector_mult_add
(
NumericVector<T>
& dest,
37
const
NumericVector<T>
& arg)
const
38
{
39
_m.vector_mult_add(dest,arg);
40
}
41
42
43
44
//------------------------------------------------------------------
45
// Explicit instantiations
46
template
class
SparseShellMatrix<Number>
;
47
48
}
// namespace libMesh
libMesh
The libMesh namespace provides an interface to certain functionality in the library.
Definition:
factoryfunction.C:55
libMesh::SparseShellMatrix::vector_mult
virtual void vector_mult(NumericVector< T > &dest, const NumericVector< T > &arg) const override
Multiplies the matrix with arg and stores the result in dest.
Definition:
sparse_shell_matrix.C:27
libMesh::NumericVector
Provides a uniform interface to vector storage schemes for different linear algebra libraries.
Definition:
vector_fe_ex5.C:43
libMesh::SparseShellMatrix::vector_mult_add
virtual void vector_mult_add(NumericVector< T > &dest, const NumericVector< T > &arg) const override
Multiplies the matrix with arg and adds the result to dest.
Definition:
sparse_shell_matrix.C:36
libMesh::SparseShellMatrix
This class allows to use any SparseMatrix object as a shell matrix.
Definition:
sparse_shell_matrix.h:43
Generated on Sat Jan 25 2020 12:07:02 for libMesh by
1.8.16