Doxygen API reference documentation for ideal.II
Loading...
Searching...
No Matches
spacetime_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_VECTOR_HH_
17#define INCLUDE_IDEAL_II_LAC_SPACETIME_VECTOR_HH_
18
19#include <deal.II/lac/vector.h>
20
21namespace idealii
22{
23 namespace slab
24 {
28 template <typename Number>
29 using VectorIterator = typename std::list<dealii::Vector<Number>>::iterator;
30 } // namespace slab
31 namespace spacetime
32 {
33
40 template <typename Number>
41 class Vector
42 {
43 public:
48
52 void
53 reinit(unsigned int M);
54
58 unsigned int
59 M();
60
70 end();
71
72 private:
73 std::list<dealii::Vector<Number>> _vectors;
74 };
75 } // namespace spacetime
76} // namespace idealii
77
78#endif /* INCLUDE_IDEAL_II_LAC_SPACETIME_VECTOR_HH_ */
The spacetime vector object.
Definition spacetime_vector.hh:42
slab::VectorIterator< Number > begin()
Return an iterator pointing to the first "slab" vector.
slab::VectorIterator< Number > end()
Return an iterator pointing behind the last "slab" vector.
void reinit(unsigned int M)
Clear the list and add M empty vectors.
unsigned int M()
Return the size of the list, i.e. the number of slabs.
Vector()
Construct an empty list of vectors.
typename std::list< dealii::Vector< Number > >::iterator VectorIterator
A shortened type for iterators over a list of shared pointers to dealii::Vectors.
Definition spacetime_vector.hh:29
The main namespace of the project.
Definition idealii.hh:21