Trait bempp::traits::BoundaryAssembly
source · pub trait BoundaryAssembly {
type T: RlstScalar;
// Required methods
fn assemble_singular_into_dense<Space: FunctionSpace<T = Self::T> + Sync>(
&self,
output: &mut Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>,
trial_space: &Space,
test_space: &Space,
);
fn assemble_singular_into_csr<Space: FunctionSpace<T = Self::T> + Sync>(
&self,
trial_space: &Space,
test_space: &Space,
) -> CsrMatrix<Self::T>;
fn assemble_singular_correction_into_dense<Space: FunctionSpace<T = Self::T> + Sync>(
&self,
output: &mut Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>,
trial_space: &Space,
test_space: &Space,
);
fn assemble_singular_correction_into_csr<Space: FunctionSpace<T = Self::T> + Sync>(
&self,
trial_space: &Space,
test_space: &Space,
) -> CsrMatrix<Self::T>;
fn assemble_into_dense<Space: FunctionSpace<T = Self::T> + Sync>(
&self,
output: &mut Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>,
trial_space: &Space,
test_space: &Space,
);
fn assemble_nonsingular_into_dense<Space: FunctionSpace<T = Self::T> + Sync>(
&self,
output: &mut Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>,
trial_space: &Space,
test_space: &Space,
trial_colouring: &HashMap<ReferenceCellType, Vec<Vec<usize>>>,
test_colouring: &HashMap<ReferenceCellType, Vec<Vec<usize>>>,
);
}
Expand description
Functions for boundary assembly
Required Associated Types§
Required Methods§
sourcefn assemble_singular_into_dense<Space: FunctionSpace<T = Self::T> + Sync>(
&self,
output: &mut Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>,
trial_space: &Space,
test_space: &Space,
)
fn assemble_singular_into_dense<Space: FunctionSpace<T = Self::T> + Sync>( &self, output: &mut Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>, trial_space: &Space, test_space: &Space, )
Assemble the singular contributions into a dense matrix
sourcefn assemble_singular_into_csr<Space: FunctionSpace<T = Self::T> + Sync>(
&self,
trial_space: &Space,
test_space: &Space,
) -> CsrMatrix<Self::T>
fn assemble_singular_into_csr<Space: FunctionSpace<T = Self::T> + Sync>( &self, trial_space: &Space, test_space: &Space, ) -> CsrMatrix<Self::T>
Assemble the singular contributions into a CSR sparse matrix
sourcefn assemble_singular_correction_into_dense<Space: FunctionSpace<T = Self::T> + Sync>(
&self,
output: &mut Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>,
trial_space: &Space,
test_space: &Space,
)
fn assemble_singular_correction_into_dense<Space: FunctionSpace<T = Self::T> + Sync>( &self, output: &mut Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>, trial_space: &Space, test_space: &Space, )
Assemble the singular correction into a dense matrix
The singular correction is the contribution is the terms for adjacent cells are assembled using an (incorrect) non-singular quadrature rule
sourcefn assemble_singular_correction_into_csr<Space: FunctionSpace<T = Self::T> + Sync>(
&self,
trial_space: &Space,
test_space: &Space,
) -> CsrMatrix<Self::T>
fn assemble_singular_correction_into_csr<Space: FunctionSpace<T = Self::T> + Sync>( &self, trial_space: &Space, test_space: &Space, ) -> CsrMatrix<Self::T>
Assemble the singular correction into a CSR matrix
The singular correction is the contribution is the terms for adjacent cells are assembled using an (incorrect) non-singular quadrature rule
sourcefn assemble_into_dense<Space: FunctionSpace<T = Self::T> + Sync>(
&self,
output: &mut Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>,
trial_space: &Space,
test_space: &Space,
)
fn assemble_into_dense<Space: FunctionSpace<T = Self::T> + Sync>( &self, output: &mut Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>, trial_space: &Space, test_space: &Space, )
Assemble into a dense matrix
sourcefn assemble_nonsingular_into_dense<Space: FunctionSpace<T = Self::T> + Sync>(
&self,
output: &mut Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>,
trial_space: &Space,
test_space: &Space,
trial_colouring: &HashMap<ReferenceCellType, Vec<Vec<usize>>>,
test_colouring: &HashMap<ReferenceCellType, Vec<Vec<usize>>>,
)
fn assemble_nonsingular_into_dense<Space: FunctionSpace<T = Self::T> + Sync>( &self, output: &mut Array<Self::T, BaseArray<Self::T, VectorContainer<Self::T>, DIM>, DIM>, trial_space: &Space, test_space: &Space, trial_colouring: &HashMap<ReferenceCellType, Vec<Vec<usize>>>, test_colouring: &HashMap<ReferenceCellType, Vec<Vec<usize>>>, )
Assemble the non-singular contributions into a dense matrix
Object Safety§
This trait is not object safe.