dune-istl  2.9.0
pinfo.hh
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (C) DUNE Project contributors, see file LICENSE.md in module root
2 // SPDX-License-Identifier: LicenseRef-GPL-2.0-only-with-DUNE-exception
3 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
4 // vi: set et ts=4 sw=2 sts=2:
5 #ifndef DUNE_AMG_PINFO_HH
6 #define DUNE_AMG_PINFO_HH
7 
8 #include <dune/common/parallel/communication.hh>
9 #include <dune/common/enumset.hh>
10 
11 #if HAVE_MPI
12 
13 #include <dune/common/parallel/mpicommunication.hh>
14 #include <dune/common/parallel/mpitraits.hh>
15 #include <dune/common/parallel/remoteindices.hh>
16 #include <dune/common/parallel/interface.hh>
17 #include <dune/common/parallel/communicator.hh>
18 
19 #endif
20 
22 namespace Dune
23 {
24  namespace Amg
25  {
26 
28  {
29  public:
30  typedef Communication<void*> MPICommunicator;
31  typedef EmptySet<int> CopyFlags;
32  typedef AllSet<int> OwnerSet;
33 
36  }
37 
39  {
40  return comm_;
41  }
42 
43  int procs() const
44  {
45  return 1;
46  }
47 
48  template<typename T>
49  T globalSum(const T& t) const
50  {
51  return t;
52  }
53 
54  typedef int GlobalLookupIndexSet;
55 
56  void buildGlobalLookup(std::size_t){}
57 
59 
61  {
62  return gli;
63  }
64 
65  template<class V>
66  void copyOwnerToAll([[maybe_unused]] V& v, [[maybe_unused]] V& v1) const
67  {}
68 
69  template<class V>
70  void project([[maybe_unused]] V& v) const
71  {}
72 
73  template<class T1, class T2>
74  void dot (const T1&, const T1&, T2&) const
75  {
76  // This function should never be called
77  std::abort();
78  }
79 
80  template<class T1>
81  typename FieldTraits<typename T1::field_type>::real_type norm (const T1&) const
82  {
83  // This function should never be called
84  std::abort();
85  }
86 
87  template<class T>
88  SequentialInformation(const Communication<T>&)
89  {}
90 
92  {}
93 
95  {}
96  private:
97  MPICommunicator comm_;
99  };
100 
101 
102  } // namespace Amg
103 } //namespace Dune
104 #endif
Definition: allocator.hh:11
Definition: pinfo.hh:28
SequentialInformation()
Definition: pinfo.hh:91
T globalSum(const T &t) const
Definition: pinfo.hh:49
void project([[maybe_unused]] V &v) const
Definition: pinfo.hh:70
void dot(const T1 &, const T1 &, T2 &) const
Definition: pinfo.hh:74
EmptySet< int > CopyFlags
Definition: pinfo.hh:31
AllSet< int > OwnerSet
Definition: pinfo.hh:32
MPICommunicator communicator() const
Definition: pinfo.hh:38
void buildGlobalLookup(std::size_t)
Definition: pinfo.hh:56
const GlobalLookupIndexSet & globalLookup() const
Definition: pinfo.hh:60
Communication< void * > MPICommunicator
Definition: pinfo.hh:30
SequentialInformation(const Communication< T > &)
Definition: pinfo.hh:88
SequentialInformation(const SequentialInformation &)
Definition: pinfo.hh:94
void freeGlobalLookup()
Definition: pinfo.hh:58
int GlobalLookupIndexSet
Definition: pinfo.hh:54
SolverCategory::Category category() const
Definition: pinfo.hh:34
int procs() const
Definition: pinfo.hh:43
FieldTraits< typename T1::field_type >::real_type norm(const T1 &) const
Definition: pinfo.hh:81
void copyOwnerToAll([[maybe_unused]] V &v, [[maybe_unused]] V &v1) const
Definition: pinfo.hh:66
Category
Definition: solvercategory.hh:23
@ sequential
Category for sequential solvers.
Definition: solvercategory.hh:25