bempp_cl.api.fmm.fmm_assembler

Implementation of an FMM Assembler.

Attributes

_FMM_CACHE

_FMM_POTENTIAL_CACHE

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.

Module Contents

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

Get the Fmm mode from the operator identifier.

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

Get an Fmm instance.

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

Get an Fmm potential instance.

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

Return an Fmm evaluator for the requested kernel.

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

Select an Fmm Potential Evaluator.

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

Bases: object

Potential assembler for FMM.

_evaluator
evaluate(x)

Actually evaluate the potential.

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

Bases: bempp_cl.api.assembly.assembler.AssemblerBase

Assembler for Fmm.

dtype = None
_evaluator = None
shape
assemble(operator_descriptor, device_interface, precision, *args, **kwargs)

Actually assemble.

matvec(x)

Perform a matvec.

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

Create an evaluator for scalar hypersingular operators.

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

Create an evaluator for scalar operators.

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

Get the normal vectors on the quadrature points.

bempp_cl.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_cl.api.fmm.fmm_assembler.compute_p1_curl_transformation_impl(grid_data, support_elements, normal_multipliers, quad_points, weights)

Implement the curl transformation.

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

Compute the transformation matrices for RWG basis functions.

bempp_cl.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_cl.api.fmm.fmm_assembler.compute_rwg_div_transform(space, quadrature_order)

Compute the div transformation matrices for RWG basis functions.

bempp_cl.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_cl.api.fmm.fmm_assembler.make_default_scalar_potential(operator_descriptor, fmm_interface, space)

Make a scalar potential operator.

bempp_cl.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_cl.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_cl.api.fmm.fmm_assembler.make_maxwell_electric_field_potential(operator_descriptor, fmm_interface, space)

Make a Maxwell electric field potential operator.

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

Make a Maxwell magnetic field potential operator.

bempp_cl.api.fmm.fmm_assembler.clear_fmm_cache()

Clean the FMM cache.