DataTransferKit - Multiphysics Solution Transfer Services
2.0
|
Parallel search. More...
#include <DTK_ParallelSearch.hpp>
Public Member Functions | |
ParallelSearch (const Teuchos::RCP< const Teuchos::Comm< int >> &comm, const int physical_dimension, const EntityIterator &domain_iterator, const Teuchos::RCP< EntityLocalMap > &domain_local_map, const Teuchos::ParameterList ¶meters) | |
Constructor. More... | |
void | getRangeEntitiesFromDomain (const EntityId domain_id, Teuchos::Array< EntityId > &range_ids) const |
Given a domain entity id on a domain process, get the ids of the range entities that mapped to it. More... | |
void | getDomainEntitiesFromRange (const EntityId range_id, Teuchos::Array< EntityId > &domain_ids) const |
Given a range entity id on a range process, get the ids of the domain entities that it mapped to. More... | |
int | rangeEntityOwnerRank (const EntityId range_id) const |
Get the owner rank of a given range entity on a domain process. More... | |
int | domainEntityOwnerRank (const EntityId domain_id) const |
Get the owner rank of a given domain entity on a rank process. More... | |
void | rangeParametricCoordinatesInDomain (const EntityId domain_id, const EntityId range_id, Teuchos::ArrayView< const double > ¶metric_coords) const |
Get the parametric coordinates of the range entities in the domain entities on a domain process. More... | |
Teuchos::ArrayView< const EntityId > | getMissedRangeEntityIds () const |
Return the ids of the range entities that were not during the last search (i.e. those that are guaranteed to not receive data from the transfer) on a range process. More... | |
Parallel search.
A parallel search finds which domain entities satisfying the domain predicate are correctly mapped to the range entities satisfying the range predicate. The result of the search is a graph mapping the domain to the range and the parametric coordinates of the range entity centroids in their respective domain entities.
The search has two simultaneous states: one in the parallel decomposition of the domain and one in the parallel decomposition of the range. The interface functions assume one decomposition or the other.
Definition at line 74 of file DTK_ParallelSearch.hpp.
DataTransferKit::ParallelSearch::ParallelSearch | ( | const Teuchos::RCP< const Teuchos::Comm< int >> & | comm, |
const int | physical_dimension, | ||
const EntityIterator & | domain_iterator, | ||
const Teuchos::RCP< EntityLocalMap > & | domain_local_map, | ||
const Teuchos::ParameterList & | parameters | ||
) |
Constructor.
Definition at line 50 of file DTK_ParallelSearch.cpp.
void DataTransferKit::ParallelSearch::getRangeEntitiesFromDomain | ( | const EntityId | domain_id, |
Teuchos::Array< EntityId > & | range_ids | ||
) | const |
Given a domain entity id on a domain process, get the ids of the range entities that mapped to it.
Definition at line 284 of file DTK_ParallelSearch.cpp.
void DataTransferKit::ParallelSearch::getDomainEntitiesFromRange | ( | const EntityId | range_id, |
Teuchos::Array< EntityId > & | domain_ids | ||
) | const |
Given a range entity id on a range process, get the ids of the domain entities that it mapped to.
Definition at line 301 of file DTK_ParallelSearch.cpp.
int DataTransferKit::ParallelSearch::rangeEntityOwnerRank | ( | const EntityId | range_id | ) | const |
Get the owner rank of a given range entity on a domain process.
Definition at line 317 of file DTK_ParallelSearch.cpp.
int DataTransferKit::ParallelSearch::domainEntityOwnerRank | ( | const EntityId | domain_id | ) | const |
Get the owner rank of a given domain entity on a rank process.
Definition at line 326 of file DTK_ParallelSearch.cpp.
void DataTransferKit::ParallelSearch::rangeParametricCoordinatesInDomain | ( | const EntityId | domain_id, |
const EntityId | range_id, | ||
Teuchos::ArrayView< const double > & | parametric_coords | ||
) | const |
Get the parametric coordinates of the range entities in the domain entities on a domain process.
Definition at line 335 of file DTK_ParallelSearch.cpp.
Teuchos::ArrayView< const EntityId > DataTransferKit::ParallelSearch::getMissedRangeEntityIds | ( | ) | const |
Return the ids of the range entities that were not during the last search (i.e. those that are guaranteed to not receive data from the transfer) on a range process.
Definition at line 352 of file DTK_ParallelSearch.cpp.