Dune Core Modules (2.6.0)

pinfo.hh
1// -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2// vi: set et ts=4 sw=2 sts=2:
3#ifndef DUNE_AMG_PINFO_HH
4#define DUNE_AMG_PINFO_HH
5
8
9#if HAVE_MPI
10
16
17#endif
18
19#include <dune/istl/solvercategory.hh>
20namespace Dune
21{
22 namespace Amg
23 {
24
25 class SequentialInformation
26 {
27 public:
28 typedef CollectiveCommunication<void*> MPICommunicator;
29 typedef EmptySet<int> CopyFlags;
30 typedef AllSet<int> OwnerSet;
31
32 SolverCategory::Category getSolverCategory () const {
34 }
35
36 MPICommunicator communicator() const
37 {
38 return comm_;
39 }
40
41 int procs() const
42 {
43 return 1;
44 }
45
46 template<typename T>
47 T globalSum(const T& t) const
48 {
49 return t;
50 }
51
52 typedef int GlobalLookupIndexSet;
53
54 void buildGlobalLookup(std::size_t){}
55
56 void freeGlobalLookup(){}
57
58 const GlobalLookupIndexSet& globalLookup() const
59 {
60 return gli;
61 }
62
63 template<class V>
64 void copyOwnerToAll(V& v, V& v1) const
65 {
68 }
69
70 template<class V>
71 void project(V& v) const
72 {
74 }
75
76 template<class T1, class T2>
77 void dot (const T1& x, const T1& y, T2& result) const
78 {
79 assert(false && "this function should never be called");
80 }
81
82 template<class T1>
83 typename FieldTraits<typename T1::field_type>::real_type norm (const T1& x) const
84 {
85 assert(false && "this function should never be called");
86 return typename FieldTraits<typename T1::field_type>::real_type(0);
87 }
88
89 template<class T>
90 SequentialInformation(const CollectiveCommunication<T>&)
91 {}
92
93 SequentialInformation()
94 {}
95
96 SequentialInformation(const SequentialInformation&)
97 {}
98 private:
99 MPICommunicator comm_;
100 GlobalLookupIndexSet gli;
101 };
102
103
104 } // namespace Amg
105} //namespace Dune
106#endif
Implements an utility class that provides collective communication methods for sequential programs.
Provides utility classes for syncing distributed data via MPI communication.
Provides classes for building the communication interface between remote indices.
Classes for building sets out of enumeration values.
auto dot(const A &a, const B &b) -> typename std::enable_if<!IsVector< A >::value &&!std::is_same< typename FieldTraits< A >::field_type, typename FieldTraits< A >::real_type > ::value, decltype(conj(a) *b)>::type
computes the dot product for fundamental data types according to Petsc's VectDot function: dot(a,...
Definition: dotproduct.hh:40
#define DUNE_UNUSED_PARAMETER(parm)
A macro to mark intentionally unused function parameters with.
Definition: unused.hh:25
Implements an utility class that provides MPI's collective communication methods.
Traits classes for mapping types onto MPI_Datatype.
Dune namespace.
Definition: alignedallocator.hh:10
Classes describing a distributed indexset.
Category
Definition: solvercategory.hh:21
@ sequential
Category for sequential solvers.
Definition: solvercategory.hh:23
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 24, 23:30, 2024)