Ifpack Package Browser (Single Doxygen Collection)
Development
Toggle main menu visibility
Loading...
Searching...
No Matches
src
Ifpack_Graph_Epetra_CrsGraph.cpp
Go to the documentation of this file.
1
/*@HEADER
2
// ***********************************************************************
3
//
4
// Ifpack: Object-Oriented Algebraic Preconditioner Package
5
// Copyright (2002) Sandia Corporation
6
//
7
// Under terms of Contract DE-AC04-94AL85000, there is a non-exclusive
8
// license for use of this work by or on behalf of the U.S. Government.
9
//
10
// Redistribution and use in source and binary forms, with or without
11
// modification, are permitted provided that the following conditions are
12
// met:
13
//
14
// 1. Redistributions of source code must retain the above copyright
15
// notice, this list of conditions and the following disclaimer.
16
//
17
// 2. Redistributions in binary form must reproduce the above copyright
18
// notice, this list of conditions and the following disclaimer in the
19
// documentation and/or other materials provided with the distribution.
20
//
21
// 3. Neither the name of the Corporation nor the names of the
22
// contributors may be used to endorse or promote products derived from
23
// this software without specific prior written permission.
24
//
25
// THIS SOFTWARE IS PROVIDED BY SANDIA CORPORATION "AS IS" AND ANY
26
// EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
27
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
28
// PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL SANDIA CORPORATION OR THE
29
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
30
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
31
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
32
// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
33
// LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
34
// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
35
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
//
37
// Questions? Contact Michael A. Heroux (maherou@sandia.gov)
38
//
39
// ***********************************************************************
40
//@HEADER
41
*/
42
43
#include "
Ifpack_ConfigDefs.h
"
44
#include "
Ifpack_Graph.h
"
45
#include "
Ifpack_Graph_Epetra_CrsGraph.h
"
46
#include "
Epetra_Comm.h
"
47
#include "
Epetra_CrsGraph.h
"
48
49
//==============================================================================
50
Ifpack_Graph_Epetra_CrsGraph::
51
Ifpack_Graph_Epetra_CrsGraph
(
const
Teuchos::RefCountPtr<const Epetra_CrsGraph>& CrsGraph) :
52
CrsGraph_
(CrsGraph)
53
{
54
NumMyRows_
=
CrsGraph_
->NumMyRows();
55
NumMyCols_
=
CrsGraph_
->NumMyCols();
56
NumGlobalRows_
=
CrsGraph_
->NumGlobalRows64();
57
NumGlobalCols_
=
CrsGraph_
->NumGlobalCols64();
58
MaxNumIndices_
=
CrsGraph_
->MaxNumIndices();
59
}
60
61
//==============================================================================
62
const
Epetra_Comm
&
Ifpack_Graph_Epetra_CrsGraph::Comm
()
const
63
{
64
return
(
CrsGraph_
->Comm());
65
}
66
67
//==============================================================================
68
bool
Ifpack_Graph_Epetra_CrsGraph::Filled
()
const
69
{
70
return
(
CrsGraph_
->Filled());
71
}
72
73
//==============================================================================
74
#ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
75
int
Ifpack_Graph_Epetra_CrsGraph::GRID
(
int
LRID_in)
const
76
{
77
return
(
CrsGraph_
->GRID(LRID_in));
78
}
79
80
//==============================================================================
81
int
Ifpack_Graph_Epetra_CrsGraph::GCID
(
int
LCID_in)
const
82
{
83
return
(
CrsGraph_
->GCID(LCID_in));
84
}
85
#endif
86
87
long
long
Ifpack_Graph_Epetra_CrsGraph::GRID64
(
int
LRID_in)
const
88
{
89
return
(
CrsGraph_
->GRID64(LRID_in));
90
}
91
92
//==============================================================================
93
long
long
Ifpack_Graph_Epetra_CrsGraph::GCID64
(
int
LCID_in)
const
94
{
95
return
(
CrsGraph_
->GCID64(LCID_in));
96
}
97
98
//==============================================================================
99
#ifndef EPETRA_NO_32BIT_GLOBAL_INDICES
100
int
Ifpack_Graph_Epetra_CrsGraph::LRID
(
int
GRID_in)
const
101
{
102
return
(
CrsGraph_
->LRID(GRID_in));
103
}
104
105
//==============================================================================
106
int
Ifpack_Graph_Epetra_CrsGraph::LCID
(
int
GCID_in)
const
107
{
108
return
(
CrsGraph_
->LCID(GCID_in));
109
}
110
#endif
111
112
//==============================================================================
113
#ifndef EPETRA_NO_64BIT_GLOBAL_INDICES
114
int
Ifpack_Graph_Epetra_CrsGraph::LRID
(
long
long
GRID_in)
const
115
{
116
return
(
CrsGraph_
->LRID(GRID_in));
117
}
118
119
//==============================================================================
120
int
Ifpack_Graph_Epetra_CrsGraph::LCID
(
long
long
GCID_in)
const
121
{
122
return
(
CrsGraph_
->LCID(GCID_in));
123
}
124
#endif
125
//==============================================================================
126
int
Ifpack_Graph_Epetra_CrsGraph::
127
ExtractMyRowCopy
(
int
MyRow,
int
LenOfIndices,
128
int
&NumIndices,
int
*Indices)
const
129
{
130
return
(
CrsGraph_
->ExtractMyRowCopy(MyRow, LenOfIndices,
131
NumIndices, Indices));
132
}
133
134
//==============================================================================
135
int
Ifpack_Graph_Epetra_CrsGraph::NumMyNonzeros
()
const
136
{
137
return
(
CrsGraph_
->NumMyEntries());
138
}
139
140
// ======================================================================
141
std::ostream&
Ifpack_Graph_Epetra_CrsGraph::Print
(std::ostream& os)
const
142
{
143
using
std::endl;
144
145
if
(
Comm
().MyPID())
146
return
(os);
147
148
os <<
"================================================================================"
<< endl;
149
os <<
"Ifpack_Graph_Epetra_CrsGraph"
<< endl;
150
os <<
"Number of local rows = "
<<
NumMyRows_
<< endl;
151
os <<
"Number of global rows = "
<<
NumGlobalRows_
<< endl;
152
os <<
"================================================================================"
<< endl;
153
154
return
(os);
155
156
}
Epetra_Comm.h
Epetra_CrsGraph.h
Ifpack_ConfigDefs.h
Ifpack_Graph.h
Ifpack_Graph_Epetra_CrsGraph.h
Epetra_Comm
Ifpack_Graph_Epetra_CrsGraph::Filled
bool Filled() const
Returns true is graph is filled.
Definition
Ifpack_Graph_Epetra_CrsGraph.cpp:68
Ifpack_Graph_Epetra_CrsGraph::GCID
int GCID(int) const
Returns the global column ID of input local column.
Definition
Ifpack_Graph_Epetra_CrsGraph.cpp:81
Ifpack_Graph_Epetra_CrsGraph::LRID
int LRID(int) const
Returns the local row ID of input global row.
Definition
Ifpack_Graph_Epetra_CrsGraph.cpp:100
Ifpack_Graph_Epetra_CrsGraph::Ifpack_Graph_Epetra_CrsGraph
Ifpack_Graph_Epetra_CrsGraph(const Teuchos::RefCountPtr< const Epetra_CrsGraph > &CrsGraph)
Constructor.
Definition
Ifpack_Graph_Epetra_CrsGraph.cpp:51
Ifpack_Graph_Epetra_CrsGraph::NumMyRows_
int NumMyRows_
Number of local rows.
Definition
Ifpack_Graph_Epetra_CrsGraph.h:167
Ifpack_Graph_Epetra_CrsGraph::NumMyNonzeros
int NumMyNonzeros() const
Returns the number of local nonzero entries.
Definition
Ifpack_Graph_Epetra_CrsGraph.cpp:135
Ifpack_Graph_Epetra_CrsGraph::NumMyCols_
int NumMyCols_
Number of local columns.
Definition
Ifpack_Graph_Epetra_CrsGraph.h:169
Ifpack_Graph_Epetra_CrsGraph::MaxNumIndices_
int MaxNumIndices_
Maximum number of indices per row.
Definition
Ifpack_Graph_Epetra_CrsGraph.h:175
Ifpack_Graph_Epetra_CrsGraph::LCID
int LCID(int) const
Returns the local column ID of input global column.
Definition
Ifpack_Graph_Epetra_CrsGraph.cpp:106
Ifpack_Graph_Epetra_CrsGraph::NumGlobalRows_
long long NumGlobalRows_
Number of global rows.
Definition
Ifpack_Graph_Epetra_CrsGraph.h:171
Ifpack_Graph_Epetra_CrsGraph::Comm
const Epetra_Comm & Comm() const
Returns the communicator object of the graph.
Definition
Ifpack_Graph_Epetra_CrsGraph.cpp:62
Ifpack_Graph_Epetra_CrsGraph::ExtractMyRowCopy
int ExtractMyRowCopy(int GlobalRow, int LenOfIndices, int &NumIndices, int *Indices) const
Extracts a copy of input local row.
Definition
Ifpack_Graph_Epetra_CrsGraph.cpp:127
Ifpack_Graph_Epetra_CrsGraph::GRID64
long long GRID64(int) const
Definition
Ifpack_Graph_Epetra_CrsGraph.cpp:87
Ifpack_Graph_Epetra_CrsGraph::Print
virtual std::ostream & Print(std::ostream &os) const
Prints basic information about the graph object.
Definition
Ifpack_Graph_Epetra_CrsGraph.cpp:141
Ifpack_Graph_Epetra_CrsGraph::NumGlobalCols_
long long NumGlobalCols_
Number of global columns.
Definition
Ifpack_Graph_Epetra_CrsGraph.h:173
Ifpack_Graph_Epetra_CrsGraph::GRID
int GRID(int) const
Returns the global row ID of input local row.
Definition
Ifpack_Graph_Epetra_CrsGraph.cpp:75
Ifpack_Graph_Epetra_CrsGraph::GCID64
long long GCID64(int) const
Returns the global column ID of input local column.
Definition
Ifpack_Graph_Epetra_CrsGraph.cpp:93
Ifpack_Graph_Epetra_CrsGraph::CrsGraph_
Teuchos::RefCountPtr< const Epetra_CrsGraph > CrsGraph_
Pointer to the wrapped Epetra_CrsGraph.
Definition
Ifpack_Graph_Epetra_CrsGraph.h:177
Generated by
1.17.0