Identity Operator
The identity operator is implemented in two flavors BEAST.Identity() and BEAST.NCross().
Definition
The identity operator
\[\bm{\mathcal{I}} \bm b = \bm b\]
returns the function it is provided unchanged.
As bilinear form
When handed to the assemble function, the operator is interpreted as the bilinear form
\[a(\bm t, \bm b) = \int_\Gamma \bm t(\bm x) ⋅ \bm{\mathcal{I}} \bm b(\bm x) \,\mathrm{d}\bm x = \int_\Gamma \bm t(\bm x) ⋅ \bm b(\bm x) \,\mathrm{d}\bm x \,.\]
Hence, the resulting matrix $\bm A$ contains the entries
\[[\bm A]_{mn} = \int_\Gamma \bm t_m(\bm x) ⋅ \bm b_n(\bm x) \,\mathrm{d}\bm x \,.\]
API
BEAST.Identity — TypeIdentity <: LocalOperatorThe identity operator.
Variant with $\bm n \times$
As a variation, the identity operator is provided with a cross product with the normal vector $\bm n$ of the surface $\Gamma$.
The bilinear form
The assemble function, interprets the operator as the bilinear form
\[a(\bm t, \bm b) = \int_\Gamma \bm t(\bm x) ⋅ \bm{\mathcal{I}} (\bm n(\bm x) \times \bm b(\bm x)) \,\mathrm{d}\bm x = \int_\Gamma \bm t(\bm x) ⋅ (\bm n(\bm x) \times \bm b(\bm x)) \,\mathrm{d}\bm x \,.\]
Hence, the resulting matrix $\bm A$ contains the entries
\[[\bm A]_{mn} = \int_\Gamma \bm t_m(\bm x) ⋅ (\bm n(\bm x) \times \bm b_n(\bm x)) \,\mathrm{d}\bm x \,.\]
API
BEAST.NCross — TypeNCross <: LocalOperatorThe identity operator where the trial function is rotated.