▼ 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 |
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_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 |