:py:mod:`bempp.api.assembly.boundary_operator` ============================================== .. py:module:: bempp.api.assembly.boundary_operator .. autoapi-nested-parse:: Implementation of boundary operators. Module Contents --------------- Classes ~~~~~~~ .. autoapisummary:: bempp.api.assembly.boundary_operator.BoundaryOperator bempp.api.assembly.boundary_operator.BoundaryOperatorWithAssembler bempp.api.assembly.boundary_operator._SumBoundaryOperator bempp.api.assembly.boundary_operator._ScaledBoundaryOperator bempp.api.assembly.boundary_operator._ProductBoundaryOperator bempp.api.assembly.boundary_operator.ZeroBoundaryOperator bempp.api.assembly.boundary_operator.MultiplicationOperator .. py:class:: BoundaryOperator(domain, range_, dual_to_range, parameters) Bases: :py:obj:`object` A base class for boundary operators. .. py:property:: domain Return the domain space of the operator. .. py:property:: range Return the range space of the operator. .. py:property:: dual_to_range Return the dual to range space of the operator. .. py:property:: parameters Return the parameters associated with the operator. .. py:method:: weak_form() Return the weak form (assemble if necessary). .. py:method:: strong_form() Return a discrete operator that maps into the range space. .. py:method:: __mul__(other) Return product with a scalar, grid function or other operator. .. py:method:: __matmul__(other) Multiply by another operator. .. py:method:: __rmul__(other) Multiply by another operator. .. py:method:: __add__(other) Return sum of two boundary operators. .. py:method:: __neg__() Negate an operator. .. py:method:: __sub__(other) Subtract two operators. .. py:class:: BoundaryOperatorWithAssembler(domain, range_, dual_to_range, assembler, operator_descriptor, transpose=False) Bases: :py:obj:`BoundaryOperator` Implements a boundary operator together with an assembler. .. py:property:: assembler Return the assembler associated with this operator. .. py:property:: descriptor Operator descriptor. .. py:method:: _assemble() Assemble the operator. .. py:method:: _transpose(_range) .. py:class:: _SumBoundaryOperator(op1, op2) Bases: :py:obj:`BoundaryOperator` Return the sum of two boundary operators. .. py:method:: _assemble() Implement the weak form. .. py:class:: _ScaledBoundaryOperator(op, alpha) Bases: :py:obj:`BoundaryOperator` Scale a boundary operator. .. py:method:: _assemble() Implement the weak form. .. py:class:: _ProductBoundaryOperator(op1, op2) Bases: :py:obj:`BoundaryOperator` Multiply two boundary operators. .. py:method:: _assemble() Implement the weak form. .. py:class:: ZeroBoundaryOperator(domain, range_, dual_to_range) Bases: :py:obj:`BoundaryOperator` A boundary operator that represents a zero operator. Parameters ---------- domain : bempp.api.space.Space Domain space of the operator. range_ : bempp.api.space.Space Range space of the operator. dual_to_range : bempp.api.space.Space Dual space to the range space. .. py:method:: _assemble() .. py:method:: __iadd__(other) Add. .. py:method:: __isub__(other) Subtract. .. py:class:: MultiplicationOperator(grid_function, domain, range_, dual_to_range, parameters=None, mode='component') Bases: :py:obj:`BoundaryOperator` Returns a weak multiplication operator with a grid function. Given a grid function g, this operator assembles a sparse matrix that implements weak multiplication with g in a given basis. .. py:method:: _assemble() Assemble the operator.