bempp.core.singular_assembler

Singular assembly.

Module Contents

Classes

SingularAssembler

Assembler for the singular part of boundary integral operators.

_SingularQuadratureRuleInterfaceGalerkin

Interface for a singular quadrature rule.

Functions

assemble_singular_part(domain, dual_to_range, ...)

Actually assemble the Numba kernel.

Attributes

_SingularQuadratureRule

class bempp.core.singular_assembler.SingularAssembler(domain, dual_to_range, parameters=None)

Bases: bempp.api.assembly.assembler.AssemblerBase

Assembler for the singular part of boundary integral operators.

assemble(operator_descriptor, device_interface, precision, *args, **kwargs)

Assemble the singular part.

bempp.core.singular_assembler.assemble_singular_part(domain, dual_to_range, parameters, operator_descriptor, device_interface)

Actually assemble the Numba kernel.

bempp.core.singular_assembler._SingularQuadratureRule
class bempp.core.singular_assembler._SingularQuadratureRuleInterfaceGalerkin(grid, order, test_support, trial_support)

Bases: object

Interface for a singular quadrature rule.

property order

Return the order.

property coincident_rule

Return coincident rule.

property edge_adjacent_rule

Return edge adjacent rule.

property vertex_adjacent_rule

Return vertex adjacent rule.

property grid

Return the grid.

property edge_adjacency

Return the grid edge adjacency information.

property vertex_adjacency

Return vertex adjacency.

property number_of_elements

Return the number of elements of the underlying grid.

property index_count

Return the index count.

property test_indices

Return the test indicies of all singular contributions.

property trial_indices

Return the trial indicies of all singular contributions.

number_of_points(adjacency)

Return the number of quadrature points for given adjacency.

get_arrays()

Return the arrays.

_collect_remapped_quad_points_for_edge_adjacent_rule(quad_points)

Remap quad points for edge adjacent quadrature rules.

Given a 2xN array of quadrature points, return all possible combinations of remapped rules, according to the following order 0: edge (index 0, 1) 1: edge (index 1, 0) 2: edge (index 1, 2) 3: edge (index 2, 1) 4: edge (index 0, 2) 5: edge (index 2, 0)

_collect_remapped_quad_points_for_vertex_adjacent_rule(quad_points)

Remap quad points for vertex adjacent quadrature rules.

Given a 2xN array of quadrature points, return all possible combinations of remapped rules, according to the following order 0: vertex (index 0) 1: vertex (index 1) 2: vertex (index 2)

_compute_edge_offsets()

Compute offsets for the edge based rule.

_compute_vertex_offsets()

Compute offsets for the vertex based rules.

_vectorize_indices()

Return vector of test and trial indices for sing. integration.

_get_number_of_quad_points()

Compute an array of local numbers of integration points.

_vectorize_points()

Return an array of all quadrature points for all different rules.

_vectorize_weights()

Vectorize the quadrature weights.

_vectorize_offsets()

Vectorize the offsets.