Doxygen API reference documentation for ideal.II
spacetime_trilinos_vector.hh
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2022 - 2023 by the ideal.II authors
4 //
5 // This file is part of the ideal.II library.
6 //
7 // The ideal.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 3.0 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 ideal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef INCLUDE_IDEAL_II_LAC_SPACETIME_TRILINOS_VECTOR_HH_
17 #define INCLUDE_IDEAL_II_LAC_SPACETIME_TRILINOS_VECTOR_HH_
18 
19 #include <deal.II/base/config.h>
20 #ifdef DEAL_II_WITH_TRILINOS
21 # ifdef DEAL_II_WITH_MPI
22 # include <deal.II/lac/trilinos_vector.h>
23 
24 namespace idealii
25 {
26  namespace slab
27  {
32  typename std::list<dealii::TrilinosWrappers::MPI::Vector>::iterator;
33  } // namespace slab
34  namespace spacetime
35  {
36 
37 
45  {
46  public:
51 
55  void
56  reinit(unsigned int M);
57 
61  unsigned int
62  M();
63 
68  begin();
73  end();
74 
75  private:
76  std::list<dealii::TrilinosWrappers::MPI::Vector> _vectors;
77  };
78  } // namespace spacetime
79 } // namespace idealii
80 
81 # endif /* DEAL_II_WITH_MPI */
82 #endif /* DEAL_II_WITH_TRILINOS */
83 #endif /* INCLUDE_IDEAL_II_LAC_SPACETIME_VECTOR_HH_ */
The spacetime Trilinos vector object.
Definition: spacetime_trilinos_vector.hh:45
TrilinosVector()
Construct an empty list of vectors.
void reinit(unsigned int M)
Clear the list and add M empty vectors.
slab::TrilinosVectorIterator end()
Return an iterator pointing behind the last "slab" vector.
unsigned int M()
Return the size of the list, i.e. the number of slabs.
slab::TrilinosVectorIterator begin()
Return an iterator pointing to the first "slab" vector.
typename std::list< dealii::TrilinosWrappers::MPI::Vector >::iterator TrilinosVectorIterator
A shortened type for iterators over a list of shared pointers to dealii::TrilinosWrappers::MPI::Vecto...
Definition: spacetime_trilinos_vector.hh:32
The main namespace of the project.
Definition: idealii.hh:21