Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Classes | Public Types | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
cluster::F01< NodeX, NodeY > Class Template Reference

Far field matrix F. More...

#include <f01.hh>

Inheritance diagram for cluster::F01< NodeX, NodeY >:
Inheritance graph
[legend]
Collaboration diagram for cluster::F01< NodeX, NodeY >:
Collaboration graph
[legend]

List of all members.

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.
NfldScanscan () 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.
Ffldffld_
 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_

Detailed Description

template<class NodeX, class NodeY>
class cluster::F01< NodeX, NodeY >

Far field matrix F.

Expansion order m and far field coefficient constant.

Parameters:
NodeXCluster node
NodeYCluster node

Definition at line 22 of file f01.hh.


Member Typedef Documentation

template<class NodeX , class NodeY >
typedef ClstF<NodeX, NodeY>::FX cluster::F01< NodeX, NodeY >::FX

Reimplemented from cluster::ClstF< NodeX, NodeY >.

Definition at line 27 of file f01.hh.

template<class NodeX , class NodeY >
typedef ClstF<NodeX, NodeY>::FY cluster::F01< NodeX, NodeY >::FY

Reimplemented from cluster::ClstF< NodeX, NodeY >.

Definition at line 28 of file f01.hh.

template<class NodeX , class NodeY >
typedef ClstF<NodeX, NodeY>::NfldNodes cluster::F01< NodeX, NodeY >::NfldNodes

Reimplemented from cluster::ClstF< NodeX, NodeY >.

Definition at line 29 of file f01.hh.

template<class NodeX , class NodeY >
typedef ClstF<NodeX, NodeY>::NfldScan cluster::F01< NodeX, NodeY >::NfldScan

Reimplemented from cluster::ClstF< NodeX, NodeY >.

Definition at line 30 of file f01.hh.

template<class NodeX , class NodeY >
typedef ClstF<NodeX, NodeY>::TraitsX cluster::F01< NodeX, NodeY >::TraitsX

Interface of the far field.

Reimplemented from cluster::ClstF< NodeX, NodeY >.

Definition at line 25 of file f01.hh.

template<class NodeX , class NodeY >
typedef ClstF<NodeX, NodeY>::TraitsY cluster::F01< NodeX, NodeY >::TraitsY

Reimplemented from cluster::ClstF< NodeX, NodeY >.

Definition at line 26 of file f01.hh.


Constructor & Destructor Documentation

template<class NodeX , class NodeY >
cluster::F01< NodeX, NodeY >::F01 ( const Tree< NodeX > &  treeX,
const Tree< NodeY > &  treeY,
const ExpansionF< FX > &  exp,
concepts::Real  eta,
uint  minsz 
)

Constructor.

Different cluster trees for ansatz and test space are possible. The cluster approximation is non symmetric, i.e., CG not applicable.

Parameters:
treeXCluster tree
treeYCluster tree
expKernel expansion
etaFar field coefficient
minszMinimal size for to clusters to belong to the far field
template<class NodeX , class NodeY >
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.

Parameters:
treeCluster tree
expKernel expansion
etaFar field coefficient
minszMinimal size for to clusters to belong to the far field
template<class NodeX , class NodeY >
cluster::F01< NodeX, NodeY >::~F01 ( )

Member Function Documentation

template<class NodeX , class NodeY >
void cluster::F01< NodeX, NodeY >::constructor_ ( const NodeX *  clstX,
const NodeY *  clstY 
) [private]

Constructor for recursive calls (non symmetric)

template<class NodeX , class NodeY >
void cluster::F01< NodeX, NodeY >::constructorSym_ ( const NodeX *  clstX,
const NodeY *  clstY 
) [private]

Constructor for recursive calls (symmetric)

template<class NodeX , class NodeY >
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.

Parameters:
osOutput stream
idxXNumber of DoF
idxYNumber of DoF
template<class NodeX , class NodeY >
std::ostream& cluster::F01< NodeX, NodeY >::info ( std::ostream &  os) const [protected, virtual]

Some basic informations.

Reimplemented from concepts::OutputOperator.

template<class NodeX , class NodeY >
template<class Trts , class Nd >
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)

template<class NodeX , class NodeY >
float cluster::F01< NodeX, NodeY >::memory ( ) const [inline]

Memory used by F01 in bytes.

Definition at line 135 of file f01.hh.

template<class NodeX , class NodeY >
void cluster::F01< NodeX, NodeY >::operator() ( const ClstY< NodeY > &  vecY,
ClstX< NodeX > &  vecX 
) const [virtual]

Application operator.

Implements cluster::ClstF< NodeX, NodeY >.

template<class NodeX , class NodeY >
NfldScan* cluster::F01< NodeX, NodeY >::scan ( ) const [inline, virtual]

Scanner for the nearfield.

Implements cluster::ClstF< NodeX, NodeY >.

Definition at line 121 of file f01.hh.


Member Data Documentation

template<class NodeX , class NodeY >
concepts::Real cluster::F01< NodeX, NodeY >::eta_ [private]

Far field coefficient.

Definition at line 66 of file f01.hh.

template<class NodeX , class NodeY >
const ExpansionF<FX>& cluster::F01< NodeX, NodeY >::exp_ [private]

Kernel expansion.

Definition at line 61 of file f01.hh.

template<class NodeX , class NodeY >
Ffld* cluster::F01< NodeX, NodeY >::ffld_ [private]

Far field entries.

Definition at line 70 of file f01.hh.

template<class NodeX , class NodeY >
uint cluster::F01< NodeX, NodeY >::m_ [private]

Expansion order.

Definition at line 64 of file f01.hh.

template<class NodeX , class NodeY >
uint cluster::F01< NodeX, NodeY >::minsz_ [private]

Minimal size for a cluster pair in the far field.

Definition at line 68 of file f01.hh.

template<class NodeX , class NodeY >
uint cluster::F01< NodeX, NodeY >::nffld_ [private]

Number of far field entries.

Definition at line 72 of file f01.hh.

template<class NodeX , class NodeY >
concepts::Joiner<NfldNodes, 1>* cluster::F01< NodeX, NodeY >::nfld_ [private]

Near field entries.

Definition at line 74 of file f01.hh.

template<class NodeX , class NodeY >
uint cluster::F01< NodeX, NodeY >::nnfld_ [private]

Number of near field entries.

Definition at line 76 of file f01.hh.

template<class NodeX , class NodeY >
const Tree<NodeX>& cluster::F01< NodeX, NodeY >::treeX_ [private]

Cluster trees.

Definition at line 57 of file f01.hh.

template<class NodeX , class NodeY >
const Tree<NodeY>& cluster::F01< NodeX, NodeY >::treeY_ [private]

Definition at line 58 of file f01.hh.


The documentation for this class was generated from the following file:

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)