1 #include "library/laplace_3d.hpp"
29 int main(
int argc,
char const *argv[])
36 NiHu::fmm::create_elem_center_iterator(mesh.end<
elem_t>()),
41 auto idx_fctr = NiHu::fmm::create_indexed_functor(
47 auto pre_fctr = NiHu::fmm::create_precompute_functor(tree, lists);
49 for (
size_t i = 0; i < tree.get_n_clusters(); ++i)
50 tree[i].set_chebyshev_order(5);
53 pre_fctr(idx_fctr(int_fctr(bbfmm.create_p2p()))),
54 pre_fctr(idx_fctr(int_fctr(bbfmm.create_p2m()))),
55 pre_fctr(idx_fctr(int_fctr(bbfmm.create_p2l()))),
56 pre_fctr(idx_fctr(int_fctr(bbfmm.create_m2p()))),
57 pre_fctr(idx_fctr(int_fctr(bbfmm.create_l2p()))),
58 pre_fctr(idx_fctr(bbfmm.create_m2m())),
59 pre_fctr(idx_fctr(bbfmm.create_l2l())),
60 pre_fctr(idx_fctr(bbfmm.create_m2l())),
64 Eigen::Matrix<double, Eigen::Dynamic, 1> xct(mat.cols(), 1);
68 std::cout << res << std::endl;
Class NiHu::fmm::fmm_matrix.
Black box FMM for a smooth kernel.
Cluster class of the Black Box FMM.
export NiHu mesh from OFF format
mesh< tmp::vector< typename tag2type< Tags >::type... > > read_off_mesh(std::string const &fname, Tags...tags)
Read mesh from OFF format.
Metafunction assigning a tag to a type.
Field automatically generated from an element using a field generation option.
Implementation of NiHu::fmm::fmm_operator_collection.
container class for a mesh
A mesh extended with a Field generating option.
implementation of fields and field views
Definition of class NiHu::fmm::interaction_lists.
Class representing a cluster division based on number of nodes.
Classes for iterating through elements and fields.
const function_space_view< Mesh, field_option::constant, Dimension > & constant_view(mesh_base< Mesh > const &msh, Dimension dim=Dimension())
factory function to transform a mesh into a constant function space
class describing a surface element that provides a normal vector
Implementation of class NiHu::fmm::cluster_tree.
Interface for indexing FMM operators.
Operator pre-computation interface.
auto create_integrated_functor(TestTag test_tag, TrialTag trial_tag, size_t quadrature_order, bool sing_check)
factory function to create an integrated functor
Implementation of the Black Box FMM using Chebyshev interpolation.
auto create_fmm_matrix(fmm_operator_collection< CollOps... > const &collection, cluster_tree< Cluster > const &tree, interaction_lists const &lists)
Factory function to create fmm_matrix from an operator collection.
Integrated operators (P2P, P2X, X2P)
declaration of class function_space
Normal derivative of a distance dependent kernel.
class storing the different interaction lists of a tree
Declaration of class Mesh.
class describing a volume element that has no normal vector