Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

hp3D/sumfact.hh
Go to the documentation of this file.
00001 /* Functor class for sum factorization
00002  */
00003 
00004 #ifndef sumfact_hh
00005 #define sumfact_hh
00006 
00007 #include "toolbox/array.hh"
00008 
00009 namespace concepts {
00010 
00011   // forward declarations
00012   template<typename T>
00013   class ElementMatrix;
00014 
00015   class InOutParameters;
00016 } // namespace concepts
00017 
00018 namespace hp3D {
00019 
00020   using concepts::Real;
00021 
00022   // forward declarations
00023   template<typename F>
00024   class ShapeFunction3D;
00025 
00026   // ****************************************************** SumFactorization **
00027 
00040   class SumFactorization {
00041   public:
00050     template<typename T>
00051     void operator()(concepts::ElementMatrix<Real>& em,
00052         const concepts::Array<Real>& jacobian, T* coeff,
00053         const ShapeFunction3D<Real>& u,
00054         const ShapeFunction3D<Real>& v);
00055 
00082     static void setTimings(concepts::InOutParameters* timings);
00086     static bool timings();
00088   private:
00090     concepts::Array<Real> sumfact1_, sumfact2_;
00091 
00093     static concepts::InOutParameters* timings_;
00095     static uint timeCntr_;
00096   };
00097 
00098 } // namespace hp3D
00099 
00100 
00101 #endif // sumfact_hh

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)