xy.hh

Go to the documentation of this file.
1 
6 #ifndef clusterXY_hh
7 #define clusterXY_hh
8 
10 #include "function/vector.hh"
11 #include "cluster/tree.hh"
12 
13 namespace cluster {
14 
15  // ******************************************************************** XY **
16 
20  template<class Node>
22  public:
25  typedef typename Traits::F F;
26 
27  virtual ~ClstXY() {}
28 
32  virtual F* operator[](uint i) const = 0;
34  virtual const Tree<Node>& tree() const = 0;
36  virtual const concepts::Space<F>& space() const = 0;
38  virtual void zero() = 0;
39  };
40 
41  // ********************************************************************* X **
42 
46  template<class Node>
47  class ClstX : public ClstXY<Node> {
48  public:
49  typedef typename ClstXY<Node>::F F;
50 
51  virtual void gather(concepts::Vector<F>& fnc) = 0;
52  };
53 
54  // ********************************************************************* Y **
55 
59  template<class Node>
60  class ClstY : public ClstXY<Node> {
61  public:
62  typedef typename ClstXY<Node>::F F;
63 
64  virtual void scatter(const concepts::Vector<F>& fnc) = 0;
65  };
66 
67 }
68 
69 #endif // clusterXY_hh
70 
71 
virtual void scatter(const concepts::Vector< F > &fnc)=0
ClstXY< Node >::F F
Definition: xy.hh:49
Abstract class for a space.
virtual F * operator[](uint i) const =0
Returns the i-th auxiliary vector (vector corresponding to the i-th cluster)
virtual void gather(concepts::Vector< F > &fnc)=0
Interface class for a node in a cluster tree.
Definition: tree.hh:252
Abstract class for the far field matrix Y.
Definition: xy.hh:60
Abstract class for the far field matrices X and Y.
Definition: xy.hh:21
Traits::F F
Definition: xy.hh:25
Node::CF F
Field of the node (Real or Cmplx)
Definition: tree.hh:255
TreeTraits< Node > Traits
Interface for the far field matrices.
Definition: xy.hh:24
Abstract class for the far field matrix X.
Definition: xy.hh:47
Used for the cluster classes for the boundary element method.
Definition: cebysev.hh:13
virtual const concepts::Space< F > & space() const =0
Space.
virtual const Tree< Node > & tree() const =0
Cluster tree.
Class providing an output operator.
virtual ~ClstXY()
Definition: xy.hh:27
ClstXY< Node >::F F
Definition: xy.hh:62
virtual void zero()=0
Sets the auxiliary vectors to zero.
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich