Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

feVec.h

Go to the documentation of this file.
00001 #ifndef __FE_VEC_H_
00002 #define __FE_VEC_H_
00003 
00004 #include "petscda.h"
00005 #include "oda.h"
00006 
00007 namespace ot {
00008   namespace fem {
00009 
00010     class feVec {
00011       public:
00013         enum daType {
00014           PETSC, OCT
00015         }; 
00016 
00018         feVec() { };
00019         feVec(daType da) {
00020 #ifdef __DEBUG__
00021           assert ( ( da == PETSC ) || ( da == OCT ) );
00022 #endif
00023           m_daType = da;
00024 
00025 
00026         }
00027         ~feVec() {
00028 
00029         }
00030 
00031         void setDA (_p_DA* da) { m_DA = da; }
00032         void setDA (ot::DA* da) { m_octDA = da; }
00033 
00034         _p_DA* getDA() { return m_DA; }
00035         ot::DA* getOctDA() { return m_octDA; }
00036 
00037         //  virtual bool addVec(Vec _in, double scale=1.0) = 0;
00038         virtual bool addVec(Vec _in, double scale=1.0, int indx = -1) = 0;
00039         virtual bool computeVec(Vec _in, Vec _out,double scale=1.0) = 0;
00040 
00041         void setProblemDimensions(double x, double y, double z) {
00042           m_dLx = x;
00043           m_dLy = y;
00044           m_dLz = z;
00045         }
00046       protected:
00047 
00048         daType          m_daType;
00049 
00050         _p_DA*              m_DA;
00051         ot::DA*         m_octDA;
00053         double m_dLx;
00054         double m_dLy;
00055         double m_dLz;
00056         int    m_iCurrentDynamicIndex;
00057     };
00058 
00059   } // end namespace fem
00060 } // end namespace ot
00061 #endif
00062 

Generated on Tue Mar 24 16:14:01 2009 for DENDRO by  doxygen 1.3.9.1