Epetra Package Browser (Single Doxygen Collection)
Development
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
test
src
Epetra_matrix_data.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_MATRIX_DATA_H
45
#define EPETRA_MATRIX_DATA_H
46
47
#include "
Epetra_ConfigDefs.h
"
48
49
class
Epetra_CrsMatrix
;
50
51
namespace
epetra_test {
52
58
class
EPETRA_LIB_DLL_EXPORT
matrix_data
{
59
public
:
60
matrix_data
(
int
num_rows,
int
* rowlengths,
int
blocksize=1);
61
matrix_data
(
int
num_rows,
int
num_cols,
int
num_off_diagonals,
int
blocksize);
62
matrix_data
(
int
num_quad_elements,
int
num_dof_per_node,
63
bool
make_numerically_nonsymmetric=
false
);
64
virtual
~
matrix_data
();
65
66
int
numrows
() {
return
(numrows_); }
67
int
numcols
() {
return
(numcols_); }
68
int
blocksize
() {
return
(blocksize_); }
69
int
*
rows
() {
return
(rows_); }
70
int
*
rowlengths
() {
return
(rowlengths_); }
71
72
int
**
colindices
() {
return
(colindices_); }
73
double
**
coefs
() {
return
(coefs_); }
74
double
* coefs(
int
row,
int
col);
75
80
//Not used.
81
//void copy_local_data_to_matrix(Epetra_CrsMatrix& A);
82
86
bool
compare_local_data(
const
Epetra_CrsMatrix
&
A
);
87
88
private
:
89
int
numrows_
;
90
int
numcols_
;
91
int
*
rows_
;
92
int
*
rowlengths_
;
93
int
blocksize_
;
94
95
int
**
colindices_
;
96
double
**
coefs_
;
97
98
matrix_data
(
const
matrix_data
& data);
99
matrix_data
& operator=(
const
matrix_data
& data);
100
101
};
//class matrix_data
102
103
}
//namespace epetra_test
104
105
#endif
106
epetra_test::matrix_data::blocksize_
int blocksize_
Definition:
Epetra_matrix_data.h:93
epetra_test::matrix_data::coefs
double ** coefs()
Definition:
Epetra_matrix_data.h:73
A
epetra_test::matrix_data::rowlengths
int * rowlengths()
Definition:
Epetra_matrix_data.h:70
epetra_test::matrix_data::numrows_
int numrows_
Definition:
Epetra_matrix_data.h:89
epetra_test::matrix_data::blocksize
int blocksize()
Definition:
Epetra_matrix_data.h:68
epetra_test::matrix_data::numcols_
int numcols_
Definition:
Epetra_matrix_data.h:90
epetra_test::matrix_data::numcols
int numcols()
Definition:
Epetra_matrix_data.h:67
epetra_test::matrix_data::colindices
int ** colindices()
Definition:
Epetra_matrix_data.h:72
epetra_test::matrix_data::rows_
int * rows_
Definition:
Epetra_matrix_data.h:91
epetra_test::matrix_data::colindices_
int ** colindices_
Definition:
Epetra_matrix_data.h:95
epetra_test::matrix_data::coefs_
double ** coefs_
Definition:
Epetra_matrix_data.h:96
epetra_test::matrix_data::numrows
int numrows()
Definition:
Epetra_matrix_data.h:66
epetra_test::matrix_data
matrix_data is a very simple data source to be used for filling test matrices.
Definition:
Epetra_matrix_data.h:58
Epetra_CrsMatrix
Epetra_CrsMatrix: A class for constructing and using real-valued double-precision sparse compressed r...
Definition:
Epetra_CrsMatrix.h:173
epetra_test::matrix_data::rows
int * rows()
Definition:
Epetra_matrix_data.h:69
epetra_test::matrix_data::rowlengths_
int * rowlengths_
Definition:
Epetra_matrix_data.h:92
Epetra_ConfigDefs.h
Generated by
1.8.5