| ▼ src | |
| ► aca | |
| aca.hpp | Implementation of Adaptive Cross Approximation (ACA) |
| ► core | |
| assembly.hpp | Assemble WR matrices from field wr submatrices |
| asymptotic_types.hpp | Definition of different asymptotic function behaviour types |
| blind_singular_quadrature.hpp | |
| blind_transform_selector.hpp | Select a blind transform method to a singularity type and a reference domain |
| complexity_estimator.hpp | Estimate kernel complexity between two elements |
| corner_angle.hpp | |
| domain.hpp | Declaration of CRTP base class NiHu::domain_base |
| double_integral.hpp | Declaration of class double_integral and its specialisations |
| duffy_quadrature.hpp | Duffy-type singular quadrature transformations |
| element.hpp | Declaration of element classes |
| element_match.hpp | Determine element singularities |
| field.hpp | Implementation of fields and field views |
| field_dimension.hpp | |
| field_type_acceleration_option.hpp | Definition of field type acceleration options |
| field_type_accelerator.hpp | Acceleration of field types by storing shape functions for each quadrature point |
| formalism.hpp | Return weak form formalism from the test and trial field types |
| function_space.hpp | Declaration of class function_space |
| gaussian_quadrature.hpp | Implementation of Gaussian quadratures |
| global_definitions.hpp | Global constants governing some accuracy parameters |
| integral_operator.hpp | Declaration of class NiHu::integral_operator |
| integral_transform.hpp | Declaration of integral_transform classes |
| integral_transform_forward.hpp | |
| inverse_mapping.hpp | |
| jacobian_computer.hpp | |
| kernel.hpp | Implementation of class kernel and its traits |
| match_types.hpp | |
| mesh.hpp | Declaration of class Mesh |
| nearly_singular_integral.hpp | Nearly singular integral general case |
| nearly_singular_planar_constant_collocation_shortcut.hpp | |
| quadrature.hpp | Implementation of class NiHu::quadrature_elem, NiHu::quadrature_base |
| result_matrix.hpp | Encapsulates different result matrix types |
| shapeset.hpp | Definition of shape function sets |
| single_integral.hpp | Declaration of class single_integral |
| singular_accelerator.hpp | Implementation of class NiHu::singular_accelerator |
| singular_galerkin_quadrature.hpp | Implementation of singular Galerkin quadratures |
| singular_integral_shortcut.hpp | |
| space.hpp | Declaration of class NiHu::space |
| weighted_residual.hpp | Declaration of class NiHu::weighted_residual |
| ► fmm | |
| black_box_fmm.hpp | Implementation of the Black Box FMM using Chebyshev interpolation |
| bounding_box.hpp | Implementation of class NiHu::fmm::bounding_box |
| chebyshev_cluster.hpp | Implementation of class chebyshev_cluster |
| cluster.hpp | Implementation of class NiHu::fmm::cluster_base |
| cluster_tree.hpp | Implementation of class NiHu::fmm::cluster_tree |
| convected_helmholtz_3d_hf_fmm.hpp | 3D high frequency Convected Helmholtz FMM |
| convolution_matrix.hpp | Implemenetation of class template NiHu::fmm::convolution_matrix |
| divide.hpp | Cluster division strategies |
| elem_center_iterator.hpp | Classes for iterating through elements and fields |
| empty_cluster.hpp | Definition of the class empty_cluster |
| fmm_assembly_times.hpp | Implementation of class NiHu::fmm:fmm_assembly_times |
| fmm_indexed.hpp | Interface for indexing FMM operators |
| fmm_integrated.hpp | Integrated operators (P2P, P2X, X2P) |
| fmm_matrix.hpp | Class NiHu::fmm::fmm_matrix |
| fmm_operator.hpp | FMM operator types and tags |
| fmm_operator_collection.hpp | Implementation of NiHu::fmm::fmm_operator_collection |
| fmm_precompute.hpp | Operator pre-computation interface |
| fmm_timer.cpp | Implementation of the class NiHu::fmm::fmm_timer |
| fmm_timer.h | Interface of the class NiHu::fmm::fmm_timer |
| GMRES.h | |
| hat_matrix.h | Implementation of class NiHu::fmm::hat_matrix |
| helmholtz_2d_wb_cluster.cpp | Cluster for the 2D Wideband Helmholtz FMM |
| helmholtz_2d_wb_cluster.h | Interface of class helmholtz_2d_wb_cluster |
| helmholtz_2d_wb_fmm.hpp | 2D Wide Band Helmholtz FMM |
| helmholtz_2d_wb_level_data.cpp | Level data for 2D wideband Helmholtz FMM |
| helmholtz_2d_wb_level_data.h | Declaration of class helmholtz_2d_wb_level_data |
| helmholtz_2d_wb_x2x_matrix.cpp | M2M, L2L, and M2L operators for the Helmholtz 2D wide band FMM |
| helmholtz_2d_wb_x2x_matrix.h | Interface of M2M, L2L, and M2L operations for the 2D wide band Helmholtz FMM |
| helmholtz_3d_hf_cluster.cpp | Cluster implementation for Helmholtz 3D high frequency FMM |
| helmholtz_3d_hf_cluster.h | Interface of class fmm::helmholtz_3d_hf_cluster |
| helmholtz_3d_hf_fmm.hpp | 3D high frequency Helmholtz FMM |
| helmholtz_3d_hf_level_data.cpp | Implementation of level data for 3D Helmholtz high frequency FMM |
| helmholtz_3d_hf_level_data.h | Level data of the the helmholtz 3d high frequency fmm |
| helmholtz_3d_hf_shift.h | |
| helmholtz_burton_miller_solver.hpp | A generic Burton-Miller FMBEM solver for the Helmholtz equation |
| helmholtz_field_point.hpp | Generic implementation of Helmholtz field point computations |
| identity_p2p_operator.h | Definition of class NiHu::fmm::identity_p2p_operator |
| integral_operator_expression.hpp | Arithmetics of integral operators |
| kron_identity.hpp | Kronecker product of a matrix by an Identity matrix |
| laplace_2d_fmm.cpp | Implementation of the 2D FMM for the Laplace equation |
| laplace_2d_fmm.hpp | FMM method for the 2D Laplace equation |
| laplace_3d_fmm.cpp | Implementation of Laplace 3D FMM |
| laplace_3d_fmm.hpp | Implementation of the FMM method for the 3D Laplace equation |
| leaf_precompute.hpp | Precomputation of P2M, P2L, M2P, L2P operators |
| lists.hpp | Definition of class NiHu::fmm::interaction_lists |
| local_operator.hpp | Interface of local operator |
| m2l_indices.hpp | Implementation of class template Nihu::fmm::m2l_indices |
| matrix_free.hpp | An Eigen::Matrix adaptor for the NiHu::fmm::fmm_matrix class |
| MyGMRES.hpp | |
| nd_cheb.hpp | N-dimensional Chebyshev polynomial |
| operator_with_wave_number.hpp | Implementation of class template NiHu::fmm::operator_with_wave_number |
| p2p.hpp | P2P operator |
| p2p_indexed.hpp | |
| p2p_integral.hpp | P2P integral |
| p2p_precompute.hpp | Pre-computation of P2P operators for acceleration |
| p2x_cluster_indexed.hpp | Cluster indexing for P2M and P2L operators |
| p2x_indexed.hpp | Implementation of class NiHu::fmm::p2x_indexed |
| p2x_integral.hpp | Implementation of class template NiHu::fmm::p2x_integral |
| preconditioner.hpp | |
| spectral_interpolate.cpp | Implementation of spectral interpolation using FFT/IFFT |
| spectral_interpolate.h | Interface of class NiHu::fmm::spectral_interpolate |
| unit_sphere.cpp | Implementation of interpolations over the unit sphere |
| unit_sphere.h | Interface of class NiHu::fmm::unit_sphere |
| unit_sphere_interpolator.cpp | Interface of class NiHu::fmm::interpolator |
| unit_sphere_interpolator.h | Interface of class NiHu::fmm::interpolator |
| x2p_cluster_indexed.hpp | M2P and L2P cluster indexing |
| x2p_indexed.hpp | Leaf indexing of M2P and L2P operators |
| x2p_integral.hpp | Implementation of class template NiHu::fmm::x2p_integral |
| x2x_cluster_indexed.hpp | Implementation of class template NiHu::fmm::x2x_cluster_indexed |
| x2x_precompute.hpp | Implementation of class template NiHu::fmm::x2x_precompute |
| ► interface | |
| read_off_mesh.hpp | Export NiHu mesh from OFF format |
| ► library | |
| convected_helmholtz_3d_kernel.hpp | |
| convected_helmholtz_3d_nearly_singular_integrals.hpp | |
| convected_helmholtz_3d_singular_integrals.hpp | |
| covariance_kernel.hpp | Implementation of kernels representing covariance functions of stochastic processes |
| distance_dependent_kernel.hpp | Class NiHu::distance_dependent_kernel |
| distance_kernel_intervals.hpp | Quadrature intervals for distance based complexities |
| elastodynamics_kernel.hpp | Implementation of fundamental solutions of elastodynamics |
| elastodynamics_singular_integrals.hpp | Analytical expressions for the singular integrals of elastodynamic kernels |
| elastostatics_kernel.hpp | Implementation of fundamental solutions of elastostatics |
| elastostatics_singular_integrals.hpp | Analytical expressions for the singular integrals of elastostatic kernels |
| empty_input.hpp | Implementation of empty kernel |
| field_type_helpers.hpp | |
| gauss_field_view.hpp | |
| gauss_function_space_view.hpp | |
| guiggiani_1992.hpp | Guiggiani's method for CPV and HPF collocational integrals |
| helmholtz.hpp | Common includes for Helmholtz problems |
| helmholtz_2d.hpp | |
| helmholtz_2d_nearly_singular_integrals.hpp | Nearly singular integrals for Helmholtz kernels |
| helmholtz_2d_singular_collocation_integrals.hpp | (Semi)analytical expressions for the singular integrals of Helmholtz kernels |
| helmholtz_2d_singular_double_integrals.hpp | |
| helmholtz_2d_singular_integrals.hpp | (Semi)analytical expressions for the singular integrals of Helmholtz kernels |
| helmholtz_3d.hpp | |
| helmholtz_3d_nearly_singular_integrals.hpp | Nearly singular integrals for Helmholtz kernels |
| helmholtz_3d_singular_integrals.hpp | (Semi)analytical expressions for the singular integrals of Helmholtz kernels |
| helmholtz_kernel.hpp | Kernels of the Helmholtz equation \( \nabla^2 p + k^2 p = 0 \) |
| integral_shortcut_concepts.hpp | |
| interval_estimator.hpp | Speclialisation of complexity_estimator for the interval case |
| laplace.hpp | |
| laplace_2d.hpp | |
| laplace_2d_nearly_singular_integrals.hpp | Nearly singular integrals for the Laplace kernels |
| laplace_2d_singular_collocation_integrals.hpp | Singular collocation integrals of the 2D Laplace kernel |
| laplace_2d_singular_double_integrals.hpp | Analytical expressions for the singular integrals of 2D Laplace kernels |
| laplace_2d_singular_integrals.hpp | Analytical expressions for the singular integrals of 2D Laplace kernels |
| laplace_3d.hpp | |
| laplace_3d_nearly_singular_integrals.hpp | Nearly singular integrals for the Laplace kernels |
| laplace_3d_singular_integrals.hpp | Analytical expressions for the singular integrals of Laplace kernels |
| laplace_kernel.hpp | Implementation of kernels of the Laplace equation \( \nabla^2 p = 0 \) |
| lenoir_salles_2012.hpp | Explicit singular Galerkin integrals of Laplace kernels over plane triangles |
| lib_bessel.cpp | |
| lib_domain.cpp | Domain library |
| lib_domain.hpp | Implementation of library domains |
| lib_duffy_quadrature.cpp | |
| lib_element.cpp | |
| lib_element.hpp | |
| lib_mesh.hpp | Utility functions for basic mesh generation |
| lib_shape.cpp | |
| lib_shape.hpp | Definition of shape function sets |
| lib_singular_galerkin_quadrature.cpp | |
| lib_tmp.cpp | |
| line_1_gauss_field.hpp | |
| line_1_gauss_shape_set.hpp | Implementation of shape set NiHu::line_1_gauss_shape_set |
| line_quad_store.hpp | |
| location_normal.hpp | Implementation of location and normal kernel inputs |
| matsumoto_2010.hpp | Explicit hypersingular integrals for collocational Helmholtz BEM with constant triangles |
| nearly_singular_collocational.hpp | |
| nearly_singular_collocational_telles.hpp | |
| normal_derivative_kernel.hpp | Class NiHu::normal_derivative_kernel |
| normal_derivative_singular_integrals.hpp | |
| plane_element_helper.hpp | Helper functions to compute analytical integrals over plane elements |
| quad_1_gauss_field.hpp | |
| quad_1_gauss_shape_set.hpp | |
| quadrature_store_helper.hpp | |
| stokes_kernel.hpp | Implementation of fundamental solutions of Stokes flow |
| stokes_singular_integrals.hpp | Analytical expressions for the singular integrals of Stokes kernels |
| telles_1987.hpp | Implementation of Telles' quadrature transform method |
| tria_1_gauss_field.hpp | |
| tria_1_gauss_shape_set.hpp | |
| unit_kernel.hpp | Implementation of the unit kernel \(K(x,y) = 1\) |
| wave_number_kernel.hpp | |
| weighted_input.hpp | Implementation of metafunction NiHu::weighted_input |
| ► tmp | |
| algorithm.hpp | Vectoralgorithms |
| bool.hpp | Implementation of Boolean functions |
| control.hpp | Implementation of code generating control structures |
| defines_type.hpp | Metafunction determining typedefs |
| if.hpp | Implementation of the tmp::if_ metafunction |
| integer.hpp | Integer type representation and basic integer arithmetics |
| interval.hpp | A compile time interval |
| lambda.hpp | Implementation of placeholders and lambda functions |
| operator.hpp | Declaration of operator metafunctions |
| print.hpp | Print compile time sequences (debug) |
| relation.hpp | Template metaprograms for comparison |
| sequence.hpp | Implementation of compile time sequences |
| stack.hpp | Implementation of tmp::stack |
| vector.hpp | Implementation of a compile time vector tmp::vector |
| ► tutorial | |
| bbfmm_covariance.cpp | |
| bbfmm_laplace_3d.cpp | |
| elastostatics.mex.cpp | |
| elastostatics_2d_standalone.cpp | |
| elastostatics_test.m | |
| elements.cpp | |
| fmm_helmholtz2d.cpp | |
| helmholtz_3d_transparent_standalone.cpp | |
| helmholtz_bem_2d.mex.cpp | |
| helmholtz_bem_2d_cyl.mex.cpp | |
| helmholtz_bem_2d_cyl_test.m | |
| helmholtz_bem_2d_full.mex.cpp | |
| helmholtz_bem_2d_test.m | |
| helmholtz_bem_3d.mex.cpp | |
| helmholtz_bem_3d_bm.mex.cpp | |
| helmholtz_bem_3d_fict.mex.cpp | |
| helmholtz_bem_3d_fict_test.m | |
| helmholtz_bem_3d_field.mex.cpp | |
| helmholtz_bem_3d_full.mex.cpp | |
| helmholtz_bem_3d_matrices_gauss.mex.cpp | |
| helmholtz_bem_3d_matrices_gauss_test.m | |
| helmholtz_bem_3d_surf.mex.cpp | |
| helmholtz_bem_3d_test.m | |
| helmholtz_ibem_3d.mex.cpp | |
| helmholtz_ibem_3d_test.m | |
| klline_surface.mex.cpp | |
| klline_surface_test.m | |
| kltria_surface.mex.cpp | |
| kltria_surface_test.m | |
| laplace_2d_transparent_standalone.cpp | |
| laplace_3d_transparent_standalone.cpp | |
| laplace_bem_2d.mex.cpp | |
| laplace_bem_2d_full.mex.cpp | |
| laplace_bem_3d.mex.cpp | |
| laplace_bem_3d_full.mex.cpp | |
| laplace_bem_3d_hyper.mex.cpp | |
| laplace_bem_3d_hyper_test.m | |
| laplace_bem_3d_test.m | |
| laplace_bem_standalone.cpp | |
| laplace_double_integral.cpp | |
| laplace_single_integral.cpp | |
| mesh_building.mex.cpp | |
| quadrature.cpp | |
| rayleigh_integral_3d.mex.cpp | |
| rayleigh_integral_3d_test.m | |
| tree_building.cpp | |
| ► util | |
| block_product.hpp | Declaration of template function NiHu::block_product, NiHu::semi_block_product and its related metafunctions |
| casted_iterator.hpp | Implementation of an iterator returning static casted values |
| conditional_precompute.hpp | Implementation of conditionally precomputed and stored quantities |
| crtp_base.hpp | Define CRTP helper functions and metafunctions |
| dual_range.hpp | Implementation of a dual iterator |
| eigen_utils.hpp | Implementation of Eigen related utility classes |
| is_specialisation.hpp | Definition of the metafunction NiHu::is_specialisation |
| materialize_sequence.hpp | |
| math_functions.hpp | General mathematical functions |
| matrix_block.hpp | Implementation of a block matrix |
| matrix_traits.hpp | Compile time properties of matrices |
| mex_matrix.hpp | A Matlab mex matrix interface |
| mex_matrix_interleaved.hpp | A Matlab mex matrix interface |
| mex_matrix_separate.hpp | |
| misc.hpp | Miscellaneous functions and metafunctions |
| plain_type.hpp | Plain type calculations |
| pool_pattern.hpp | Store an array of instances |
| product_type.hpp | Product type calculations |
| real_part_type.hpp | |
| store_pattern.hpp | Store static template specialisations |
| timer.h | Portable implementation of wall clock and cpu timers |
| type2tag.hpp | Assign a tag to a type |
| type_info.hpp | Utility functions for attaining type informations |