bempp_cl.api.operators.boundary.helmholtz¶
Interfaces to Helmholtz operators.
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. |
Module Contents¶
- bempp_cl.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_cl.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_cl.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_cl.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_cl.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
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.
- bempp_cl.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_cl.api.operators.boundary.helmholtz._OsrcDtN(space, parameters, operator_options, device_interface=None, precision=None)¶
Bases:
bempp_cl.api.assembly.boundary_operator.BoundaryOperatorImplementation of the OSRC DtN operator.
- _device_interface = None¶
- _operator_descriptor¶
- property descriptor¶
Operator descriptor.
- _assemble()¶
Assemble the operator.
- bempp_cl.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_cl.api.operators.boundary.helmholtz._OsrcNtD(space, parameters, operator_options, device_interface=None, precision=None)¶
Bases:
bempp_cl.api.assembly.boundary_operator.BoundaryOperatorImplementation of the OSRC NtD operator.
- _device_interface = None¶
- _operator_descriptor¶
- property descriptor¶
Operator descriptor.
- _assemble()¶