bempp.api.operators.boundary.helmholtz
¶
Interfaces to Helmholtz operators.
Module Contents¶
Classes¶
Implementation of the OSRC DtN operator. |
|
Implementation of the OSRC NtD operator. |
Functions¶
|
Assemble the Helmholtz single-layer boundary operator. |
|
Assemble the Helmholtz double-layer boundary operator. |
|
Assemble the Helmholtz adj. double-layer boundary operator. |
|
Assemble the Helmholtz hypersingular boundary operator. |
|
Simplified version of multitrace operator assembly. |
|
Assemble the OSRC approximation to the DtN operator. |
|
Assemble the OSRC approximation to the NtD operator. |
- bempp.api.operators.boundary.helmholtz.single_layer(domain, range_, dual_to_range, wavenumber, parameters=None, assembler='default_nonlocal', device_interface=None, precision=None)¶
Assemble the Helmholtz single-layer boundary operator.
- bempp.api.operators.boundary.helmholtz.double_layer(domain, range_, dual_to_range, wavenumber, parameters=None, assembler='default_nonlocal', device_interface=None, precision=None)¶
Assemble the Helmholtz double-layer boundary operator.
- bempp.api.operators.boundary.helmholtz.adjoint_double_layer(domain, range_, dual_to_range, wavenumber, parameters=None, assembler='default_nonlocal', device_interface=None, precision=None)¶
Assemble the Helmholtz adj. double-layer boundary operator.
- bempp.api.operators.boundary.helmholtz.hypersingular(domain, range_, dual_to_range, wavenumber, parameters=None, assembler='default_nonlocal', device_interface=None, precision=None)¶
Assemble the Helmholtz hypersingular boundary operator.
- bempp.api.operators.boundary.helmholtz.multitrace_operator(grid, wavenumber, 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.
- wavenumbercomplex
A real or complex wavenumber
- 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
Currently only “p1” is supported, which means that the operator is discretised with all P1 basis functions.
- 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.
- bempp.api.operators.boundary.helmholtz.osrc_dtn(space, wavenumber, npade=2, theta=_np.pi / 3.0, damped_wavenumber=None, parameters=None, device_interface=None, precision=None)¶
Assemble the OSRC approximation to the DtN operator.
- class bempp.api.operators.boundary.helmholtz._OsrcDtN(space, parameters, operator_options, device_interface=None, precision=None)¶
Bases:
bempp.api.assembly.boundary_operator.BoundaryOperator
Implementation of the OSRC DtN operator.
- property descriptor¶
Operator descriptor.
- _assemble()¶
Assemble the operator.
- bempp.api.operators.boundary.helmholtz.osrc_ntd(space, wavenumber, npade=2, theta=_np.pi / 3.0, damped_wavenumber=None, parameters=None, device_interface=None, precision=None)¶
Assemble the OSRC approximation to the NtD operator.
- class bempp.api.operators.boundary.helmholtz._OsrcNtD(space, parameters, operator_options, device_interface=None, precision=None)¶
Bases:
bempp.api.assembly.boundary_operator.BoundaryOperator
Implementation of the OSRC NtD operator.
- property descriptor¶
Operator descriptor.
- _assemble()¶