Go to the documentation of this file.
6 #ifndef clusterOperator01_hh
7 #define clusterOperator01_hh
32 template<
class NodeX,
class NodeY>
82 inline float memory()
const;
106 std::ostream&
info(std::ostream& os)
const;
128 template<
class Trts,
class Nd>
131 <
typename Trts::F>*>& elm, uint* nelm);
134 template<
class NodeX,
class NodeY>
144 #endif // clusterOperator01_hh
An abstract class for an element of a space.
const concepts::Space< FY > & spaceY() const
Operator01(concepts::BilinearForm< FX > &bf, ClstF< NodeX, NodeY > &F, ClstX< NodeX > &X, ClstY< NodeY > &Y)
Constructor.
Base class for exceptions.
Abstract class for a space.
void constructor_(const Nd *clst, concepts::DynArray< uint > &idx, uint *nidx, concepts::DynArray< const concepts::Element< typename Trts::F > * > &elm, uint *nelm)
Constructor for recursive calls.
Abstract class for a function.
uint dX_
Number of DoF in one cluster.
NfldMatrix * N_
Near field matrix.
std::ostream & info(std::ostream &os) const
ClstF< NodeX, NodeY > & F_
Far field matrix F.
concepts::BilinearForm< FX > & bf_
Bilinear form.
TreeTraits< NodeX > TraitsX
Interface for the operator.
NfldMatrix(concepts::BilinearForm< FX > &bf, NfldMatrix *lnk, concepts::DynArray< uint > &idxX, uint nidxX, concepts::DynArray< const concepts::Element< FX > * > &elmX, uint nelmX, concepts::DynArray< uint > &idxY, uint nidxY, concepts::DynArray< const concepts::Element< FY > * > &elmY, uint nelmY)
Constructor.
Interface class for a node in a cluster tree.
void operator()(const concepts::Vector< FY > &fncY, concepts::Vector< FX > &fncX)
float memory() const
Memory usage in byte.
TreeTraits< NodeY > TraitsY
uint * idxY_
DoF numbers in the other cluster.
uint * idxX_
DoF numbers in one cluster.
Class to hold the near field entries for two clusters.
Abstract class for an operator.
uint dY_
Number of DoF in the other cluster.
void operator()(const concepts::Vector< FY > &fncY, concepts::Vector< FX > &fncX)
Application operator.
Node::CF F
Field of the node (Real or Cmplx)
Abstract class for a far field matrix F.
float memory() const
Memory usage of the operator and the near field (without the far field approximation) in byte.
Used for the cluster classes for the boundary element method.
Cluster approximation of the stiffness matrix.
NfldMatrix * link() const
Next near field entries.
uint nnfldval_
Number of near field entries.
virtual const concepts::Space< F > & space() const =0
Space.
ClstY< NodeY > & Y_
Far field matrix Y.
void operator()(const concepts::Function< FY > &fncY, concepts::Function< FX > &fncX)
const concepts::Space< FX > & spaceX() const
ClstX< NodeX > & X_
Far field matrix X.
NfldMatrix * lnk_
Near field entries of next cluster pair.