FEI Version of the Day
Loading...
Searching...
No Matches
fei_MatrixTraits_FEData.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_FEData_hpp_
10#define _fei_MatrixTraits_FEData_hpp_
11
12//This file defines matrix traits for FiniteElementData matrices
13//
14
15#include <fei_FiniteElementData.hpp>
16
17namespace fei {
18
20 template<>
22
24 static const char* typeName()
25 { return("FiniteElementData"); }
26
27 static double* getBeginPointer(FiniteElementData* fed)
28 {
29 return NULL;
30 }
31
32 static int getOffset(FiniteElementData* /*fed*/, int row, int col)
33 {
34 return -1;
35 }
36
39 static int setValues(FiniteElementData* fed, double scalar)
40 {
41 return( -1 );
42 }
43
47 static int getNumLocalRows(FiniteElementData* fed, int& numRows)
48 {
49 numRows = -1;
50 return(-1);
51 }
52
55 static int getRowLength(FiniteElementData* fed, int row, int& length)
56 {
57 return( -1 );
58 }
59
73 int row, int len, double* coefs, int* indices)
74 {
75 return( -1 );
76 }
77
81 int numRows, const int* rows,
82 int numCols, const int* cols,
83 const double* const* values,
84 bool sum_into)
85 {
86 return( -1 );
87 }
88
94 {
95 return( fed->loadComplete() );
96 }
97
99 static int matvec(FiniteElementData* fed,
100 fei::Vector* x,
101 fei::Vector* y)
102 {
103 return(-1);
104 }
105
106 };//struct MatrixTraits
107}//namespace fei
108
109
110#endif // _fei_MatrixTraits_FEData_hpp_
virtual int loadComplete()=0
static int matvec(FiniteElementData *fed, fei::Vector *x, fei::Vector *y)
static int getNumLocalRows(FiniteElementData *fed, int &numRows)
static int getRowLength(FiniteElementData *fed, int row, int &length)
static int setValues(FiniteElementData *fed, double scalar)
static int putValuesIn(FiniteElementData *fed, int numRows, const int *rows, int numCols, const int *cols, const double *const *values, bool sum_into)
static int globalAssemble(FiniteElementData *fed)
static int copyOutRow(FiniteElementData *fed, int row, int len, double *coefs, int *indices)