|
dune-fem 2.12-git
|
Loading...
Searching...
No Matches
owneroverlapcopy.hh
Go to the documentation of this file.
34 using OwnerOverlapCopyCommunication = Dune::OwnerOverlapCopyCommunication< std::size_t, typename DiscreteFunctionSpace::BlockMapperType::GlobalKeyType >;
48 BuildRemoteIndicesDataHandle ( int rank, const Mapper &mapper, const GlobalLookup &globalLookup )
106 typedef typename Dune::OwnerOverlapCopyCommunication< GlobalId, LocalId >::GlobalLookupIndexSet GlobalLookupType;
110 communication.reset( new Dune::OwnerOverlapCopyCommunication< GlobalId, LocalId >( solverCategory ) );
116 Dune::Fem::ParallelDofMapper< GridPartType, LocalMapperType, GlobalId > globalMapper( gridPart, localMapper, dfSpace.communicationInterface() );
119 std::vector< typename LocalIndexType::Attribute > attribute( localMapper.size(), Dune::OwnerOverlapCopyAttributeSet::owner );
126 communication->indexSet().add( globalMapper.mapping()[ i ], LocalIndexType( i, attribute[ i ] ) );
131 BuildRemoteIndicesDataHandle< LocalMapperType, GlobalLookupType > buildRemoteIndicesDataHandle( gridPart.comm().rank(), localMapper, communication->globalLookup() );
132 gridPart.communicate( buildRemoteIndicesDataHandle, Dune::All_All_Interface, Dune::ForwardCommunication );
135 communication->remoteIndices().setIndexSets( communication->indexSet(), communication->indexSet(), communication->communicator() );
140 std::sort( remote.second.begin(), remote.second.end(), [] ( const auto &a, const auto &b ) { return (a.localIndexPair().global() < b.localIndexPair().global()); } );
int size() const
size_type dim() const
std::ptrdiff_t index() const
const IndexPair * pair(const std::size_t &local) const
const Attribute attribute() const
ForwardCommunication
All_All_Interface
void buildCommunication(const DiscreteFunctionSpace &dfSpace, Dune::SolverCategory::Category solverCategory, std::shared_ptr< FemCommunication< DiscreteFunctionSpace > > &communication)
Definition fem.hh:143
Category
bool contains(const EntityType &e, IndexType &result) const
Definition fem.hh:156
Definition owneroverlapcopy.hh:44
GlobalLookup::LocalIndex::Attribute AttributeType
Definition owneroverlapcopy.hh:46
void gather(Buffer &buffer, const Entity &entity) const
Definition owneroverlapcopy.hh:56
BuildRemoteIndicesDataHandle(int rank, const Mapper &mapper, const GlobalLookup &globalLookup)
Definition owneroverlapcopy.hh:48
std::size_t size(const Entity &entity) const
Definition owneroverlapcopy.hh:83
bool contains(int dim, int codim) const
Definition owneroverlapcopy.hh:52
std::map< int, std::vector< Dune::RemoteIndex< GlobalIndexType, AttributeType > > > remotes
Definition owneroverlapcopy.hh:88
GlobalLookup::GlobalIndex GlobalIndexType
Definition owneroverlapcopy.hh:45
void scatter(Buffer &buffer, const Entity &entity, std::size_t n)
Definition owneroverlapcopy.hh:69
bool fixedSize(int dim, int codim) const
Definition owneroverlapcopy.hh:53
Definition parallel.hh:87
const std::vector< GlobalKeyType > & mapping() const
Definition parallel.hh:219
discrete function space
T empty(T... args)
T sort(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8