Reference documentation for deal.II version 9.0.0
generic_linear_algebra.h
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2008 - 2017 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE at
12 // the top level of the deal.II distribution.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii_generic_linear_algebra_h
17 #define dealii_generic_linear_algebra_h
18 
19 #include <deal.II/base/config.h>
20 
21 
22 #include <deal.II/lac/vector.h>
23 #include <deal.II/lac/block_vector.h>
24 #include <deal.II/lac/sparse_matrix.h>
25 #include <deal.II/lac/precondition.h>
26 
27 
28 DEAL_II_NAMESPACE_OPEN
29 
30 
38 {
41 
43 
45 }
46 
47 
48 DEAL_II_NAMESPACE_CLOSE
49 
50 
51 #ifdef DEAL_II_WITH_PETSC
52 
53 #include <deal.II/lac/block_sparsity_pattern.h>
54 #include <deal.II/lac/petsc_parallel_sparse_matrix.h>
55 #include <deal.II/lac/petsc_parallel_block_sparse_matrix.h>
56 #include <deal.II/lac/petsc_precondition.h>
57 #include <deal.II/lac/petsc_solver.h>
58 
59 DEAL_II_NAMESPACE_OPEN
60 
68 {
69  using namespace dealii;
70 
73 
78  namespace MPI
79  {
84 
90 
95 
101 
102  typedef ::BlockDynamicSparsityPattern BlockCompressedSparsityPattern;
103 
108 
113 
118 
123 
128 
129  }
130 
131 }
132 DEAL_II_NAMESPACE_CLOSE
133 
134 
135 #endif // DEAL_II_WITH_PETSC
136 
137 #ifdef DEAL_II_WITH_TRILINOS
138 
139 #include <deal.II/lac/trilinos_block_sparse_matrix.h>
140 #include <deal.II/lac/trilinos_sparse_matrix.h>
141 #include <deal.II/lac/trilinos_precondition.h>
142 #include <deal.II/lac/block_sparsity_pattern.h>
143 #include <deal.II/lac/trilinos_solver.h>
144 
145 DEAL_II_NAMESPACE_OPEN
146 
154 {
155  using namespace dealii;
156 
159 
164  namespace MPI
165  {
170 
176 
181 
187 
189 
194 
199 
204 
209 
214 
215 
216  }
217 
218 }
219 
220 DEAL_II_NAMESPACE_CLOSE
221 
222 
223 #endif // DEAL_II_WITH_TRILINOS
224 
225 
226 
227 #endif
SparseMatrix< double > SparseMatrix
BlockVector< double > BlockVector