Trait bempp::traits::BoundaryIntegrand

source ·
pub unsafe trait BoundaryIntegrand {
    type T: RlstScalar;

    // Required method
    fn evaluate(
        &self,
        k: &impl Access1D<T = Self::T>,
        test_table: &impl Access2D<T = Self::T>,
        trial_table: &impl Access2D<T = Self::T>,
        test_geometry: &impl GeometryAccess<T = Self::T>,
        trial_geometry: &impl GeometryAccess<T = Self::T>,
    ) -> Self::T;

    // Provided methods
    fn evaluate_nonsingular(
        &self,
        test_table: &Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>,
        trial_table: &Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>,
        test_point_index: usize,
        trial_point_index: usize,
        test_basis_index: usize,
        trial_basis_index: usize,
        k: &Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>,
        test_geometry: &impl CellGeometry<T = <Self::T as RlstScalar>::Real>,
        trial_geometry: &impl CellGeometry<T = <Self::T as RlstScalar>::Real>,
    ) -> Self::T { ... }
    fn evaluate_singular(
        &self,
        test_table: &Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>,
        trial_table: &Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>,
        point_index: usize,
        test_basis_index: usize,
        trial_basis_index: usize,
        k: &Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>,
        test_geometry: &impl CellGeometry<T = <Self::T as RlstScalar>::Real>,
        trial_geometry: &impl CellGeometry<T = <Self::T as RlstScalar>::Real>,
    ) -> Self::T { ... }
}
Expand description

Integrand

§Safety

This trait’s methods use unsafe access

Required Associated Types§

source

type T: RlstScalar

Scalar type

Required Methods§

source

fn evaluate( &self, k: &impl Access1D<T = Self::T>, test_table: &impl Access2D<T = Self::T>, trial_table: &impl Access2D<T = Self::T>, test_geometry: &impl GeometryAccess<T = Self::T>, trial_geometry: &impl GeometryAccess<T = Self::T>, ) -> Self::T

Evaluate integrand

Provided Methods§

source

fn evaluate_nonsingular( &self, test_table: &Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>, trial_table: &Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>, test_point_index: usize, trial_point_index: usize, test_basis_index: usize, trial_basis_index: usize, k: &Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>, test_geometry: &impl CellGeometry<T = <Self::T as RlstScalar>::Real>, trial_geometry: &impl CellGeometry<T = <Self::T as RlstScalar>::Real>, ) -> Self::T

Evaluate integrand for a singular quadrature rule

source

fn evaluate_singular( &self, test_table: &Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>, trial_table: &Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>, point_index: usize, test_basis_index: usize, trial_basis_index: usize, k: &Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>, test_geometry: &impl CellGeometry<T = <Self::T as RlstScalar>::Real>, trial_geometry: &impl CellGeometry<T = <Self::T as RlstScalar>::Real>, ) -> Self::T

Evaluate integrand for a non-singular quadrature rule

Object Safety§

This trait is not object safe.

Implementors§