FEI Package Browser (Single Doxygen Collection)
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
base
snl_fei_RecordCollection.hpp
Go to the documentation of this file.
1
/*--------------------------------------------------------------------*/
2
/* Copyright 2005 Sandia Corporation. */
3
/* Under the terms of Contract DE-AC04-94AL85000, there is a */
4
/* non-exclusive license for use of this work by or on behalf */
5
/* of the U.S. Government. Export of this program may require */
6
/* a license from the United States Government. */
7
/*--------------------------------------------------------------------*/
8
9
#ifndef _snl_fei_RecordCollection_hpp_
10
#define _snl_fei_RecordCollection_hpp_
11
12
#include <
fei_iosfwd.hpp
>
13
#include <
fei_Pool_alloc.hpp
>
14
#include <
fei_FieldMask.hpp
>
15
#include <
fei_Record.hpp
>
16
17
#include <map>
18
#include <vector>
19
20
#undef fei_file
21
#define fei_file "snl_fei_RecordCollection.hpp"
22
23
#include <
fei_ErrMacros.hpp
>
24
25
namespace
fei
{
26
template
<
typename
T>
class
SharedIDs;
27
}
28
29
namespace
snl_fei
{
30
32
class
RecordCollection
{
33
public
:
35
RecordCollection
(
int
localProc);
36
38
RecordCollection
(
const
RecordCollection
& src);
39
41
virtual
~RecordCollection
();
42
43
void
setIDMap
(
const
int
* localIDs_begin,
const
int
* localIDs_end,
44
const
int
* globalIDs_begin,
const
int
* globalIDs_end);
45
47
void
initRecords
(
int
numIDs,
48
const
int
* IDs,
49
std::vector<fei::FieldMask*>& fieldMasks,
50
int
* recordLocalIDs=NULL);
51
53
void
initRecords
(
int
fieldID,
54
int
fieldSize,
55
int
numIDs,
56
const
int
* IDs,
57
std::vector<fei::FieldMask*>& fieldMasks,
58
int
* recordLocalIDs=NULL);
59
62
void
setOwners_lowestSharing
(
fei::SharedIDs<int>
& sharedIDs);
63
void
setOwners_local
();
64
66
size_t
getNumRecords
()
const
67
{
68
return
(
m_records
.size() );
69
}
70
72
std::map<int,int>&
getGlobalToLocalMap
()
73
{
return
m_global_to_local
; }
74
75
const
std::map<int,int>&
getGlobalToLocalMap
()
const
76
{
return
m_global_to_local
; }
77
79
std::vector<fei::Record<int> >&
getRecords
()
80
{
81
return
(
m_records
);
82
}
83
85
const
std::vector<fei::Record<int> >&
getRecords
()
const
86
{
87
return
(
m_records
);
88
}
89
91
fei::Record<int>
*
getRecordWithID
(
int
ID);
92
94
const
fei::Record<int>
*
getRecordWithID
(
int
ID)
const
;
95
96
fei::Record<int>
*
getRecordWithLocalID
(
int
lid)
97
{
return
&
m_records
[lid]; }
98
99
const
fei::Record<int>
*
getRecordWithLocalID
(
int
lid)
const
100
{
return
&
m_records
[lid]; }
101
102
int
getLocalID
(
int
global_id)
const
103
{
104
std::map<int,int>::const_iterator iter =
m_global_to_local
.find(global_id);
105
if
(iter ==
m_global_to_local
.end()) {
106
return
-1;
107
}
108
return
iter->second;
109
}
110
112
int
getGlobalIndex
(
int
ID,
113
int
fieldID,
114
int
fieldSize,
115
int
fieldOffset,
116
int
whichComponentOfField,
117
const
int
* eqnNumbers);
118
120
int
getGlobalIndexLocalID
(
int
localID,
121
int
fieldID,
122
int
fieldSize,
123
int
fieldOffset,
124
int
whichComponentOfField,
125
const
int
* eqnNumbers);
126
128
int
getGlobalBlkIndex
(
int
ID,
int
& globalBlkIndex);
129
131
void
setDebugOutput
(
FEI_OSTREAM
*
dbgOut
)
132
{
133
dbgOut_
=
dbgOut
;
134
debugOutput_
=
true
;
135
}
136
137
int
getMinID
()
const
{
return
m_minID
; }
138
int
getMaxID
()
const
{
return
m_maxID
; }
139
140
private
:
141
142
std::vector<fei::Record<int> >
m_records
;
143
std::map<int,int>
m_global_to_local
;
144
145
int
m_minID
,
m_maxID
;
146
147
int
localProc_
;
148
149
bool
debugOutput_
;
150
FEI_OSTREAM
*
dbgOut_
;
151
};
152
153
}
//namespace snl_fei
154
155
#undef fei_file
156
157
#endif
// _snl_fei_RecordCollection_hpp_
dbgOut
#define dbgOut()
Definition
FEData.hpp:17
fei::Record
Definition
fei_Record.hpp:20
fei::SharedIDs
Definition
fei_SharedIDs.hpp:22
snl_fei::RecordCollection::getGlobalToLocalMap
const std::map< int, int > & getGlobalToLocalMap() const
Definition
snl_fei_RecordCollection.hpp:75
snl_fei::RecordCollection::getLocalID
int getLocalID(int global_id) const
Definition
snl_fei_RecordCollection.hpp:102
snl_fei::RecordCollection::getGlobalIndex
int getGlobalIndex(int ID, int fieldID, int fieldSize, int fieldOffset, int whichComponentOfField, const int *eqnNumbers)
Definition
snl_fei_RecordCollection.cpp:289
snl_fei::RecordCollection::getRecordWithLocalID
fei::Record< int > * getRecordWithLocalID(int lid)
Definition
snl_fei_RecordCollection.hpp:96
snl_fei::RecordCollection::getRecordWithLocalID
const fei::Record< int > * getRecordWithLocalID(int lid) const
Definition
snl_fei_RecordCollection.hpp:99
snl_fei::RecordCollection::m_global_to_local
std::map< int, int > m_global_to_local
Definition
snl_fei_RecordCollection.hpp:143
snl_fei::RecordCollection::getRecords
std::vector< fei::Record< int > > & getRecords()
Definition
snl_fei_RecordCollection.hpp:79
snl_fei::RecordCollection::m_minID
int m_minID
Definition
snl_fei_RecordCollection.hpp:145
snl_fei::RecordCollection::getMinID
int getMinID() const
Definition
snl_fei_RecordCollection.hpp:137
snl_fei::RecordCollection::setOwners_local
void setOwners_local()
Definition
snl_fei_RecordCollection.cpp:211
snl_fei::RecordCollection::initRecords
void initRecords(int numIDs, const int *IDs, std::vector< fei::FieldMask * > &fieldMasks, int *recordLocalIDs=NULL)
Definition
snl_fei_RecordCollection.cpp:73
snl_fei::RecordCollection::setOwners_lowestSharing
void setOwners_lowestSharing(fei::SharedIDs< int > &sharedIDs)
Definition
snl_fei_RecordCollection.cpp:220
snl_fei::RecordCollection::getMaxID
int getMaxID() const
Definition
snl_fei_RecordCollection.hpp:138
snl_fei::RecordCollection::getGlobalIndexLocalID
int getGlobalIndexLocalID(int localID, int fieldID, int fieldSize, int fieldOffset, int whichComponentOfField, const int *eqnNumbers)
Definition
snl_fei_RecordCollection.cpp:328
snl_fei::RecordCollection::debugOutput_
bool debugOutput_
Definition
snl_fei_RecordCollection.hpp:149
snl_fei::RecordCollection::localProc_
int localProc_
Definition
snl_fei_RecordCollection.hpp:147
snl_fei::RecordCollection::getNumRecords
size_t getNumRecords() const
Definition
snl_fei_RecordCollection.hpp:66
snl_fei::RecordCollection::getGlobalToLocalMap
std::map< int, int > & getGlobalToLocalMap()
Definition
snl_fei_RecordCollection.hpp:72
snl_fei::RecordCollection::m_maxID
int m_maxID
Definition
snl_fei_RecordCollection.hpp:145
snl_fei::RecordCollection::dbgOut_
FEI_OSTREAM * dbgOut_
Definition
snl_fei_RecordCollection.hpp:150
snl_fei::RecordCollection::getRecords
const std::vector< fei::Record< int > > & getRecords() const
Definition
snl_fei_RecordCollection.hpp:85
snl_fei::RecordCollection::~RecordCollection
virtual ~RecordCollection()
Definition
snl_fei_RecordCollection.cpp:46
snl_fei::RecordCollection::RecordCollection
RecordCollection(int localProc)
Definition
snl_fei_RecordCollection.cpp:21
snl_fei::RecordCollection::setIDMap
void setIDMap(const int *localIDs_begin, const int *localIDs_end, const int *globalIDs_begin, const int *globalIDs_end)
Definition
snl_fei_RecordCollection.cpp:50
snl_fei::RecordCollection::getGlobalBlkIndex
int getGlobalBlkIndex(int ID, int &globalBlkIndex)
Definition
snl_fei_RecordCollection.cpp:276
snl_fei::RecordCollection::getRecordWithID
fei::Record< int > * getRecordWithID(int ID)
Definition
snl_fei_RecordCollection.cpp:254
snl_fei::RecordCollection::setDebugOutput
void setDebugOutput(FEI_OSTREAM *dbgOut)
Definition
snl_fei_RecordCollection.hpp:131
snl_fei::RecordCollection::m_records
std::vector< fei::Record< int > > m_records
Definition
snl_fei_RecordCollection.hpp:142
fei_ErrMacros.hpp
fei_FieldMask.hpp
fei_Pool_alloc.hpp
fei_Record.hpp
fei_iosfwd.hpp
FEI_OSTREAM
#define FEI_OSTREAM
Definition
fei_iosfwd.hpp:24
fei
Definition
fei_ArrayUtils.hpp:16
snl_fei
Definition
fei_MatrixGraph_Impl2.cpp:46
Generated by
1.17.0