FEI Package Browser (Single Doxygen Collection)  Version of the Day
fei_VectorTraits_LinProbMgr.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_VectorTraits_LinProbMgr_hpp_
10 #define _fei_VectorTraits_LinProbMgr_hpp_
11 
12 
13 #include <fei_VectorTraits.hpp>
15 
16 namespace fei {
17 
21  template<>
23 
25  static const char* typeName()
26  { return("fei::LinearProblemManager"); }
27 
30  static int setValues(fei::LinearProblemManager* vec, int firstLocalOffset,
31  double scalar, bool isSolnVector=false)
32  {
33  vec->setVectorValues(scalar, isSolnVector);
34  return(0);
35  }
36 
41  int firstLocalOffset,
42  int numValues, const int* indices, const double* values,
43  bool sum_into,
44  bool isSolnVector=false,
45  int vectorIndex=0)
46  {
47  int err = vec->insertVectorValues(numValues, indices, values,
48  sum_into, isSolnVector, vectorIndex);
49  return(err);
50  }
51 
56  int firstLocalOffset,
57  int numValues, const int* indices, double* values,
58  bool isSolnVector=false,
59  int vectorIndex=0)
60  {
61  int err = vec->copyOutVectorValues(numValues, indices, values,
62  isSolnVector, vectorIndex);
63  return(err);
64  }
65 
68  { return( vec->globalAssemble() ); }
69 
73  double a,
75  double b)
76  { return(-1); }
77 
78  };//struct VectorTraits
79 }//namespace fei
80 
81 #endif // _fei_VectorTraits_LinProbMgr_hpp_
fei::VectorTraits< fei::LinearProblemManager >::setValues
static int setValues(fei::LinearProblemManager *vec, int firstLocalOffset, double scalar, bool isSolnVector=false)
Definition: fei_VectorTraits_LinProbMgr.hpp:30
fei_VectorTraits.hpp
fei::VectorTraits< fei::LinearProblemManager >::update
static int update(fei::LinearProblemManager *vec, double a, const fei::LinearProblemManager *x, double b)
Definition: fei_VectorTraits_LinProbMgr.hpp:72
fei_LinearProblemManager.hpp
fei::VectorTraits< fei::LinearProblemManager >::globalAssemble
static int globalAssemble(fei::LinearProblemManager *vec)
Definition: fei_VectorTraits_LinProbMgr.hpp:67
fei::LinearProblemManager::insertVectorValues
virtual int insertVectorValues(int numValues, const int *globalIndices, const double *values, bool sum_into, bool soln_vector, int vectorIndex=0)=0
fei::VectorTraits< fei::LinearProblemManager >::copyOut
static int copyOut(fei::LinearProblemManager *vec, int firstLocalOffset, int numValues, const int *indices, double *values, bool isSolnVector=false, int vectorIndex=0)
Definition: fei_VectorTraits_LinProbMgr.hpp:55
fei::LinearProblemManager::copyOutVectorValues
virtual int copyOutVectorValues(int numValues, const int *globalIndices, double *values, bool soln_vector, int vectorIndex=0)=0
fei::LinearProblemManager::setVectorValues
virtual void setVectorValues(double scalar, bool soln_vector)=0
fei::VectorTraits< fei::LinearProblemManager >::putValuesIn
static int putValuesIn(fei::LinearProblemManager *vec, int firstLocalOffset, int numValues, const int *indices, const double *values, bool sum_into, bool isSolnVector=false, int vectorIndex=0)
Definition: fei_VectorTraits_LinProbMgr.hpp:40
fei
Definition: fei_ArrayUtils.hpp:16
fei::VectorTraits
Definition: fei_VectorTraits.hpp:52
fei::LinearProblemManager
Definition: fei_LinearProblemManager.hpp:24
fei::VectorTraits< fei::LinearProblemManager >::typeName
static const char * typeName()
Definition: fei_VectorTraits_LinProbMgr.hpp:25
fei::LinearProblemManager::globalAssemble
virtual int globalAssemble()=0