Go to the documentation of this file.
23 template<
class NodeX,
class NodeY>
87 template<
class Trts,
class Nd>
88 uint
info_(uint idx,
const Nd* clst,
89 std::unordered_map<uint, uint>& nlf)
const;
93 std::ostream&
info(std::ostream& os)
const;
127 inline float memory()
const;
133 std::ostream&
info(std::ostream& os, uint idxX, uint idxY)
const;
136 template<
class NodeX,
class NodeY>
141 + (ffld_ ? ffld_->val()->memory(exp_.blksz(m_)) : 0))
147 #endif // clusterF01_hh
ClstF< NodeX, NodeY >::FX FX
const Tree< NodeY > & treeY_
virtual FColExp * getCol(uint blksz) const =0
Allocates memory for the expansion coefficients.
Class to store the far field coefficients.
ClstF< NodeX, NodeY >::NfldNodes NfldNodes
Joiner class with multiple successors, i.e.
uint info_(uint idx, const Nd *clst, std::unordered_map< uint, uint > &nlf) const
Information routine for recursive calls used by info(os, idxX, idxY)
F01(const Tree< NodeX > &treeX, const Tree< NodeY > &treeY, const ExpansionF< FX > &exp, concepts::Real eta, uint minsz)
Constructor.
ClstF< NodeX, NodeY >::NfldScan NfldScan
const ExpansionF< FX > & exp_
Kernel expansion.
concepts::Joiner< NfldNodes, 1 > * nfld_
Near field entries.
ClstF< NodeX, NodeY >::TraitsY TraitsY
Interface class for a node in a cluster tree.
F01(const Tree< NodeX > &tree, const ExpansionF< FX > &exp, concepts::Real eta, uint minsz)
Constructor.
void constructor_(const NodeX *clstX, const NodeY *clstY)
Constructor for recursive calls (non symmetric)
uint nffld_
Number of far field entries.
std::ostream & info(std::ostream &os, uint idxX, uint idxY) const
Some detailed information about the far field concering two DoF's.
Ffld(uint blksz, const ExpansionF< FX > &exp, uint sigma, uint tau, Ffld *lnk)
Class to store a pair of clusters in the near field.
uint minsz_
Minimal size for a cluster pair in the far field.
ClstF< NodeX, NodeY >::FY FY
const Tree< NodeX > & treeX_
Cluster trees.
std::ostream & info(std::ostream &os) const
Some basic informations.
An abstract class for scanning a mesh (a set of cells) or a space (a set of elements).
uint sigma_
Number of two clusters belonging to the far field.
Abstract class for a far field matrix F.
FColExp * val_
Far field coefficients of the kernel expansion.
concepts::Real eta_
Far field coefficient.
Used for the cluster classes for the boundary element method.
uint nnfld_
Number of near field entries.
ClstF< NodeX, NodeY >::TraitsX TraitsX
Interface of the far field.
NfldScan * scan() const
Scanner for the nearfield.
Ffld * lnk_
Next far field entry.
void operator()(const ClstY< NodeY > &vecY, ClstX< NodeX > &vecX) const
Application operator.
float memory() const
Memory used by F01 in bytes.
void constructorSym_(const NodeX *clstX, const NodeY *clstY)
Constructor for recursive calls (symmetric)
double Real
Type normally used for a floating point number.
Ffld * ffld_
Far field entries.
Abstract class to hold the expansion coefficients.