bempp.api.fmm.fmm_assembler

Implementation of an FMM Assembler.

Module Contents

Classes

FmmPotentialAssembler

Potential assembler for FMM.

FmmAssembler

Assembler for Fmm.

Functions

get_mode_from_operator_identifier(identifier)

Get the Fmm mode from the operator identifier.

get_fmm_interface(domain, dual_to_range, mode, wavenumber)

Get an Fmm instance.

get_fmm_potential_interface(space, points, mode, ...)

Get an Fmm potential instance.

create_evaluator(operator_descriptor, fmm_interface, ...)

Return an Fmm evaluator for the requested kernel.

create_potential_evaluator(operator_descriptor, ...)

Select an Fmm Potential Evaluator.

make_scalar_hypersingular(operator_descriptor, ...)

Create an evaluator for scalar hypersingular operators.

make_default_scalar(operator_descriptor, ...)

Create an evaluator for scalar operators.

get_normals(space, npoints)

Get the normal vectors on the quadrature points.

compute_p1_curl_transformation(space, quadrature_order)

Compute the transformation of P1 space coefficients to surface curl values.

compute_p1_curl_transformation_impl(grid_data, ...)

Implement the curl transformation.

compute_rwg_basis_transform(space, quadrature_order)

Compute the transformation matrices for RWG basis functions.

compute_rwg_basis_transform_impl(grid_data, ...)

Implement the RWG basis transformation.

compute_rwg_div_transform(space, quadrature_order)

Compute the div transformation matrices for RWG basis functions.

compute_rwg_div_transform_impl(grid_data, ...)

Implement the RWG basis div transformation.

make_default_scalar_potential(operator_descriptor, ...)

Make a scalar potential operator.

make_maxwell_electric_field_boundary(...)

Make a Maxwell electric field boundary operator.

make_maxwell_magnetic_field_boundary(...)

Make a Maxwell magnetic field boundary operator.

make_maxwell_electric_field_potential(...)

Make a Maxwell electric field potential operator.

make_maxwell_magnetic_field_potential(...)

Make a Maxwell magnetic field potential operator.

clear_fmm_cache()

Clean the FMM cache.

Attributes

_FMM_CACHE

_FMM_POTENTIAL_CACHE

bempp.api.fmm.fmm_assembler._FMM_CACHE
bempp.api.fmm.fmm_assembler._FMM_POTENTIAL_CACHE
bempp.api.fmm.fmm_assembler.get_mode_from_operator_identifier(identifier)

Get the Fmm mode from the operator identifier.

bempp.api.fmm.fmm_assembler.get_fmm_interface(domain, dual_to_range, mode, wavenumber, parameters=None, device_interface=None)

Get an Fmm instance.

bempp.api.fmm.fmm_assembler.get_fmm_potential_interface(space, points, mode, wavenumber)

Get an Fmm potential instance.

bempp.api.fmm.fmm_assembler.create_evaluator(operator_descriptor, fmm_interface, domain, dual_to_range, parameters)

Return an Fmm evaluator for the requested kernel.

bempp.api.fmm.fmm_assembler.create_potential_evaluator(operator_descriptor, fmm_interface, space, parameters)

Select an Fmm Potential Evaluator.

class bempp.api.fmm.fmm_assembler.FmmPotentialAssembler(space, operator_descriptor, points, device_interface, parameters)

Bases: object

Potential assembler for FMM.

evaluate(x)

Actually evaluate the potential.

class bempp.api.fmm.fmm_assembler.FmmAssembler(domain, dual_to_range, parameters)

Bases: bempp.api.assembly.assembler.AssemblerBase

Assembler for Fmm.

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

Actually assemble.

matvec(x)

Perform a matvec.

bempp.api.fmm.fmm_assembler.make_scalar_hypersingular(operator_descriptor, fmm_interface, domain, dual_to_range)

Create an evaluator for scalar hypersingular operators.

bempp.api.fmm.fmm_assembler.make_default_scalar(operator_descriptor, fmm_interface, domain, dual_to_range)

Create an evaluator for scalar operators.

bempp.api.fmm.fmm_assembler.get_normals(space, npoints)

Get the normal vectors on the quadrature points.

bempp.api.fmm.fmm_assembler.compute_p1_curl_transformation(space, quadrature_order)

Compute the transformation of P1 space coefficients to surface curl values.

Returns two lists, curl_transforms and curl_transforms_transpose. The jth matrix in curl_transforms is the map from P1 function space coefficients (or extended space built upon P1 type spaces) to the jth component of the surface curl evaluated at the quadrature points, multiplied with the quadrature weights and integration element. The list curl_transforms_transpose contains the transpose of these matrices.

bempp.api.fmm.fmm_assembler.compute_p1_curl_transformation_impl(grid_data, support_elements, normal_multipliers, quad_points, weights)

Implement the curl transformation.

bempp.api.fmm.fmm_assembler.compute_rwg_basis_transform(space, quadrature_order)

Compute the transformation matrices for RWG basis functions.

bempp.api.fmm.fmm_assembler.compute_rwg_basis_transform_impl(grid_data, shapeset_evaluate, basis_evaluate, support_elements, local_multipliers, normal_multipliers, quad_points, weights)

Implement the RWG basis transformation.

bempp.api.fmm.fmm_assembler.compute_rwg_div_transform(space, quadrature_order)

Compute the div transformation matrices for RWG basis functions.

bempp.api.fmm.fmm_assembler.compute_rwg_div_transform_impl(grid_data, shapeset_evaluate, basis_evaluate, support_elements, local_multipliers, normal_multipliers, quad_points, weights)

Implement the RWG basis div transformation.

bempp.api.fmm.fmm_assembler.make_default_scalar_potential(operator_descriptor, fmm_interface, space)

Make a scalar potential operator.

bempp.api.fmm.fmm_assembler.make_maxwell_electric_field_boundary(operator_descriptor, fmm_interface, domain, dual_to_range)

Make a Maxwell electric field boundary operator.

bempp.api.fmm.fmm_assembler.make_maxwell_magnetic_field_boundary(operator_descriptor, fmm_interface, domain, dual_to_range)

Make a Maxwell magnetic field boundary operator.

bempp.api.fmm.fmm_assembler.make_maxwell_electric_field_potential(operator_descriptor, fmm_interface, space)

Make a Maxwell electric field potential operator.

bempp.api.fmm.fmm_assembler.make_maxwell_magnetic_field_potential(operator_descriptor, fmm_interface, space)

Make a Maxwell magnetic field potential operator.

bempp.api.fmm.fmm_assembler.clear_fmm_cache()

Clean the FMM cache.