|
pvert_list | new_vert_list (pvert_list next) |
| Create a new list to store a number of vertex indices. More...
|
|
void | del_vert_list (pvert_list vl) |
| Recursively deletes a vert_list. More...
|
|
ptri_list | new_tri_list (ptri_list next) |
| Create a new list to store a number of triangles indices. More...
|
|
void | del_tri_list (ptri_list tl) |
| Recursively deletes a tri_list. More...
|
|
pbem3d | new_bem3d (pcsurface3d gr, basisfunctionbem3d row_basis, basisfunctionbem3d col_basis) |
| Main constructor for bem3d objects. More...
|
|
void | del_bem3d (pbem3d bem) |
| Destructor for bem3d objects. More...
|
|
pclustergeometry | build_bem3d_const_clustergeometry (pcbem3d bem, uint **idx) |
| Creates a clustergeometry object for a BEM-Problem using piecewise constant basis functions. More...
|
|
pclustergeometry | build_bem3d_linear_clustergeometry (pcbem3d bem, uint **idx) |
| Creates a clustergeometry object for a BEM-Problem using linear basis functions. More...
|
|
pclustergeometry | build_bem3d_clustergeometry (pcbem3d bem, uint **idx, basisfunctionbem3d basis) |
| Creates a clustergeometry object for a BEM-Problem using the type of basis functions specified by basis. More...
|
|
pcluster | build_bem3d_cluster (pcbem3d bem, uint clf, basisfunctionbem3d basis) |
| Creates a clustertree for specified basis functions. More...
|
|
void | assemble_cc_near_bem3d (const uint *ridx, const uint *cidx, pcbem3d bem, bool ntrans, pamatrix N, kernel_func3d kernel) |
| Compute general entries of a boundary integral operator with piecewise constant basis functions for both Ansatz and test functions. More...
|
|
void | assemble_cc_far_bem3d (const uint *ridx, const uint *cidx, pcbem3d bem, bool ntrans, pamatrix N, kernel_func3d kernel) |
| Compute general entries of a boundary integral operator with piecewise constant basis functions for both Ansatz and test functions. More...
|
|
void | assemble_cl_near_bem3d (const uint *ridx, const uint *cidx, pcbem3d bem, bool ntrans, pamatrix N, kernel_func3d kernel) |
| Compute general entries of a boundary integral operator with piecewise constant basis functions for Test and piecewise linear basis functions for Ansatz functions. More...
|
|
void | assemble_cl_far_bem3d (const uint *ridx, const uint *cidx, pcbem3d bem, bool ntrans, pamatrix N, kernel_func3d kernel) |
| Compute general entries of a boundary integral operator with piecewise constant basis functions for Test and piecewise linear basis functions for Ansatz functions. More...
|
|
void | assemble_lc_near_bem3d (const uint *ridx, const uint *cidx, pcbem3d bem, bool ntrans, pamatrix N, kernel_func3d kernel) |
| Compute general entries of a boundary integral operator with piecewise linear basis functions for Test and piecewise contant basis functions for Ansatz functions. More...
|
|
void | assemble_lc_far_bem3d (const uint *ridx, const uint *cidx, pcbem3d bem, bool ntrans, pamatrix N, kernel_func3d kernel) |
| Compute general entries of a boundary integral operator with piecewise linear basis functions for Test and piecewise contant basis functions for Ansatz functions. More...
|
|
void | assemble_ll_near_bem3d (const uint *ridx, const uint *cidx, pcbem3d bem, bool ntrans, pamatrix N, kernel_func3d kernel) |
| Compute general entries of a boundary integral operator with piecewise linear basis functions for both Ansatz and test functions. More...
|
|
void | assemble_ll_far_bem3d (const uint *ridx, const uint *cidx, pcbem3d bem, bool ntrans, pamatrix N, kernel_func3d kernel) |
| Compute general entries of a boundary integral operator with piecewise linear basis functions for both Ansatz and test functions. More...
|
|
void | fill_bem3d (pcbem3d bem, const real(*X)[3], const real(*Y)[3], const real(*NX)[3], const real(*NY)[3], pamatrix V, kernel_func3d kernel) |
| Evaluate a kernel function at some points and . More...
|
|
void | fill_wave_bem3d (pcbem3d bem, const real(*X)[3], const real(*Y)[3], const real(*NX)[3], const real(*NY)[3], pamatrix V, pcreal dir, kernel_wave_func3d kernel) |
| Evaluate a modified kernel function at some points and for some direction . More...
|
|
void | fill_row_c_bem3d (const uint *idx, const real(*Z)[3], pcbem3d bem, pamatrix V, kernel_func3d kernel) |
| This function will integrate a kernel function on the boundary domain in the first argument using piecewise constant basis function. For the second argument some given points will be used. The results will be stored in a matrix V . More...
|
|
void | fill_col_c_bem3d (const uint *idx, const real(*Z)[3], pcbem3d bem, pamatrix V, kernel_func3d kernel) |
| This function will integrate a kernel function on the boundary domain in the second argument using piecewise constant basis function. For the first argument some given points will be used. The results will be stored in a matrix V . More...
|
|
void | fill_row_l_bem3d (const uint *idx, const real(*Z)[3], pcbem3d bem, pamatrix V, kernel_func3d kernel) |
| This function will integrate a kernel function on the boundary domain in the first argument using piecewise linear basis function. For the second argument some given points will be used. The results will be stored in a matrix V . More...
|
|
void | fill_col_l_bem3d (const uint *idx, const real(*Z)[3], pcbem3d bem, pamatrix V, kernel_func3d kernel) |
| This function will integrate a kernel function on the boundary domain in the second argument using piecewise linear basis function. For the first argument some given points will be used. The results will be stored in a matrix V . More...
|
|
void | fill_dnz_row_c_bem3d (const uint *idx, const real(*Z)[3], const real(*N)[3], pcbem3d bem, pamatrix V, kernel_func3d kernel) |
| This function will integrate a normal derivative of a kernel function with respect to on the boundary domain in the first argument using piecewise constant basis function. For the second argument some given points will be used. The results will be stored in a matrix V . More...
|
|
void | fill_dnz_col_c_bem3d (const uint *idx, const real(*Z)[3], const real(*N)[3], pcbem3d bem, pamatrix V, kernel_func3d kernel) |
| This function will integrate a normal derivative of a kernel function with respect to on the boundary domain in the second argument using piecewise constant basis function. For the first argument some given points will be used. The results will be stored in a matrix V . More...
|
|
void | fill_dnz_row_l_bem3d (const uint *idx, const real(*Z)[3], const real(*N)[3], pcbem3d bem, pamatrix V, kernel_func3d kernel) |
| This function will integrate a normal derivative of a kernel function with respect to on the boundary domain in the first argument using piecewise linear basis function. For the second argument some given points will be used. The results will be stored in a matrix V . More...
|
|
void | fill_dnz_col_l_bem3d (const uint *idx, const real(*Z)[3], const real(*N)[3], pcbem3d bem, pamatrix V, kernel_func3d kernel) |
| This function will integrate a normal derivative of a kernel function with respect to on the boundary domain in the second argument using piecewise linear basis function. For the first argument some given points will be used. The results will be stored in a matrix V . More...
|
|
void | setup_hmatrix_recomp_bem3d (pbem3d bem, bool recomp, real accur_recomp, bool coarsen, real accur_coarsen) |
| Initialize the bem object for on the fly recompression techniques. More...
|
|
void | setup_hmatrix_aprx_inter_row_bem3d (pbem3d bem, pccluster rc, pccluster cc, pcblock tree, uint m) |
| This function initializes the bem3d object for approximating a matrix with tensorinterpolation within the row cluster. More...
|
|
void | setup_hmatrix_aprx_inter_col_bem3d (pbem3d bem, pccluster rc, pccluster cc, pcblock tree, uint m) |
| This function initializes the bem3d object for approximating a matrix with tensorinterpolation within the column cluster. More...
|
|
void | setup_hmatrix_aprx_inter_mixed_bem3d (pbem3d bem, pccluster rc, pccluster cc, pcblock tree, uint m) |
| This function initializes the bem3d object for approximating a matrix with tensorinterpolation within one of row or column cluster. More...
|
|
void | setup_hmatrix_aprx_green_row_bem3d (pbem3d bem, pccluster rc, pccluster cc, pcblock tree, uint m, uint l, real delta, quadpoints3d quadpoints) |
| creating hmatrix approximation using green's method with row cluster . More...
|
|
void | setup_hmatrix_aprx_green_col_bem3d (pbem3d bem, pccluster rc, pccluster cc, pcblock tree, uint m, uint l, real delta, quadpoints3d quadpoints) |
| creating hmatrix approximation using green's method with column cluster . More...
|
|
void | setup_hmatrix_aprx_green_mixed_bem3d (pbem3d bem, pccluster rc, pccluster cc, pcblock tree, uint m, uint l, real delta, quadpoints3d quadpoints) |
| creating hmatrix approximation using green's method with one of row or column cluster . More...
|
|
void | setup_hmatrix_aprx_greenhybrid_row_bem3d (pbem3d bem, pccluster rc, pccluster cc, pcblock tree, uint m, uint l, real delta, real accur, quadpoints3d quadpoints) |
| creating hmatrix approximation using green's method with row cluster connected with recompression technique using ACA. More...
|
|
void | setup_hmatrix_aprx_greenhybrid_col_bem3d (pbem3d bem, pccluster rc, pccluster cc, pcblock tree, uint m, uint l, real delta, real accur, quadpoints3d quadpoints) |
| creating hmatrix approximation using green's method with column cluster connected with recompression technique using ACA. More...
|
|
void | setup_hmatrix_aprx_greenhybrid_mixed_bem3d (pbem3d bem, pccluster rc, pccluster cc, pcblock tree, uint m, uint l, real delta, real accur, quadpoints3d quadpoints) |
| creating hmatrix approximation using green's method with row or column cluster connected with recompression technique using ACA. More...
|
|
void | setup_hmatrix_aprx_aca_bem3d (pbem3d bem, pccluster rc, pccluster cc, pcblock tree, real accur) |
| Approximate matrix block with ACA using full pivoting. More...
|
|
void | setup_hmatrix_aprx_paca_bem3d (pbem3d bem, pccluster rc, pccluster cc, pcblock tree, real accur) |
| Approximate matrix block with ACA using partial pivoting. More...
|
|
void | setup_hmatrix_aprx_hca_bem3d (pbem3d bem, pccluster rc, pccluster cc, pcblock tree, uint m, real accur) |
| Approximate matrix block with hybrid cross approximation using Interpolation and ACA with full pivoting. More...
|
|
void | setup_h2matrix_recomp_bem3d (pbem3d bem, bool hiercomp, real accur_hiercomp) |
| Enables hierarchical recompression for hmatrices. More...
|
|
void | setup_h2matrix_aprx_inter_bem3d (pbem3d bem, pcclusterbasis rb, pcclusterbasis cb, pcblock tree, uint m) |
| Initialize the bem3d object for approximating a h2matrix with tensorinterpolation. More...
|
|
void | setup_h2matrix_aprx_greenhybrid_bem3d (pbem3d bem, pcclusterbasis rb, pcclusterbasis cb, pcblock tree, uint m, uint l, real delta, real accur, quadpoints3d quadpoints) |
| Initialize the bem3d object for approximating a h2matrix with green's method and ACA based recompression. More...
|
|
void | setup_h2matrix_aprx_greenhybrid_ortho_bem3d (pbem3d bem, pcclusterbasis rb, pcclusterbasis cb, pcblock tree, uint m, uint l, real delta, real accur, quadpoints3d quadpoints) |
| Initialize the bem3d object for approximating a h2matrix with green's method and ACA based recompression. The resulting clusterbasis will be orthogonal. More...
|
|
void | setup_dh2matrix_aprx_inter_bem3d (pbem3d bem, pcdclusterbasis rb, pcdclusterbasis cb, pcdblock tree, uint m) |
| Initialize the bem3d object for an interpolation based -matrix approximation. More...
|
|
void | setup_dh2matrix_aprx_inter_ortho_bem3d (pbem3d bem, pcdclusterbasis rb, pcdclusterbasis cb, pcdblock tree, uint m) |
| Initialize the bem3d object for an interpolation based -matrix approximation with orthogonal directional cluster basis. More...
|
|
void | setup_dh2matrix_aprx_inter_recomp_bem3d (pbem3d bem, pcdclusterbasis rb, pcdclusterbasis cb, pcdblock tree, uint m, ptruncmode tm, real eps) |
| Initialize the bem3d object for an interpolation based -matrix approximation with orthogonal directional cluster basis. During the filling process the -matrix will be recompressed with respective to truncmode and the given accuracy eps . More...
|
|
void | assemble_bem3d_amatrix (pbem3d bem, pamatrix G) |
| Assemble a dense matrix for some boundary integral operator given by bem . More...
|
|
void | assemble_bem3d_hmatrix (pbem3d bem, pblock b, phmatrix G) |
| Fills a hmatrix with a predefined approximation technique. More...
|
|
void | assemblecoarsen_bem3d_hmatrix (pbem3d bem, pblock b, phmatrix G) |
| Fills a hmatrix with a predefined approximation technique using coarsening strategy. More...
|
|
void | assemble_bem3d_nearfield_hmatrix (pbem3d bem, pblock b, phmatrix G) |
| Fills the nearfield blocks of a hmatrix. More...
|
|
void | assemble_bem3d_farfield_hmatrix (pbem3d bem, pblock b, phmatrix G) |
| Fills the farfield blocks of a hmatrix with a predefined approximation technique. More...
|
|
void | assemble_bem3d_h2matrix_row_clusterbasis (pcbem3d bem, pclusterbasis rb) |
| This function computes the matrix entries for the nested clusterbasis . More...
|
|
void | assemble_bem3d_h2matrix_col_clusterbasis (pcbem3d bem, pclusterbasis cb) |
| This function computes the matrix entries for the nested clusterbasis . More...
|
|
void | assemble_bem3d_h2matrix (pbem3d bem, ph2matrix G) |
| Fills a h2matrix with a predefined approximation technique. More...
|
|
void | assemble_bem3d_nearfield_h2matrix (pbem3d bem, ph2matrix G) |
| Fills the nearfield part of a h2matrix. More...
|
|
void | assemble_bem3d_farfield_h2matrix (pbem3d bem, ph2matrix G) |
| Fills a h2matrix with a predefined approximation technique. More...
|
|
void | assemblehiercomp_bem3d_h2matrix (pbem3d bem, pblock b, ph2matrix G) |
| Fills an h2matrix with a predefined approximation technique using hierarchical recompression. More...
|
|
void | assemble_bem3d_dh2matrix_row_dclusterbasis (pcbem3d bem, pdclusterbasis rb) |
| This function computes the matrix entries for the nested dclusterbasis . More...
|
|
void | assemble_bem3d_dh2matrix_col_dclusterbasis (pcbem3d bem, pdclusterbasis cb) |
| This function computes the matrix entries for the nested dclusterbasis . More...
|
|
void | assemble_bem3d_dh2matrix_ortho_row_dclusterbasis (pcbem3d bem, pdclusterbasis rb, pdclusteroperator ro) |
| Function for filling a directional row cluster basis with orthogonal matrices. More...
|
|
void | assemble_bem3d_dh2matrix_ortho_col_dclusterbasis (pcbem3d bem, pdclusterbasis cb, pdclusteroperator co) |
| Function for filling a directional column cluster basis with orthogonal matrices. More...
|
|
void | assemble_bem3d_dh2matrix_recomp_both_dclusterbasis (pcbem3d bem, pdclusterbasis rb, pdclusteroperator bro, pdclusterbasis cb, pdclusteroperator bco, pcdblock broot) |
| Function for filling both directional cluster bases with orthogonal matrices. More...
|
|
void | assemble_bem3d_dh2matrix (pbem3d bem, pdh2matrix G) |
| Fills a dh2matrix with a predefined approximation technique. More...
|
|
void | assemble_bem3d_nearfield_dh2matrix (pbem3d bem, pdh2matrix G) |
| Fills the nearfield part of a dh2matrix. More...
|
|
void | assemble_bem3d_farfield_dh2matrix (pbem3d bem, pdh2matrix G) |
| Fills a dh2matrix with a predefined approximation technique. More...
|
|
void | assemble_bem3d_lagrange_c_amatrix (const uint *idx, pcrealavector px, pcrealavector py, pcrealavector pz, pcbem3d bem, pamatrix V) |
| This function will integrate Lagrange polynomials on the boundary domain using piecewise constant basis function and store the results in a matrix V . More...
|
|
void | assemble_bem3d_lagrange_wave_c_amatrix (const uint *idx, pcrealavector px, pcrealavector py, pcrealavector pz, pcreal dir, pcbem3d bem, pamatrix V) |
| This function will integrate modified Lagrange polynomials on the boundary domain using piecewise constant basis function and store the results in a matrix V . More...
|
|
void | assemble_bem3d_lagrange_l_amatrix (const uint *idx, pcrealavector px, pcrealavector py, pcrealavector pz, pcbem3d bem, pamatrix V) |
| This function will integrate Lagrange polynomials on the boundary domain using linear basis function and store the results in a matrix V . More...
|
|
void | assemble_bem3d_lagrange_wave_l_amatrix (const uint *idx, pcrealavector px, pcrealavector py, pcrealavector pz, pcreal dir, pcbem3d bem, pamatrix V) |
| This function will integrate modified Lagrange polynomials on the boundary domain using linear basis function and store the results in a matrix V . More...
|
|
void | assemble_bem3d_dn_lagrange_c_amatrix (const uint *idx, pcrealavector px, pcrealavector py, pcrealavector pz, pcbem3d bem, pamatrix V) |
| This function will integrate the normal derivatives of the Lagrange polynomials on the boundary domain using piecewise constant basis function and store the results in a matrix V . More...
|
|
void | assemble_bem3d_dn_lagrange_wave_c_amatrix (const uint *idx, pcrealavector px, pcrealavector py, pcrealavector pz, pcreal dir, pcbem3d bem, pamatrix V) |
| This function will integrate the normal derivatives of the modified Lagrange polynomials on the boundary domain using piecewise constant basis function and store the results in a matrix V . More...
|
|
void | assemble_bem3d_dn_lagrange_l_amatrix (const uint *idx, pcrealavector px, pcrealavector py, pcrealavector pz, pcbem3d bem, pamatrix V) |
| This function will integrate the normal derivatives of the Lagrange polynomials on the boundary domain using linear basis function and store the results in a matrix V . More...
|
|
void | assemble_bem3d_dn_lagrange_wave_l_amatrix (const uint *idx, pcrealavector px, pcrealavector py, pcrealavector pz, pcreal dir, pcbem3d bem, pamatrix V) |
| This function will integrate the normal derivatives of the modified Lagrange polynomials on the boundary domain using linear basis function and store the results in a matrix V . More...
|
|
void | assemble_bem3d_lagrange_amatrix (const real(*X)[3], pcrealavector px, pcrealavector py, pcrealavector pz, pcbem3d bem, pamatrix V) |
| This function will evaluate the Lagrange polynomials in a given point set X and store the results in a matrix V . More...
|
|
void | assemble_bem3d_lagrange_wave_amatrix (const real(*X)[3], pcrealavector px, pcrealavector py, pcrealavector pz, pcreal dir, pcbem3d bem, pamatrix V) |
| This function will evaluate the modified Lagrange polynomials in a given point set X and store the results in a matrix V . More...
|
|
real | normL2_bem3d (pbem3d bem, boundary_func3d f, void *data) |
| Compute the -norm of some given function f . More...
|
|
real | normL2_c_bem3d (pbem3d bem, pavector x) |
| Compute the -norm of some given function in terms of a piecewise constant basis . More...
|
|
real | normL2diff_c_bem3d (pbem3d bem, pavector x, boundary_func3d f, void *data) |
| Compute the difference norm of some given function in terms of a piecewise constant basis and some other function . More...
|
|
real | normL2_l_bem3d (pbem3d bem, pavector x) |
| Compute the -norm of some given function in terms of a piecewise linear basis . More...
|
|
real | normL2diff_l_bem3d (pbem3d bem, pavector x, boundary_func3d f, void *data) |
| Compute the difference norm of some given function in terms of a piecewise linear basis and some other function . More...
|
|
void | integrate_bem3d_c_avector (pbem3d bem, boundary_func3d f, pavector w, void *data) |
| Computes the integral of a given function using piecewise constant basis functions over the boundary of a domain. More...
|
|
void | integrate_bem3d_l_avector (pbem3d bem, boundary_func3d f, pavector w, void *data) |
| Computes the integral of a given function using piecewise linear basis functions over the boundary of a domain. More...
|
|
void | projectL2_bem3d_c_avector (pbem3d bem, boundary_func3d f, pavector w, void *data) |
| Computes the -projection of a given function using piecewise constant basis functions over the boundary of a domain. More...
|
|
void | projectL2_bem3d_l_avector (pbem3d bem, boundary_func3d f, pavector w, void *data) |
| Computes the -projection of a given function using linear basis functions over the boundary of a domain. More...
|
|
void | setup_vertex_to_triangle_map_bem3d (pbem3d bem) |
| initializes the field bem->v2t when using linear basis functions More...
|
|
void | build_bem3d_cube_quadpoints (pcbem3d bem, const real a[3], const real b[3], const real delta, real(**Z)[3], real(**N)[3]) |
| Generating quadrature points, weights and normal vectors on a cube parameterization. More...
|
|
prkmatrix | build_bem3d_rkmatrix (pccluster row, pccluster col, void *data) |
| For a block defined by row and col this function will build a rank-k-approximation and return the rkmatrix. More...
|
|
pamatrix | build_bem3d_amatrix (pccluster row, pccluster col, void *data) |
| For a block defined by row and col this function will compute the full submatrix and return an amatrix. More...
|
|
void | build_bem3d_curl_sparsematrix (pcbem3d bem, psparsematrix *C0, psparsematrix *C1, psparsematrix *C2) |
| Set up the surface curl operator. More...
|
|