Skip to main content

ParallelBuilder

Trait ParallelBuilder 

Source
pub trait ParallelBuilder: Builder {
    type ParallelMesh<'a, C: Communicator + 'a>: ParallelMesh<C = C>
       where Self: 'a;

    // Required methods
    fn create_parallel_mesh_root<'a, C: Communicator>(
        &self,
        comm: &'a C,
        partitioner: GraphPartitioner,
    ) -> Self::ParallelMesh<'a, C>;
    fn create_parallel_mesh<'a, C: Communicator>(
        &self,
        comm: &'a C,
        root_rank: i32,
    ) -> Self::ParallelMesh<'a, C>;
}
Expand description

MPI parallelized mesh builder

Required Associated Types§

Source

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

Parallel mesh type

Required Methods§

Source

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

Create a parallel mesh (call from root)

Source

fn create_parallel_mesh<'a, C: Communicator>( &self, comm: &'a C, root_rank: i32, ) -> Self::ParallelMesh<'a, C>

Create a parallel mesh (call from other processes)

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl<B: Builder + GeometryBuilder + TopologyBuilder + MeshBuilder> ParallelBuilder for B
where Vec<B::T>: Buffer, B::T: Equivalence, Vec<B::EntityDescriptor>: Buffer, B::EntityDescriptor: Equivalence, B::Mesh: Sync,

Source§

type ParallelMesh<'a, C: Communicator + 'a> = ParallelMeshImpl<'a, C, <B as Builder>::Mesh> where Self: 'a