NiHu  2.0
NiHu::fmm::p2p_precompute< Scalar, NumDofPerSrc, NumDofPerRec > Class Template Reference

Precomputed P2P operator. More...

#include <p2p_precompute.hpp>

Public Types

typedef Scalar scalar_t
 
typedef Eigen::SparseMatrix< scalar_t, Eigen::RowMajor, std::ptrdiff_t > sparse_t
 
typedef Eigen::Matrix< scalar_t, Eigen::Dynamic, 1 > response_t
 
- Public Types inherited from NiHu::fmm::fmm_operator< p2p_tag >
typedef p2p_tag fmm_tag
 

Public Member Functions

template<class Operator , class ClusterDerived >
 p2p_precompute (Operator &&op, cluster_tree< ClusterDerived > const &tree, interaction_lists::list_t const &list)
 Constructor initializes and computes the sparse matrix. More...
 
const sparse_t & get_sparse_matrix () const
 Retrieve assembled sparse matrix. More...
 
size_t get_assembly_time () const
 Retrieve matrix assembly time. More...
 
template<class RHS >
response_t operator* (RHS const &rhs) const
 Matrix-vector multiplication. More...
 

Static Public Attributes

static const size_t num_dof_per_src = NumDofPerSrc
 
static const size_t num_dof_per_rec = NumDofPerRec
 

Detailed Description

template<class Scalar, size_t NumDofPerSrc, size_t NumDofPerRec>
class NiHu::fmm::p2p_precompute< Scalar, NumDofPerSrc, NumDofPerRec >

Precomputed P2P operator.

Template Parameters
ScalarThe scalar type of the operator
NumDofPerSrcNumber of DOFs per source node
NumDofPerRecNumber of DOFs per receiver node

Definition at line 265 of file p2p_precompute.hpp.

Constructor & Destructor Documentation

◆ p2p_precompute()

template<class Scalar , size_t NumDofPerSrc, size_t NumDofPerRec>
template<class Operator , class ClusterDerived >
NiHu::fmm::p2p_precompute< Scalar, NumDofPerSrc, NumDofPerRec >::p2p_precompute ( Operator &&  op,
cluster_tree< ClusterDerived > const &  tree,
interaction_lists::list_t const &  list 
)
inline

Constructor initializes and computes the sparse matrix.

Parameters
[in]opOperator to precompute
[in]treeCluster tree
[in]listP2P interaction list

Definition at line 287 of file p2p_precompute.hpp.

Member Function Documentation

◆ get_assembly_time()

template<class Scalar , size_t NumDofPerSrc, size_t NumDofPerRec>
size_t NiHu::fmm::p2p_precompute< Scalar, NumDofPerSrc, NumDofPerRec >::get_assembly_time ( ) const
inline

Retrieve matrix assembly time.

Returns
Matrix assembly time in microseconds

Definition at line 305 of file p2p_precompute.hpp.

◆ get_sparse_matrix()

template<class Scalar , size_t NumDofPerSrc, size_t NumDofPerRec>
const sparse_t& NiHu::fmm::p2p_precompute< Scalar, NumDofPerSrc, NumDofPerRec >::get_sparse_matrix ( ) const
inline

Retrieve assembled sparse matrix.

Returns
The assembled sparse matrix

Definition at line 296 of file p2p_precompute.hpp.

◆ operator*()

template<class Scalar , size_t NumDofPerSrc, size_t NumDofPerRec>
template<class RHS >
response_t NiHu::fmm::p2p_precompute< Scalar, NumDofPerSrc, NumDofPerRec >::operator* ( RHS const &  rhs) const
inline

Matrix-vector multiplication.

Template Parameters
RHSRight hand side type
Parameters
[in]rhsRight hand side vector
Returns
Result of matrix vector product

Definition at line 317 of file p2p_precompute.hpp.


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