bempp.api.operators.boundary.maxwell

Interfaces to Maxwell operators.

Module Contents

Classes

_OsrcMtE

Implementation of the OSRC DtN operator.

Functions

electric_field(domain, range_, dual_to_range, wavenumber)

Assemble the electric field boundary operator.

magnetic_field(domain, range_, dual_to_range, wavenumber)

Assemble the magnetic field boundary operator.

multitrace_operator(grid, wavenumber[, epsilon_r, ...])

Simplified version of multitrace operator assembly.

_multitrace_operator_impl(domain, range_, ...[, ...])

osrc_mte(domains, ranges, dual_to_ranges, wavenumber)

Assemble the OSRC approximation to the NtD operator.

bempp.api.operators.boundary.maxwell.electric_field(domain, range_, dual_to_range, wavenumber, parameters=None, assembler='default_nonlocal', device_interface=None, precision=None)

Assemble the electric field boundary operator.

bempp.api.operators.boundary.maxwell.magnetic_field(domain, range_, dual_to_range, wavenumber, parameters=None, assembler='default_nonlocal', device_interface=None, precision=None)

Assemble the magnetic field boundary operator.

bempp.api.operators.boundary.maxwell.multitrace_operator(grid, wavenumber, epsilon_r=1, mu_r=1, target=None, space_type='magnetic_dual', 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

epsilon_rfloat

Relative permittivity with respect to vacuum.

mu_rfloat

Relative permeability with respect to vacuum.

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

One of “all_rwg”, “all_bc”, “magnetic_dual” (default), “electric_dual”. These lead to the following choices of space, range, and dual_to_range: default - (RWG, RWG), (BC, BC), (SNC, SNC) all_dual - (BC, BC), (RWG, RWG), (RBC, RBC) magnetic_dual - (RWG, BC), (RWG, BC), (RBC, SNC) electric_dual - (BC, RWG), (BC, RWG), (SNC, RBC)

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 Maxwell multitrace operator of the form [[M, E], [-E, M]], where M represens the magnetic and E the electric field boundary operators in the respective spaces defined through space_type. Note that the operators in the first and second row have different discretisations depending on the type of spaces used.

bempp.api.operators.boundary.maxwell._multitrace_operator_impl(domain, range_, dual_to_range, wavenumber, epsilon_r=1, mu_r=1, parameters=None, assembler='default_nonlocal', device_interface=None, precision=None)
class bempp.api.operators.boundary.maxwell._OsrcMtE(type, domains, ranges, dual_to_ranges, parameters, operator_options, device_interface=None, precision=None)

Implementation of the OSRC DtN operator.

property descriptor

Operator descriptor.

_matvec1(v)
_matvec2(v)
_assemble()

Assemble the operator.

bempp.api.operators.boundary.maxwell.osrc_mte(domains, ranges, dual_to_ranges, wavenumber, npade=2, theta=_np.pi / 2.0, type=1, damped_wavenumber=None, parameters=None, device_interface=None, precision=None)

Assemble the OSRC approximation to the NtD operator.