DataTransferKit - Multiphysics Solution Transfer Services  2.0
Public Member Functions | List of all members
DataTransferKit::ParallelSearch Class Reference

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 &parameters)
 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 > &parametric_coords) const
 Get the parametric coordinates of the range entities in the domain entities on a domain process. More...
 
Teuchos::ArrayView< const EntityIdgetMissedRangeEntityIds () 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...
 

Detailed Description

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.

Constructor & Destructor Documentation

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.

Member Function Documentation

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.

Returns
A view of the ids.

Definition at line 352 of file DTK_ParallelSearch.cpp.


The documentation for this class was generated from the following files: