q1lpsstab.h

Go to the documentation of this file.
00001 #ifndef  __Q1LpsStab_h
00002 #define  __Q1LpsStab_h
00003 
00004 #include  "patchdiscretization.h"
00005 #include  "hnstructureinterface.h"
00006 
00007 namespace Gascoigne
00008 {
00009 
00014 
00018 
00019 /*----------------------------------------------*/
00020 
00021 class Q1LpsStab : public PatchDiscretization
00022 {
00023  protected:
00024 
00025   const HNStructureInterface* HN;
00026 
00027   nvector<int> GetLocalIndices(int iq) const {
00028     return *GetPatchMesh()->IndicesOfPatch(iq);
00029   }
00030   void LocalToGlobal(MatrixInterface& A, EntryMatrix& E, int iq, double s) const;
00031 
00032  public:
00033 
00034   Q1LpsStab() : PatchDiscretization() {};
00035   int n() const { return GetMesh()->nnodes();}
00036   int nc() const { return GetMesh()->ncells();}
00037   virtual void BasicInit(const ParamFile* paramfile, const HNStructureInterface*);
00038 };
00039 
00040 /*----------------------------------------------*/
00041 
00042 class Q1LpsStab2d : public Q1LpsStab
00043 {
00044  protected:
00045 
00046   void Transformation(FemInterface::Matrix& T, int iq) const;
00047 
00048  public:
00049 
00050   Q1LpsStab2d() : Q1LpsStab() {};
00051   void BasicInit(const ParamFile* paramfile, const HNStructureInterface*);
00052 };
00053 
00054 /*----------------------------------------------*/
00055 
00056 class Q1LpsStab3d : public Q1LpsStab
00057 {
00058  protected:
00059 
00060   void Transformation(FemInterface::Matrix& T, int iq) const;
00061 
00062  public:
00063 
00064   Q1LpsStab3d() : Q1LpsStab() {};
00065   void BasicInit(const ParamFile* paramfile, const HNStructureInterface*);
00066 };
00067 
00068 /*----------------------------------------------*/
00069 }
00070 #endif

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