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