dune-istl  2.2.0
pinfo.hh
Go to the documentation of this file.
1 // $Id: pinfo.hh 1458 2011-03-01 09:48:45Z rebecca $
2 #ifndef DUNE_AMG_PINFO_HH
3 #define DUNE_AMG_PINFO_HH
4 
5 #include<dune/common/collectivecommunication.hh>
6 #include<dune/common/enumset.hh>
7 
8 #if HAVE_MPI
9 
10 #include<dune/common/mpicollectivecommunication.hh>
11 #include<dune/common/mpitraits.hh>
12 #include<dune/common/parallel/remoteindices.hh>
13 #include<dune/common/parallel/interface.hh>
14 #include<dune/common/parallel/communicator.hh>
15 
16 #endif
17 
19 namespace Dune
20 {
21  namespace Amg
22  {
23 
25  {
26  public:
27  typedef CollectiveCommunication<void*> MPICommunicator;
28  typedef EmptySet<int> CopyFlags;
29  typedef AllSet<int> OwnerSet;
30 
31  enum{
33  };
34 
37  }
38 
40  {
41  return comm_;
42  }
43 
44  int procs() const
45  {
46  return 1;
47  }
48 
49  template<typename T>
50  T globalSum(const T& t) const
51  {
52  return t;
53  }
54 
55  typedef int GlobalLookupIndexSet;
56 
57  void buildGlobalLookup(std::size_t){};
58 
59  void freeGlobalLookup(){};
60 
62  {
63  return gli;
64  }
65 
66  template<class V>
67  void copyOwnerToAll(V& v, V& v1) const
68  {}
69 
70  template<class V>
71  void project(V& v) const
72  {}
73 
74  template<class T>
75  SequentialInformation(const CollectiveCommunication<T>&)
76  {}
77 
79  {}
80 
82  {}
83  private:
84  MPICommunicator comm_;
86  };
87 
88 
89  }// namespace Amg
90 } //namespace Dune
91 #endif