Reference documentation for deal.II version GIT edc7d5c3ce 2023-09-25 07:10:03+00:00
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
trilinos_tpetra_vector.cc
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2018 - 2023 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.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 #include <deal.II/lac/trilinos_tpetra_vector.templates.h>
17 
18 #ifdef DEAL_II_TRILINOS_WITH_TPETRA
19 
21 
22 namespace LinearAlgebra
23 {
24  namespace TpetraWrappers
25  {
26  // Instantiate these vectors types for specific scalar types.
27  //
28  // While there:
29  // Check that the class we declare here satisfies the
30  // vector-space-vector concept. If we catch it here,
31  // any mistake in the vector class declaration would
32  // show up in uses of this class later on as well.
33 
34 # ifdef HAVE_TPETRA_INST_FLOAT
35 # ifdef DEAL_II_HAVE_CXX20
37 # endif
38  template class Vector<float>;
39 # endif
40 # ifdef HAVE_TPETRA_INST_DOUBLE
41 # ifdef DEAL_II_HAVE_CXX20
43 # endif
44  template class Vector<double>;
45 # endif
46 # ifdef DEAL_II_WITH_COMPLEX_VALUES
47 # ifdef HAVE_TPETRA_INST_COMPLEX_FLOAT
48 # ifdef DEAL_II_HAVE_CXX20
49  static_assert(concepts::is_vector_space_vector <
50  Vector<std::complex<float>>);
51 # endif
52  template class Vector<std::complex<float>>;
53 # endif
54 # ifdef HAVE_TPETRA_INST_COMPLEX_DOUBLE
55 # ifdef DEAL_II_HAVE_CXX20
56  static_assert(concepts::is_vector_space_vector <
57  Vector<std::complex<double>>);
58 # endif
59  template class Vector<std::complex<double>>;
60 # endif
61 # endif
62  } // namespace TpetraWrappers
63 } // namespace LinearAlgebra
64 
66 
67 #endif
Definition: vector.h:110
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:477
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:478
concept is_vector_space_vector