baseq13d.h

Go to the documentation of this file.
00001 #ifndef __baseq13d_h
00002 #define __baseq13d_h
00003 
00004 #include  "base3d.h"
00005 
00006 #define NDOF   8
00007 #define NDOF1d 2
00008 
00009 /**************************************************/
00010 
00011 namespace Gascoigne
00012 {
00013 
00018 
00022 
00023 class BaseQ13d : public Base3d
00024 {
00025  protected:
00026 
00027   typedef  std::pair<int,int> pint;
00028 
00029   fixarray<2,double>          a,b;
00030 
00031   mutable DoubleVector dxy, dxz, dyz, dxyz;
00032 
00033   void BasicInit()
00034     {
00035       N.resize(NDOF);  DN.resize(NDOF);  
00036       a[0] = 1.;  b[0] = -1.;
00037       a[1] = 0.;  b[1] =  1.;
00038 /*       dxy.reservesize(NDOF); */
00039 /*       dxz.reservesize(NDOF); */
00040 /*       dyz.reservesize(NDOF); */
00041 /*       dxyz.reservesize(NDOF); */
00042     }
00043   double psi_x(int i, double x)      const { return b[i]; }
00044 
00045  public:
00046   
00047   BaseQ13d();
00048 
00049   double psi  (int i, double x)      const { return a[i] + b[i]*x;}
00050   int    n()                         const { return NDOF;}
00051   double phi   (int i)               const { return N [i];}
00052   double phi_x (int i)               const { return DN[i].x();}
00053   double phi_y (int i)               const { return DN[i].y();}
00054   double phi_z (int i)               const { return DN[i].z();}
00055   double phi_xx(int i) const {return 0.;}
00056   double phi_yy(int i) const {return 0.;}
00057   double phi_zz(int i) const {return 0.;}
00058   double phi_xy(int i) const {assert(0); return dxy[i];}
00059   double phi_xz(int i) const {assert(0); return dxz[i];}
00060   double phi_yz(int i) const {assert(0); return dyz[i];}
00061   double phi_xyz(int i) const {assert(0); return dxyz[i];}
00062   const Vertex3d &  phi_grad (int i) const { return DN[i];}
00063 
00064   void point(const Vertex3d& s) const;
00065 };
00066 }
00067 
00068 #undef NDOF
00069 #undef NDOF1d
00070 
00071 #endif

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