Template Class FmmBase¶
Defined in File fmm_base.h
Inheritance Relationships¶
Derived Types¶
public exafmm_t::DummyFmm< T >
(Template Class DummyFmm)public exafmm_t::Fmm< T >
(Template Class Fmm)public exafmm_t::FmmScaleInvariant< T >
(Template Class FmmScaleInvariant)
Class Documentation¶
-
template<typename T>
class exafmm_t::FmmBase¶ Base FMM class.
Subclassed by exafmm_t::DummyFmm< T >, exafmm_t::Fmm< T >, exafmm_t::FmmScaleInvariant< T >
Public Functions
-
inline FmmBase()¶
-
inline FmmBase(int p_, int ncrit_, std::string filename_ = std::string())¶
-
virtual void potential_P2P(RealVec &src_coord, std::vector<T> &src_value, RealVec &trg_coord, std::vector<T> &trg_value) = 0¶
-
virtual void gradient_P2P(RealVec &src_coord, std::vector<T> &src_value, RealVec &trg_coord, std::vector<T> &trg_value) = 0¶
-
inline void kernel_matrix(RealVec &src_coord, RealVec &trg_coord, std::vector<T> &matrix)¶
Compute the kernel matrix of a given kernel.
- Parameters
src_coord – Vector of source coordinates.
trg_coord – Vector of target coordinates.
matrix – Kernel matrix.
-
inline void upward_pass(Nodes<T> &nodes, NodePtrs<T> &leafs, bool verbose = true)¶
Evaluate upward equivalent charges for all nodes in a post-order traversal.
- Parameters
nodes – Vector of all nodes.
leafs – Vector of pointers to leaf nodes.
Public Members
-
int p¶
Order of expansion.
-
int nsurf¶
Number of points on equivalent / check surface.
-
int nconv¶
Number of points on convolution grid.
-
int nfreq¶
Number of coefficients in DFT (depending on whether T is real_t)
-
int ncrit¶
Max number of bodies per leaf.
-
int depth¶
Depth of the tree.
-
bool is_precomputed¶
Whether the matrix file is found.
-
bool is_real¶
Whether template parameter T is real_t.
-
std::string filename¶
File name of the precomputation matrices.
-
inline FmmBase()¶