Trait bempp::traits::ParallelFunctionSpace

source ·
pub trait ParallelFunctionSpace<C: Communicator>: FunctionSpace {
    type ParallelGrid: ParallelGrid<C> + Grid<T = <Self::T as RlstScalar>::Real, EntityDescriptor = ReferenceCellType>;
    type LocalSpace<'a>: FunctionSpace<T = Self::T> + Sync
       where Self: 'a;

    // Required methods
    fn comm(&self) -> &C;
    fn grid(&self) -> &Self::ParallelGrid;
    fn local_space(&self) -> &Self::LocalSpace<'_>;
}
Expand description

A function space in parallel

Required Associated Types§

source

type ParallelGrid: ParallelGrid<C> + Grid<T = <Self::T as RlstScalar>::Real, EntityDescriptor = ReferenceCellType>

Parallel grid type

source

type LocalSpace<'a>: FunctionSpace<T = Self::T> + Sync where Self: 'a

The type of the serial space on each process

Required Methods§

source

fn comm(&self) -> &C

MPI communicator

source

fn grid(&self) -> &Self::ParallelGrid

Get the grid

source

fn local_space(&self) -> &Self::LocalSpace<'_>

Get the local space on the process

Object Safety§

This trait is not object safe.

Implementors§

source§

impl<'g, C: Communicator, T: RlstScalar + MatrixInverse, GridImpl: ParallelGrid<C> + Grid<T = T::Real, EntityDescriptor = ReferenceCellType>> ParallelFunctionSpace<C> for ParallelFunctionSpace<'g, C, T, GridImpl>

source§

type ParallelGrid = GridImpl

source§

type LocalSpace<'a> = LocalFunctionSpace<'a, T, <GridImpl as ParallelGrid<C>>::LocalGrid<'g>> where Self: 'a