fei_MatrixTraits_FEData.hpp

00001 /*--------------------------------------------------------------------*/
00002 /*    Copyright 2005 Sandia Corporation.                              */
00003 /*    Under the terms of Contract DE-AC04-94AL85000, there is a       */
00004 /*    non-exclusive license for use of this work by or on behalf      */
00005 /*    of the U.S. Government.  Export of this program may require     */
00006 /*    a license from the United States Government.                    */
00007 /*--------------------------------------------------------------------*/
00008 
00009 #ifndef _fei_MatrixTraits_FEData_hpp_
00010 #define _fei_MatrixTraits_FEData_hpp_
00011 
00012 //This file defines matrix traits for FiniteElementData matrices
00013 //
00014 
00015 #include <fei_FiniteElementData.hpp>
00016 
00017 namespace fei {
00018 
00020   template<>
00021   struct MatrixTraits<FiniteElementData> {
00022 
00024     static const char* typeName()
00025       { return("FiniteElementData"); }
00026 
00029     static int setValues(FiniteElementData* fed, double scalar)
00030       {
00031   return( -1 );
00032       }
00033 
00037     static int getNumLocalRows(FiniteElementData* fed, int& numRows)
00038     {
00039       numRows = -1;
00040       return(-1);
00041     }
00042 
00045     static int getRowLength(FiniteElementData* fed, int row, int& length)
00046       {
00047   return( -1 );
00048       }
00049 
00062     static int copyOutRow(FiniteElementData* fed,
00063           int row, int len, double* coefs, int* indices)
00064       {
00065   return( -1 );
00066       }
00067 
00070     static int putValuesIn(FiniteElementData* fed,
00071          int numRows, const int* rows,
00072          int numCols, const int* cols,
00073          const double* const* values,
00074                           bool sum_into)
00075       {
00076   return( -1 );
00077       }
00078 
00083     static int globalAssemble(FiniteElementData* fed)
00084     {
00085       return( fed->loadComplete() );
00086     }
00087 
00089     static int matvec(FiniteElementData* fed,
00090           fei::Vector* x,
00091           fei::Vector* y)
00092     {
00093       return(-1);
00094     }
00095 
00096   };//struct MatrixTraits
00097 }//namespace fei
00098 
00099 
00100 #endif // _fei_MatrixTraits_FEData_hpp_

Generated on Wed May 12 21:30:41 2010 for FEI by  doxygen 1.4.7