Far field matrix F. More...

#include <f04.hh>

Inheritance diagram for cluster::F04< NodeX, NodeY >:
cluster::ClstF< NodeX, NodeY > concepts::OutputOperator

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. More...
 
typedef ClstF< NodeX, NodeY >::TraitsY TraitsY
 

Public Member Functions

 F04 (const Tree< NodeX > &treeX, const Tree< NodeY > &treeY, const ExpansionF< FX > &exp, concepts::Real eta, concepts::Real s, uint minsz)
 
std::ostream & info (std::ostream &os, uint idxX, uint idxY) const
 
float memory () const
 Memory used by F04 in bytes. More...
 
void operator() (const ClstY< NodeY > &vecY, ClstX< NodeX > &vecX) const
 Application operator. More...
 
NfldScanscan () const
 
 ~F04 ()
 

Protected Member Functions

std::ostream & info (std::ostream &os) const
 Returns information in an output stream. More...
 

Private Member Functions

void constructor_ (const NodeX *clstX, const NodeY *clstY, concepts::Real *Imax)
 Constructor for recursive calls. More...
 
template<class Trts , class Nd >
uint info_ (uint idx, const Nd *clst, std::unordered_map< uint, uint > &nlf) const
 

Private Attributes

concepts::Real eta_
 
const ExpansionF< FX > & exp_
 Kernel expansion. More...
 
Ffldffld_
 Far field entries. More...
 
uint m_
 Expansion order. More...
 
uint minsz_
 Minimal size for a cluster pair in the far field. More...
 
uint nffld_
 Number of far field entries. More...
 
uint nffldval_
 
concepts::Joiner< NfldNodes, 1 > * nfld_
 Near field entries. More...
 
uint nnfld_
 Number of near field entries. More...
 
concepts::Real s_
 
const Tree< NodeX > & treeX_
 Cluster trees. More...
 
const Tree< NodeY > & treeY_
 

Detailed Description

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

Far field matrix F.

Intensity driven expansion order.

Parameters
NodeXCluster node
NodeYCluster node

Definition at line 23 of file f04.hh.

Member Typedef Documentation

◆ FX

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

Definition at line 28 of file f04.hh.

◆ FY

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

Definition at line 29 of file f04.hh.

◆ NfldNodes

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

Definition at line 30 of file f04.hh.

◆ NfldScan

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

Definition at line 31 of file f04.hh.

◆ TraitsX

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

Interface of the far field.

Definition at line 26 of file f04.hh.

◆ TraitsY

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

Definition at line 27 of file f04.hh.

Constructor & Destructor Documentation

◆ F04()

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

◆ ~F04()

template<class NodeX , class NodeY >
cluster::F04< NodeX, NodeY >::~F04 ( )

Member Function Documentation

◆ constructor_()

template<class NodeX , class NodeY >
void cluster::F04< NodeX, NodeY >::constructor_ ( const NodeX *  clstX,
const NodeY *  clstY,
concepts::Real Imax 
)
private

Constructor for recursive calls.

◆ info() [1/2]

template<class NodeX , class NodeY >
std::ostream& cluster::F04< NodeX, NodeY >::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

◆ info() [2/2]

template<class NodeX , class NodeY >
std::ostream& cluster::F04< NodeX, NodeY >::info ( std::ostream &  os,
uint  idxX,
uint  idxY 
) const

◆ info_()

template<class NodeX , class NodeY >
template<class Trts , class Nd >
uint cluster::F04< NodeX, NodeY >::info_ ( uint  idx,
const Nd *  clst,
std::unordered_map< uint, uint > &  nlf 
) const
private

◆ memory()

template<class NodeX , class NodeY >
float cluster::F04< NodeX, NodeY >::memory
inline

Memory used by F04 in bytes.

Definition at line 125 of file f04.hh.

◆ operator()()

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

Application operator.

Implements cluster::ClstF< NodeX, NodeY >.

◆ scan()

template<class NodeX , class NodeY >
NfldScan* cluster::F04< NodeX, NodeY >::scan ( ) const
inlinevirtual

Implements cluster::ClstF< NodeX, NodeY >.

Definition at line 116 of file f04.hh.

Member Data Documentation

◆ eta_

template<class NodeX , class NodeY >
concepts::Real cluster::F04< NodeX, NodeY >::eta_
private

Definition at line 82 of file f04.hh.

◆ exp_

template<class NodeX , class NodeY >
const ExpansionF<FX>& cluster::F04< NodeX, NodeY >::exp_
private

Kernel expansion.

Definition at line 78 of file f04.hh.

◆ ffld_

template<class NodeX , class NodeY >
Ffld* cluster::F04< NodeX, NodeY >::ffld_
private

Far field entries.

Definition at line 88 of file f04.hh.

◆ m_

template<class NodeX , class NodeY >
uint cluster::F04< NodeX, NodeY >::m_
private

Expansion order.

Definition at line 81 of file f04.hh.

◆ minsz_

template<class NodeX , class NodeY >
uint cluster::F04< NodeX, NodeY >::minsz_
private

Minimal size for a cluster pair in the far field.

Definition at line 85 of file f04.hh.

◆ nffld_

template<class NodeX , class NodeY >
uint cluster::F04< NodeX, NodeY >::nffld_
private

Number of far field entries.

Definition at line 90 of file f04.hh.

◆ nffldval_

template<class NodeX , class NodeY >
uint cluster::F04< NodeX, NodeY >::nffldval_
private

Definition at line 91 of file f04.hh.

◆ nfld_

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

Near field entries.

Definition at line 93 of file f04.hh.

◆ nnfld_

template<class NodeX , class NodeY >
uint cluster::F04< NodeX, NodeY >::nnfld_
private

Number of near field entries.

Definition at line 95 of file f04.hh.

◆ s_

template<class NodeX , class NodeY >
concepts::Real cluster::F04< NodeX, NodeY >::s_
private

Definition at line 83 of file f04.hh.

◆ treeX_

template<class NodeX , class NodeY >
const Tree<NodeX>& cluster::F04< NodeX, NodeY >::treeX_
private

Cluster trees.

Definition at line 74 of file f04.hh.

◆ treeY_

template<class NodeX , class NodeY >
const Tree<NodeY>& cluster::F04< NodeX, NodeY >::treeY_
private

Definition at line 75 of file f04.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich