FEI Package Browser (Single Doxygen Collection)  Version of the Day
fei_MatrixTraits_FEData.hpp
Go to the documentation of this file.
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 
16 
17 namespace 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 
72  static int copyOutRow(FiniteElementData* fed,
73  int row, int len, double* coefs, int* indices)
74  {
75  return( -1 );
76  }
77 
80  static int putValuesIn(FiniteElementData* fed,
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_
fei::Vector
Definition: fei_Vector.hpp:57
fei::MatrixTraits< FiniteElementData >::setValues
static int setValues(FiniteElementData *fed, double scalar)
Definition: fei_MatrixTraits_FEData.hpp:39
FiniteElementData
Definition: fei_FiniteElementData.hpp:33
fei::MatrixTraits< FiniteElementData >::globalAssemble
static int globalAssemble(FiniteElementData *fed)
Definition: fei_MatrixTraits_FEData.hpp:93
fei::MatrixTraits< FiniteElementData >::getNumLocalRows
static int getNumLocalRows(FiniteElementData *fed, int &numRows)
Definition: fei_MatrixTraits_FEData.hpp:47
fei_FiniteElementData.hpp
fei::MatrixTraits< FiniteElementData >::getRowLength
static int getRowLength(FiniteElementData *fed, int row, int &length)
Definition: fei_MatrixTraits_FEData.hpp:55
fei::MatrixTraits< FiniteElementData >::copyOutRow
static int copyOutRow(FiniteElementData *fed, int row, int len, double *coefs, int *indices)
Definition: fei_MatrixTraits_FEData.hpp:72
fei::MatrixTraits< FiniteElementData >::typeName
static const char * typeName()
Definition: fei_MatrixTraits_FEData.hpp:24
fei::MatrixTraits< FiniteElementData >::matvec
static int matvec(FiniteElementData *fed, fei::Vector *x, fei::Vector *y)
Definition: fei_MatrixTraits_FEData.hpp:99
fei
Definition: fei_ArrayUtils.hpp:16
fei::MatrixTraits< FiniteElementData >::getOffset
static int getOffset(FiniteElementData *, int row, int col)
Definition: fei_MatrixTraits_FEData.hpp:32
fei::MatrixTraits< FiniteElementData >::getBeginPointer
static double * getBeginPointer(FiniteElementData *fed)
Definition: fei_MatrixTraits_FEData.hpp:27
fei::MatrixTraits< FiniteElementData >::putValuesIn
static int putValuesIn(FiniteElementData *fed, int numRows, const int *rows, int numCols, const int *cols, const double *const *values, bool sum_into)
Definition: fei_MatrixTraits_FEData.hpp:80
fei::MatrixTraits
Definition: fei_MatrixTraits.hpp:45
FiniteElementData::loadComplete
virtual int loadComplete()=0