FEI
Version of the Day
Toggle main menu visibility
Loading...
Searching...
No Matches
base
fei_MatrixTraits_LinProbMgr.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_MatrixTraits_LinProbMgr_hpp_
10
#define _fei_MatrixTraits_LinProbMgr_hpp_
11
12
//This file defines matrix traits for LinearProblemManager matrix
13
//representations.
14
//
15
16
#include <fei_LinearProblemManager.hpp>
17
18
namespace
fei
{
19
21
template
<>
22
struct
MatrixTraits
<
fei
::
LinearProblemManager
> {
23
25
static
const
char
*
typeName
()
26
{
return
(
"fei::LinearProblemManager"
); }
27
28
static
double
* getBeginPointer(
fei::LinearProblemManager
*
/*mat*/
)
29
{
30
return
NULL;
31
}
32
33
static
int
getOffset(
fei::LinearProblemManager
*
/*mat*/
,
int
/*row*/
,
int
/*col*/
)
34
{
35
return
-1;
36
}
37
40
static
int
setValues
(
fei::LinearProblemManager
* mat,
double
scalar)
41
{
42
mat->
setMatrixValues
(scalar);
43
return
(0);
44
}
45
49
static
int
getNumLocalRows
(
fei::LinearProblemManager
* mat,
int
& numRows)
50
{
51
numRows = mat->
getLocalNumRows
();
52
return
(0);
53
}
54
57
static
int
getRowLength
(
fei::LinearProblemManager
* mat,
int
row,
int
& length)
58
{
59
length = mat->
getRowLength
(row);
60
if
(length < 0)
return
(length);
61
return
(0);
62
}
63
76
static
int
copyOutRow
(
fei::LinearProblemManager
* mat,
77
int
row,
int
len,
double
* coefs,
int
* indices)
78
{
79
return
( mat->
copyOutMatrixRow
(row, len, coefs, indices) );
80
}
81
84
static
int
putValuesIn
(
fei::LinearProblemManager
* mat,
85
int
numRows,
const
int
* rows,
86
int
numCols,
const
int
* cols,
87
const
double
*
const
* values,
88
bool
sum_into)
89
{
90
return
( mat->
insertMatrixValues
(numRows, rows,
91
numCols, cols,
92
values, sum_into) );
93
}
94
98
static
int
globalAssemble
(
fei::LinearProblemManager
* mat)
99
{
100
return
( mat->
globalAssemble
() );
101
}
102
104
static
int
matvec
(
fei::LinearProblemManager
* mat,
105
fei::Vector
* x,
106
fei::Vector
* y)
107
{
108
return
( -1 );
109
}
110
};
//struct MatrixTraits
111
}
//namespace fei
112
113
#endif
// _fei_MatrixTraits_LinProbMgr_hpp_
114
fei::LinearProblemManager
Definition
fei_LinearProblemManager.hpp:24
fei::LinearProblemManager::copyOutMatrixRow
virtual int copyOutMatrixRow(int row, int len, double *coefs, int *indices)=0
fei::LinearProblemManager::setMatrixValues
virtual void setMatrixValues(double scalar)=0
fei::LinearProblemManager::insertMatrixValues
virtual int insertMatrixValues(int numRows, const int *rows, int numCols, const int *cols, const double *const *values, bool sum_into)=0
fei::LinearProblemManager::globalAssemble
virtual int globalAssemble()=0
fei::LinearProblemManager::getLocalNumRows
virtual int getLocalNumRows()=0
fei::LinearProblemManager::getRowLength
virtual int getRowLength(int row)=0
fei::Vector
Definition
fei_Vector.hpp:57
fei
Definition
fei_ArrayUtils.hpp:16
fei::MatrixTraits< fei::LinearProblemManager >::matvec
static int matvec(fei::LinearProblemManager *mat, fei::Vector *x, fei::Vector *y)
Definition
fei_MatrixTraits_LinProbMgr.hpp:104
fei::MatrixTraits< fei::LinearProblemManager >::globalAssemble
static int globalAssemble(fei::LinearProblemManager *mat)
Definition
fei_MatrixTraits_LinProbMgr.hpp:98
fei::MatrixTraits< fei::LinearProblemManager >::getRowLength
static int getRowLength(fei::LinearProblemManager *mat, int row, int &length)
Definition
fei_MatrixTraits_LinProbMgr.hpp:57
fei::MatrixTraits< fei::LinearProblemManager >::setValues
static int setValues(fei::LinearProblemManager *mat, double scalar)
Definition
fei_MatrixTraits_LinProbMgr.hpp:40
fei::MatrixTraits< fei::LinearProblemManager >::getNumLocalRows
static int getNumLocalRows(fei::LinearProblemManager *mat, int &numRows)
Definition
fei_MatrixTraits_LinProbMgr.hpp:49
fei::MatrixTraits< fei::LinearProblemManager >::copyOutRow
static int copyOutRow(fei::LinearProblemManager *mat, int row, int len, double *coefs, int *indices)
Definition
fei_MatrixTraits_LinProbMgr.hpp:76
fei::MatrixTraits< fei::LinearProblemManager >::typeName
static const char * typeName()
Definition
fei_MatrixTraits_LinProbMgr.hpp:25
fei::MatrixTraits< fei::LinearProblemManager >::putValuesIn
static int putValuesIn(fei::LinearProblemManager *mat, int numRows, const int *rows, int numCols, const int *cols, const double *const *values, bool sum_into)
Definition
fei_MatrixTraits_LinProbMgr.hpp:84
fei::MatrixTraits
Definition
fei_MatrixTraits.hpp:45
Generated by
1.17.0