FEI
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
base
fei_ConnectivityBlock.hpp
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 _fei_ConnectivityBlock_hpp_
10
#define _fei_ConnectivityBlock_hpp_
11
12
#include <fei_macros.hpp>
13
14
#include <map>
15
#include <vector>
16
17
namespace
fei
{
18
class
Pattern
;
19
26
class
ConnectivityBlock
{
27
public
:
29
ConnectivityBlock
(
int
blockID,
30
fei::Pattern
* pattern,
31
int
numConnectivities);
33
ConnectivityBlock
(
int
blockID,
34
fei::Pattern
* rowpattern,
fei::Pattern
* colpattern,
35
int
numConnectivities);
37
ConnectivityBlock
(
int
numRowIDs,
38
const
int
* rowIDs,
39
const
int
* rowOffsets,
40
bool
offsets_are_lengths =
false
);
41
43
ConnectivityBlock
(
int
fieldID
,
44
int
numRowIDs,
45
const
int
* rowIDs,
46
const
int
* rowOffsets,
47
bool
offsets_are_lengths =
false
);
48
50
virtual
~ConnectivityBlock
();
51
53
int
getBlockID
()
const
{
return
(blockID_); }
54
57
const
fei::Pattern
*
getRowPattern
()
const
{
return
(pattern_); }
58
61
fei::Pattern
*
getRowPattern
() {
return
(pattern_); }
62
63
void
setRowPattern(
fei::Pattern
* pattern) { pattern_ = pattern; }
64
68
const
fei::Pattern
*
getColPattern
()
const
{
return
(colPattern_); }
69
73
fei::Pattern
*
getColPattern
() {
return
(colPattern_); }
74
75
void
setColPattern(
fei::Pattern
* pattern) { colPattern_ = pattern; }
76
79
const
std::map<int,int>&
getConnectivityIDs
()
const
{
return
( connIDsOffsetMap_ ); }
80
83
std::map<int,int>&
getConnectivityIDs
() {
return
( connIDsOffsetMap_ ); }
84
88
std::vector<int>&
getConnectivityOffsets
()
89
{
return
(connectivityOffsets_); }
90
92
std::vector<int>&
getRowConnectivities
()
93
{
return
(connectivities_); }
94
96
std::vector<int>&
getColConnectivities
()
97
{
return
(colConnectivities_); }
98
100
const
int
*
getRowConnectivity
(
int
ID)
const
;
102
const
int
*
getColConnectivity
(
int
ID)
const
;
104
int
*
getRowConnectivity
(
int
ID);
106
int
*
getColConnectivity
(
int
ID);
107
109
bool
isSymmetric
()
const
{
return
( isSymmetric_ ); }
110
112
void
setIsDiagonal
(
bool
flag) { isDiagonal_ = flag; }
114
bool
isDiagonal
()
const
{
return
( isDiagonal_ ); }
115
117
bool
haveFieldID
()
118
{
return
( haveFieldID_ ); }
119
121
int
fieldID
()
122
{
return
( fieldID_ ); }
123
124
private
:
125
int
blockID_;
126
fei::Pattern
* pattern_;
127
fei::Pattern
* colPattern_;
128
bool
isSymmetric_;
129
bool
isDiagonal_;
130
131
std::map<int,int> connIDsOffsetMap_;
132
133
std::vector<int> connectivityOffsets_;
134
135
int
numRecordsPerConnectivity_;
136
std::vector<int> connectivities_;
137
int
numRecordsPerColConnectivity_;
138
std::vector<int> colConnectivities_;
139
140
int
fieldID_;
141
bool
haveFieldID_;
142
143
};
//class ConnectivityBlock
144
}
//namespace fei
145
146
#endif
// _fei_ConnectivityBlock_hpp_
147
fei::ConnectivityBlock::getConnectivityIDs
std::map< int, int > & getConnectivityIDs()
Definition
fei_ConnectivityBlock.hpp:83
fei::ConnectivityBlock::haveFieldID
bool haveFieldID()
Definition
fei_ConnectivityBlock.hpp:117
fei::ConnectivityBlock::getColPattern
const fei::Pattern * getColPattern() const
Definition
fei_ConnectivityBlock.hpp:68
fei::ConnectivityBlock::getColPattern
fei::Pattern * getColPattern()
Definition
fei_ConnectivityBlock.hpp:73
fei::ConnectivityBlock::setIsDiagonal
void setIsDiagonal(bool flag)
Definition
fei_ConnectivityBlock.hpp:112
fei::ConnectivityBlock::getConnectivityOffsets
std::vector< int > & getConnectivityOffsets()
Definition
fei_ConnectivityBlock.hpp:88
fei::ConnectivityBlock::getRowPattern
fei::Pattern * getRowPattern()
Definition
fei_ConnectivityBlock.hpp:61
fei::ConnectivityBlock::getColConnectivity
const int * getColConnectivity(int ID) const
Definition
fei_ConnectivityBlock.cpp:203
fei::ConnectivityBlock::fieldID
int fieldID()
Definition
fei_ConnectivityBlock.hpp:121
fei::ConnectivityBlock::ConnectivityBlock
ConnectivityBlock(int blockID, fei::Pattern *pattern, int numConnectivities)
Definition
fei_ConnectivityBlock.cpp:22
fei::ConnectivityBlock::getColConnectivities
std::vector< int > & getColConnectivities()
Definition
fei_ConnectivityBlock.hpp:96
fei::ConnectivityBlock::getRowConnectivity
const int * getRowConnectivity(int ID) const
Definition
fei_ConnectivityBlock.cpp:175
fei::ConnectivityBlock::~ConnectivityBlock
virtual ~ConnectivityBlock()
Definition
fei_ConnectivityBlock.cpp:170
fei::ConnectivityBlock::getBlockID
int getBlockID() const
Definition
fei_ConnectivityBlock.hpp:53
fei::ConnectivityBlock::isDiagonal
bool isDiagonal() const
Definition
fei_ConnectivityBlock.hpp:114
fei::ConnectivityBlock::getRowConnectivities
std::vector< int > & getRowConnectivities()
Definition
fei_ConnectivityBlock.hpp:92
fei::ConnectivityBlock::isSymmetric
bool isSymmetric() const
Definition
fei_ConnectivityBlock.hpp:109
fei::ConnectivityBlock::getConnectivityIDs
const std::map< int, int > & getConnectivityIDs() const
Definition
fei_ConnectivityBlock.hpp:79
fei::ConnectivityBlock::getRowPattern
const fei::Pattern * getRowPattern() const
Definition
fei_ConnectivityBlock.hpp:57
fei::Pattern
Definition
fei_Pattern.hpp:29
fei
Definition
fei_ArrayUtils.hpp:16
Generated by
1.17.0