Epetra Package Browser (Single Doxygen Collection)
Development
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Epetra_BlockMapData.h
Go to the documentation of this file.
1
/*
2
//@HEADER
3
// ************************************************************************
4
//
5
// Epetra: Linear Algebra Services Package
6
// Copyright 2011 Sandia Corporation
7
//
8
// Under the terms of Contract DE-AC04-94AL85000 with Sandia Corporation,
9
// the U.S. Government retains certain rights in this software.
10
//
11
// Redistribution and use in source and binary forms, with or without
12
// modification, are permitted provided that the following conditions are
13
// met:
14
//
15
// 1. Redistributions of source code must retain the above copyright
16
// notice, this list of conditions and the following disclaimer.
17
//
18
// 2. Redistributions in binary form must reproduce the above copyright
19
// notice, this list of conditions and the following disclaimer in the
20
// documentation and/or other materials provided with the distribution.
21
//
22
// 3. Neither the name of the Corporation nor the names of the
23
// contributors may be used to endorse or promote products derived from
24
// this software without specific prior written permission.
25
//
26
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
27
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
28
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
30
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
31
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
32
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
33
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
34
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
35
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
36
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37
//
38
// Questions? Contact Michael A. Heroux (maherou@sandia.gov)
39
//
40
// ************************************************************************
41
//@HEADER
42
*/
43
44
#ifndef EPETRA_BLOCKMAPDATA_H
45
#define EPETRA_BLOCKMAPDATA_H
46
47
#include "
Epetra_ConfigDefs.h
"
48
#include "
Epetra_Data.h
"
49
#include "
Epetra_IntSerialDenseVector.h
"
50
51
#ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
52
#include "
Epetra_LongLongSerialDenseVector.h
"
53
#endif
54
55
class
Epetra_Comm
;
56
class
Epetra_Directory
;
57
template
<
typename
value_type>
class
Epetra_HashTable
;
58
60
64
65
class
Epetra_BlockMapData
:
public
Epetra_Data
{
66
friend
class
Epetra_BlockMap
;
67
friend
class
Epetra_Map
;
68
private
:
69
71
72
74
Epetra_BlockMapData
(
long
long
NumGlobalElements,
int
ElementSize,
long
long
IndexBase,
const
Epetra_Comm
& Comm,
bool
IsLongLong);
75
77
~Epetra_BlockMapData
();
78
80
81
const
Epetra_Comm
*
Comm_
;
82
83
mutable
Epetra_Directory
*
Directory_
;
84
85
Epetra_IntSerialDenseVector
LID_
;
86
#ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
87
Epetra_IntSerialDenseVector
MyGlobalElements_int_
;
88
#endif
89
#ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
90
Epetra_LongLongSerialDenseVector
MyGlobalElements_LL_
;
91
#endif
92
Epetra_IntSerialDenseVector
FirstPointInElementList_
;
93
Epetra_IntSerialDenseVector
ElementSizeList_
;
94
Epetra_IntSerialDenseVector
PointToElementList_
;
95
96
long
long
NumGlobalElements_
;
97
int
NumMyElements_
;
98
long
long
IndexBase_
;
99
int
ElementSize_
;
100
int
MinMyElementSize_
;
101
int
MaxMyElementSize_
;
102
int
MinElementSize_
;
103
int
MaxElementSize_
;
104
long
long
MinAllGID_
;
105
long
long
MaxAllGID_
;
106
long
long
MinMyGID_
;
107
long
long
MaxMyGID_
;
108
int
MinLID_
;
109
int
MaxLID_
;
110
long
long
NumGlobalPoints_
;
111
int
NumMyPoints_
;
112
113
bool
ConstantElementSize_
;
114
bool
LinearMap_
;
115
bool
DistributedGlobal_
;
116
mutable
bool
OneToOneIsDetermined_
;
117
mutable
bool
OneToOne_
;
118
bool
GlobalIndicesInt_
;
119
bool
GlobalIndicesLongLong_
;
120
121
long
long
LastContiguousGID_
;
122
int
LastContiguousGIDLoc_
;
123
Epetra_HashTable<int>
*
LIDHash_
;
124
125
// these are intentionally declared but not defined. See Epetra Developer's Guide for details.
126
Epetra_BlockMapData
(
const
Epetra_BlockMapData
& BlockMapData);
127
Epetra_BlockMapData
&
operator=
(
const
Epetra_BlockMapData
& BlockMapData);
128
129
};
130
#endif
/* EPETRA_BLOCKMAPDATA_H */
Epetra_ConfigDefs.h
Epetra_Data.h
Epetra_IntSerialDenseVector.h
Epetra_LongLongSerialDenseVector.h
Epetra_BlockMapData::IndexBase_
long long IndexBase_
Definition
Epetra_BlockMapData.h:98
Epetra_BlockMapData::OneToOneIsDetermined_
bool OneToOneIsDetermined_
Definition
Epetra_BlockMapData.h:116
Epetra_BlockMapData::MaxMyElementSize_
int MaxMyElementSize_
Definition
Epetra_BlockMapData.h:101
Epetra_BlockMapData::MinMyElementSize_
int MinMyElementSize_
Definition
Epetra_BlockMapData.h:100
Epetra_BlockMapData::LastContiguousGID_
long long LastContiguousGID_
Definition
Epetra_BlockMapData.h:121
Epetra_BlockMapData::LinearMap_
bool LinearMap_
Definition
Epetra_BlockMapData.h:114
Epetra_BlockMapData::MaxMyGID_
long long MaxMyGID_
Definition
Epetra_BlockMapData.h:107
Epetra_BlockMapData::MinLID_
int MinLID_
Definition
Epetra_BlockMapData.h:108
Epetra_BlockMapData::MyGlobalElements_int_
Epetra_IntSerialDenseVector MyGlobalElements_int_
Definition
Epetra_BlockMapData.h:87
Epetra_BlockMapData::NumMyElements_
int NumMyElements_
Definition
Epetra_BlockMapData.h:97
Epetra_BlockMapData::NumGlobalPoints_
long long NumGlobalPoints_
Definition
Epetra_BlockMapData.h:110
Epetra_BlockMapData::LIDHash_
Epetra_HashTable< int > * LIDHash_
Definition
Epetra_BlockMapData.h:123
Epetra_BlockMapData::MinAllGID_
long long MinAllGID_
Definition
Epetra_BlockMapData.h:104
Epetra_BlockMapData::NumMyPoints_
int NumMyPoints_
Definition
Epetra_BlockMapData.h:111
Epetra_BlockMapData::LID_
Epetra_IntSerialDenseVector LID_
Definition
Epetra_BlockMapData.h:85
Epetra_BlockMapData::ElementSizeList_
Epetra_IntSerialDenseVector ElementSizeList_
Definition
Epetra_BlockMapData.h:93
Epetra_BlockMapData::ConstantElementSize_
bool ConstantElementSize_
Definition
Epetra_BlockMapData.h:113
Epetra_BlockMapData::MaxLID_
int MaxLID_
Definition
Epetra_BlockMapData.h:109
Epetra_BlockMapData::GlobalIndicesInt_
bool GlobalIndicesInt_
Definition
Epetra_BlockMapData.h:118
Epetra_BlockMapData::MaxElementSize_
int MaxElementSize_
Definition
Epetra_BlockMapData.h:103
Epetra_BlockMapData::MinElementSize_
int MinElementSize_
Definition
Epetra_BlockMapData.h:102
Epetra_BlockMapData::OneToOne_
bool OneToOne_
Definition
Epetra_BlockMapData.h:117
Epetra_BlockMapData::ElementSize_
int ElementSize_
Definition
Epetra_BlockMapData.h:99
Epetra_BlockMapData::Directory_
Epetra_Directory * Directory_
Definition
Epetra_BlockMapData.h:83
Epetra_BlockMapData::MinMyGID_
long long MinMyGID_
Definition
Epetra_BlockMapData.h:106
Epetra_BlockMapData::MaxAllGID_
long long MaxAllGID_
Definition
Epetra_BlockMapData.h:105
Epetra_BlockMapData::FirstPointInElementList_
Epetra_IntSerialDenseVector FirstPointInElementList_
Definition
Epetra_BlockMapData.h:92
Epetra_BlockMapData::NumGlobalElements_
long long NumGlobalElements_
Definition
Epetra_BlockMapData.h:96
Epetra_BlockMapData::operator=
Epetra_BlockMapData & operator=(const Epetra_BlockMapData &BlockMapData)
Epetra_BlockMapData::Epetra_BlockMapData
Epetra_BlockMapData(long long NumGlobalElements, int ElementSize, long long IndexBase, const Epetra_Comm &Comm, bool IsLongLong)
Epetra_BlockMapData Default Constructor.
Definition
Epetra_BlockMapData.cpp:53
Epetra_BlockMapData::~Epetra_BlockMapData
~Epetra_BlockMapData()
Epetra_BlockMapData Destructor.
Definition
Epetra_BlockMapData.cpp:97
Epetra_BlockMapData::Epetra_BlockMapData
Epetra_BlockMapData(const Epetra_BlockMapData &BlockMapData)
Epetra_BlockMapData::Comm_
const Epetra_Comm * Comm_
Definition
Epetra_BlockMapData.h:81
Epetra_BlockMapData::MyGlobalElements_LL_
Epetra_LongLongSerialDenseVector MyGlobalElements_LL_
Definition
Epetra_BlockMapData.h:90
Epetra_BlockMapData::PointToElementList_
Epetra_IntSerialDenseVector PointToElementList_
Definition
Epetra_BlockMapData.h:94
Epetra_BlockMapData::Epetra_Map
friend class Epetra_Map
Definition
Epetra_BlockMapData.h:67
Epetra_BlockMapData::LastContiguousGIDLoc_
int LastContiguousGIDLoc_
Definition
Epetra_BlockMapData.h:122
Epetra_BlockMapData::Epetra_BlockMap
friend class Epetra_BlockMap
Definition
Epetra_BlockMapData.h:66
Epetra_BlockMapData::GlobalIndicesLongLong_
bool GlobalIndicesLongLong_
Definition
Epetra_BlockMapData.h:119
Epetra_BlockMapData::DistributedGlobal_
bool DistributedGlobal_
Definition
Epetra_BlockMapData.h:115
Epetra_Comm
Epetra_Comm: The Epetra Communication Abstract Base Class.
Definition
Epetra_Comm.h:73
Epetra_Data::Epetra_Data
Epetra_Data()
Epetra_Data Serial Constructor.
Definition
Epetra_Data.cpp:47
Epetra_Directory
Epetra_Directory: This class is a pure virtual class whose interface allows Epetra_Map and Epetr_Bloc...
Definition
Epetra_Directory.h:59
Epetra_HashTable
Definition
Epetra_HashTable.h:51
Epetra_IntSerialDenseVector
Epetra_IntSerialDenseVector: A class for constructing and using dense vectors.
Definition
Epetra_IntSerialDenseVector.h:87
Epetra_LongLongSerialDenseVector
Epetra_LongLongSerialDenseVector: A class for constructing and using dense vectors.
Definition
Epetra_LongLongSerialDenseVector.h:90
Generated by
1.17.0