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
22namespace 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
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 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
void copyOwnerToAll(V &v, V &v1) const
Definition: pinfo.hh:66
MPICommunicator communicator() const
Definition: pinfo.hh:38
void buildGlobalLookup(std::size_t)
Definition: pinfo.hh:56
FieldTraits< typenameT1::field_type >::real_type norm(const T1 &) const
Definition: pinfo.hh:81
void project(V &v) const
Definition: pinfo.hh:70
Communication< void * > MPICommunicator
Definition: pinfo.hh:30
SequentialInformation(const Communication< T > &)
Definition: pinfo.hh:88
const GlobalLookupIndexSet & globalLookup() const
Definition: pinfo.hh:60
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
Category
Definition: solvercategory.hh:23
@ sequential
Category for sequential solvers.
Definition: solvercategory.hh:25