bempp.api.operators.boundary.sparse

Interfaces to Laplace operators.

Module Contents

Functions

identity(domain, range_, dual_to_range[, parameters, ...])

Assemble the L^2 identity operator.

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

Assemble the inner product between a vector field and grad of a P1 basis function.

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

Assemble inner product between the surface curl of 2 SNC basis functions.

multitrace_identity(multitrace_operator[, parameters, ...])

Create a multitrace identity operator.

mte_operators(domains_, ranges_, dual_to_ranges_, kappa)

Create basic sparse operators to assemble Pade approximate MtE operators.

lambda_1(mte_operators, beta, kappa_eps)

Create and return block Pade approximate operator to Lambda1 = (I+Delta)^(1/2).

lambda_2(mte_operators)

Create and return Lambda2 = (I-curlcurl) operator.

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

Evaluate the sigma identity operator.

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

Assemble the negative Laplace-Beltrami operator.

bempp.api.operators.boundary.sparse.identity(domain, range_, dual_to_range, parameters=None, device_interface=None, precision=None)

Assemble the L^2 identity operator.

bempp.api.operators.boundary.sparse._vector_grad_product(domain, range_, dual_to_range, parameters=None, device_interface=None, precision=None)

Assemble the inner product between a vector field and grad of a P1 basis function.

bempp.api.operators.boundary.sparse._curl_curl_product(domain, range_, dual_to_range, parameters=None, device_interface=None, precision=None)

Assemble inner product between the surface curl of 2 SNC basis functions.

bempp.api.operators.boundary.sparse.multitrace_identity(multitrace_operator, parameters=None, device_interface=None, precision=None)

Create a multitrace identity operator.

Parameters

multitrace_operatorBempp Operator

A 2 x 2 multitrace operator object whose spaces are used to define the identity operator.

Output

A block-diagonal multitrace identity operator.

bempp.api.operators.boundary.sparse.mte_operators(domains_, ranges_, dual_to_ranges_, kappa)

Create basic sparse operators to assemble Pade approximate MtE operators.

Parameters

domains_

Domain spaces

ranges_

Range spaces

dual_to_ranges_

Dual spaces

Output

Basic sparse operators to assemble Pade approximate MtE operators.

IP

Identity operator built with piecewise linear basis functions

IC

Identity operator built with Hcurl conforming basis functions

N

Scaled curlcurl operator

L

Grad u dot v operator

LT

Transpose of L

bempp.api.operators.boundary.sparse.lambda_1(mte_operators, beta, kappa_eps)

Create and return block Pade approximate operator to Lambda1 = (I+Delta)^(1/2).

Parameters

mte_operators

Basic sparse Pade approximate MtE operators.

beta

Array containing the division between Pade coefficients: A_j/B_j

kappa

Damped wavenumber kappa_eps = kappa + i eps

Output

Block operator that approximates (I+Delta)^(1/2)

bempp.api.operators.boundary.sparse.lambda_2(mte_operators)

Create and return Lambda2 = (I-curlcurl) operator.

Parameters

mte_operators

Output

IC-N = (I-curlcurl)

bempp.api.operators.boundary.sparse.sigma_identity(domain, range_, dual_to_range, parameters=None, device_interface=None, precision=None)

Evaluate the sigma identity operator.

For Galerkin methods this operator is equivalent to .5 * identity. For collocation methods the value may differ from .5 on piecewise smooth domains.

bempp.api.operators.boundary.sparse.laplace_beltrami(domain, range_, dual_to_range, parameters=None, device_interface=None, precision=None)

Assemble the negative Laplace-Beltrami operator.