bempp_cl.api.operators.boundary.laplace

Interfaces to Laplace operators.

Functions

single_layer(domain, range_, dual_to_range[, ...])

Assemble the Laplace single-layer boundary operator.

double_layer(domain, range_, dual_to_range[, ...])

Assemble the Laplace double-layer boundary operator.

adjoint_double_layer(domain, range_, dual_to_range[, ...])

Assemble the Laplace adjoint double-layer boundary operator.

hypersingular(domain, range_, dual_to_range[, ...])

Assemble the Laplace hypersingular boundary operator.

multitrace_operator(grid[, target, space_type, ...])

Simplified version of multitrace operator assembly.

Module Contents

bempp_cl.api.operators.boundary.laplace.single_layer(domain, range_, dual_to_range, parameters=None, assembler='default_nonlocal', device_interface=None, precision=None)

Assemble the Laplace single-layer boundary operator.

bempp_cl.api.operators.boundary.laplace.double_layer(domain, range_, dual_to_range, parameters=None, assembler='default_nonlocal', device_interface=None, precision=None)

Assemble the Laplace double-layer boundary operator.

bempp_cl.api.operators.boundary.laplace.adjoint_double_layer(domain, range_, dual_to_range, parameters=None, assembler='default_nonlocal', device_interface=None, precision=None)

Assemble the Laplace adjoint double-layer boundary operator.

bempp_cl.api.operators.boundary.laplace.hypersingular(domain, range_, dual_to_range, parameters=None, assembler='default_nonlocal', device_interface=None, precision=None)

Assemble the Laplace hypersingular boundary operator.

bempp_cl.api.operators.boundary.laplace.multitrace_operator(grid, target=None, space_type='p1', parameters=None, assembler='default_nonlocal', device_interface=None, precision=None)

Simplified version of multitrace operator assembly.

Parameters

gridGrid

Bempp grid object.

targetGrid

The grid for the range spaces. If target is None then target is set to the input grid (that is the domain grid).

space_typestring

Controls which discretisation spaces are used. Supported values: - “p1”, which means that all operators are discretised with P1 basis functions. - “p1-dp0”, which means that P1 basis functions are used for the first row and column, and DP0 for the second. - “p1-dual0”, which means that P1 basis functions are used for the first row and column, and DUAL0 for the second.

parametersParameters

An optional parameters object.

assemblerstring

The assembler type.

device_interfaceDeviceInterface

The device interface object to be used.

precisionstring

Either “single” or “double” for single or double precision mode.

Output

The Helmholtz multitrace operator of the form [[-dlp, slp], [hyp, adj_dlp]], where dlp : double layer boundary operator slp : single layer boundary operator hyp : hypersingular boundary operator adj_dlp : adjoint double layer boundary operator.