baseq22d.h

Go to the documentation of this file.
00001 #ifndef __baseq22d_h
00002 #define __baseq22d_h
00003 
00004 #include  <vector>
00005 #include  <string>
00006 #include  <utility>
00007 #include  "vertex.h"
00008 #include  "numfixarray.h"
00009 #include  "base2d.h"
00010 
00011 #define NDOF   9
00012 #define NDOF1d 3
00013 
00014 namespace Gascoigne
00015 {
00016 
00021 
00025 
00026 /**************************************************/
00027 
00028 class BaseQ22d : public Base2d
00029 {
00030  protected:
00031 
00032   fixarray<NDOF1d,double>     a,b,c;
00033   
00034   double psi   (int i, double x) const { return a[i] + b[i]*x + c[i]*x*x;}
00035   double psi_x (int i, double x) const { return b[i] + 2.*c[i]*x;}
00036   double psi_xx(int i, double x) const { return 2.*c[i]; }
00037 
00038  public:
00039   
00040   BaseQ22d();
00041 
00042   int  n()             const { return NDOF;}
00043   void point(const Vertex2d& s) const;
00044 
00045   double phi   (int i) const { return N  [i];}
00046   double phi_x (int i) const { return DN [i].x();}
00047   double phi_y (int i) const { return DN [i].y();}
00048   double phi_xx(int i) const { assert(0);}
00049   double phi_yy(int i) const { assert(0);}
00050   double phi_xy(int i) const { assert(0);}
00051 
00052   const Vertex2d&  phi_grad (int i) const {return DN[i];}
00053 };
00054 }
00055 
00056 #undef NDOF
00057 #undef NDOF1d
00058 
00059 #endif

Generated on Thu Sep 14 10:34:36 2006 for Gascoigne by  doxygen 1.4.7