Far field matrix F. More...
#include <f01.hh>


Classes | |
| class | Ffld |
| Class to store the far field coefficients. More... | |
Public Types | |
| typedef ClstF< NodeX, NodeY >::FX | FX |
| typedef ClstF< NodeX, NodeY >::FY | FY |
| typedef ClstF< NodeX, NodeY > ::NfldNodes | NfldNodes |
| typedef ClstF< NodeX, NodeY > ::NfldScan | NfldScan |
| typedef ClstF< NodeX, NodeY > ::TraitsX | TraitsX |
| Interface of the far field. | |
| typedef ClstF< NodeX, NodeY > ::TraitsY | TraitsY |
Public Member Functions | |
| F01 (const Tree< NodeX > &treeX, const Tree< NodeY > &treeY, const ExpansionF< FX > &exp, concepts::Real eta, uint minsz) | |
| Constructor. | |
| F01 (const Tree< NodeX > &tree, const ExpansionF< FX > &exp, concepts::Real eta, uint minsz) | |
| Constructor. | |
| std::ostream & | info (std::ostream &os, uint idxX, uint idxY) const |
| Some detailed information about the far field concering two DoF's. | |
| float | memory () const |
| Memory used by F01 in bytes. | |
| void | operator() (const ClstY< NodeY > &vecY, ClstX< NodeX > &vecX) const |
| Application operator. | |
| NfldScan * | scan () const |
| Scanner for the nearfield. | |
| ~F01 () | |
Protected Member Functions | |
| std::ostream & | info (std::ostream &os) const |
| Some basic informations. | |
Private Member Functions | |
| void | constructor_ (const NodeX *clstX, const NodeY *clstY) |
| Constructor for recursive calls (non symmetric) | |
| void | constructorSym_ (const NodeX *clstX, const NodeY *clstY) |
| Constructor for recursive calls (symmetric) | |
| template<class Trts , class Nd > | |
| uint | info_ (uint idx, const Nd *clst, __gnu_cxx::hash_map< uint, uint > &nlf) const |
| Information routine for recursive calls used by info(os, idxX, idxY) | |
Private Attributes | |
| concepts::Real | eta_ |
| Far field coefficient. | |
| const ExpansionF< FX > & | exp_ |
| Kernel expansion. | |
| Ffld * | ffld_ |
| Far field entries. | |
| uint | m_ |
| Expansion order. | |
| uint | minsz_ |
| Minimal size for a cluster pair in the far field. | |
| uint | nffld_ |
| Number of far field entries. | |
| concepts::Joiner< NfldNodes, 1 > * | nfld_ |
| Near field entries. | |
| uint | nnfld_ |
| Number of near field entries. | |
| const Tree< NodeX > & | treeX_ |
| Cluster trees. | |
| const Tree< NodeY > & | treeY_ |
Far field matrix F.
Expansion order m and far field coefficient constant.
| typedef ClstF<NodeX, NodeY>::FX cluster::F01< NodeX, NodeY >::FX |
Reimplemented from cluster::ClstF< NodeX, NodeY >.
| typedef ClstF<NodeX, NodeY>::FY cluster::F01< NodeX, NodeY >::FY |
Reimplemented from cluster::ClstF< NodeX, NodeY >.
| typedef ClstF<NodeX, NodeY>::NfldNodes cluster::F01< NodeX, NodeY >::NfldNodes |
Reimplemented from cluster::ClstF< NodeX, NodeY >.
| typedef ClstF<NodeX, NodeY>::NfldScan cluster::F01< NodeX, NodeY >::NfldScan |
Reimplemented from cluster::ClstF< NodeX, NodeY >.
| typedef ClstF<NodeX, NodeY>::TraitsX cluster::F01< NodeX, NodeY >::TraitsX |
Interface of the far field.
Reimplemented from cluster::ClstF< NodeX, NodeY >.
| typedef ClstF<NodeX, NodeY>::TraitsY cluster::F01< NodeX, NodeY >::TraitsY |
Reimplemented from cluster::ClstF< NodeX, NodeY >.
| cluster::F01< NodeX, NodeY >::F01 | ( | const Tree< NodeX > & | treeX, |
| const Tree< NodeY > & | treeY, | ||
| const ExpansionF< FX > & | exp, | ||
| concepts::Real | eta, | ||
| uint | minsz | ||
| ) |
| cluster::F01< NodeX, NodeY >::F01 | ( | const Tree< NodeX > & | tree, |
| const ExpansionF< FX > & | exp, | ||
| concepts::Real | eta, | ||
| uint | minsz | ||
| ) |
Constructor.
Same cluster tree for ansatz and test space, i.e. for symmetric stiffness matrices the cluster approximation will also be symmetric.
| tree | Cluster tree |
| exp | Kernel expansion |
| eta | Far field coefficient |
| minsz | Minimal size for to clusters to belong to the far field |
| cluster::F01< NodeX, NodeY >::~F01 | ( | ) |
| void cluster::F01< NodeX, NodeY >::constructor_ | ( | const NodeX * | clstX, |
| const NodeY * | clstY | ||
| ) | [private] |
Constructor for recursive calls (non symmetric)
| void cluster::F01< NodeX, NodeY >::constructorSym_ | ( | const NodeX * | clstX, |
| const NodeY * | clstY | ||
| ) | [private] |
Constructor for recursive calls (symmetric)
| std::ostream& cluster::F01< NodeX, NodeY >::info | ( | std::ostream & | os, |
| uint | idxX, | ||
| uint | idxY | ||
| ) | const |
Some detailed information about the far field concering two DoF's.
| os | Output stream |
| idxX | Number of DoF |
| idxY | Number of DoF |
| std::ostream& cluster::F01< NodeX, NodeY >::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Some basic informations.
Reimplemented from concepts::OutputOperator.
| uint cluster::F01< NodeX, NodeY >::info_ | ( | uint | idx, |
| const Nd * | clst, | ||
| __gnu_cxx::hash_map< uint, uint > & | nlf | ||
| ) | const [private] |
Information routine for recursive calls used by info(os, idxX, idxY)
| float cluster::F01< NodeX, NodeY >::memory | ( | ) | const [inline] |
| void cluster::F01< NodeX, NodeY >::operator() | ( | const ClstY< NodeY > & | vecY, |
| ClstX< NodeX > & | vecX | ||
| ) | const [virtual] |
Application operator.
Implements cluster::ClstF< NodeX, NodeY >.
| NfldScan* cluster::F01< NodeX, NodeY >::scan | ( | ) | const [inline, virtual] |
Scanner for the nearfield.
Implements cluster::ClstF< NodeX, NodeY >.
concepts::Real cluster::F01< NodeX, NodeY >::eta_ [private] |
const ExpansionF<FX>& cluster::F01< NodeX, NodeY >::exp_ [private] |
Ffld* cluster::F01< NodeX, NodeY >::ffld_ [private] |
uint cluster::F01< NodeX, NodeY >::m_ [private] |
uint cluster::F01< NodeX, NodeY >::minsz_ [private] |
uint cluster::F01< NodeX, NodeY >::nffld_ [private] |
concepts::Joiner<NfldNodes, 1>* cluster::F01< NodeX, NodeY >::nfld_ [private] |
uint cluster::F01< NodeX, NodeY >::nnfld_ [private] |
const Tree<NodeX>& cluster::F01< NodeX, NodeY >::treeX_ [private] |
const Tree<NodeY>& cluster::F01< NodeX, NodeY >::treeY_ [private] |