Mesh Oriented datABase
(version 5.5.1)
An array-based unstructured mesh library
ParallelData.hpp
Go to the documentation of this file.
1
#ifndef MOAB_PARALLEL_DATA_HPP
2
#define MOAB_PARALLEL_DATA_HPP
3
4
#include "
moab/Forward.hpp
"
5
#include "
moab/Range.hpp
"
6
7
namespace
moab
8
{
9
10
class
ParallelComm;
11
12
/**
13
* \brief Parallel data in MOAB
14
* \author Tim Tautges
15
*
16
* This class implements methods to retrieve information about
17
* the parallel mesh from MOAB. Most of this data can be retrieved
18
* directly from MOAB as sets and tags; this class provides convenience
19
* methods implemented on top of other MOAB functions.
20
*
21
*/
22
class
ParallelData
23
{
24
public
:
25
//! constructor; if non-null parallelcomm, that is used to
26
//! determine rank, otherwise rank is taken from impl
27
ParallelData
(
Interface
* impl,
ParallelComm
* pcomm = NULL );
28
29
//! return partition sets; if tag_name is input, gets sets with
30
//! that tag name, otherwise uses PARALLEL_PARTITION tag
31
ErrorCode
get_partition_sets
(
Range
& part_sets,
const
char
* tag_name = NULL );
32
33
//! get communication interface sets and the processors with which
34
//! this processor communicates; sets are sorted by processor
35
ErrorCode
get_interface_sets
( std::vector< EntityHandle >& iface_sets, std::vector< int >& iface_procs );
36
37
private
:
38
//! interface instance to which this instance corresponds
39
Interface
*
mbImpl
;
40
41
//! ParallelComm object to which this is bound
42
ParallelComm
*
parallelComm
;
43
};
44
45
inline
ParallelData::ParallelData
(
Interface
* impl,
ParallelComm
* pcomm ) : mbImpl( impl ), parallelComm( pcomm ) {}
46
47
}
// namespace moab
48
49
#endif
src
parallel
moab
ParallelData.hpp
Generated on Sun Dec 22 2024 02:06:30 for Mesh Oriented datABase by
1.9.1.