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
Required Associated Types§
Required Methods§
Provided Methods§
sourcefn 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_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
sourcefn 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
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.