dune-istl 2.9.1
Loading...
Searching...
No Matches
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
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& x, const T1& y, T2& result) const
75 {
76 result = x.dot(y);
77 }
78
79 template<class T1>
80 typename FieldTraits<typename T1::field_type>::real_type norm (const T1& x) const
81 {
82 return x.two_norm();
83 }
84
85 template<class T>
86 SequentialInformation(const Communication<T>&)
87 {}
88
91
94 private:
95 MPICommunicator comm_;
97 };
98
99
100 } // namespace Amg
101} //namespace Dune
102#endif
Definition allocator.hh:11
Definition pinfo.hh:28
SequentialInformation()
Definition pinfo.hh:89
T globalSum(const T &t) const
Definition pinfo.hh:49
EmptySet< int > CopyFlags
Definition pinfo.hh:31
void dot(const T1 &x, const T1 &y, T2 &result) const
Definition pinfo.hh:74
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
void project(V &v) const
Definition pinfo.hh:70
Communication< void * > MPICommunicator
Definition pinfo.hh:30
SequentialInformation(const Communication< T > &)
Definition pinfo.hh:86
const GlobalLookupIndexSet & globalLookup() const
Definition pinfo.hh:60
SequentialInformation(const SequentialInformation &)
Definition pinfo.hh:92
FieldTraits< typenameT1::field_type >::real_type norm(const T1 &x) const
Definition pinfo.hh:80
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