Skip to main content

DistributableMesh

Trait DistributableMesh 

Source
pub trait DistributableMesh {
    type ParallelMesh<'a, C: Communicator + 'a>: ParallelMesh<C = C>;

    // Required method
    fn distribute<'a, C: Communicator>(
        &self,
        comm: &'a C,
        partitioner: GraphPartitioner,
    ) -> Self::ParallelMesh<'a, C>;
}
Expand description

A mesh that can be be distributed across processes

Required Associated Types§

Source

type ParallelMesh<'a, C: Communicator + 'a>: ParallelMesh<C = C>

Parallel mesh type when distrubuted

Required Methods§

Source

fn distribute<'a, C: Communicator>( &self, comm: &'a C, partitioner: GraphPartitioner, ) -> Self::ParallelMesh<'a, C>

Distribute this mesh in parallel

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§

Source§

impl<T: Scalar + Equivalence, E: MappedFiniteElement<CellType = ReferenceCellType, T = T>> DistributableMesh for MixedMesh<T, E>

Available on crate feature mpi only.
Source§

type ParallelMesh<'a, C: Communicator + 'a> = ParallelMeshImpl<'a, C, MixedMesh<T, CiarletElement<T, IdentityMap, T>>>

Source§

impl<T: Scalar + Equivalence, E: MappedFiniteElement<CellType = ReferenceCellType, T = T>> DistributableMesh for SingleElementMesh<T, E>

Available on crate feature mpi only.
Source§

type ParallelMesh<'a, C: Communicator + 'a> = ParallelMeshImpl<'a, C, SingleElementMesh<T, CiarletElement<T, IdentityMap, T>>>