hnstructureq13d.h

Go to the documentation of this file.
00001 #ifndef  __HNStructureQ13d_h
00002 #define  __HNStructureQ13d_h
00003 
00004 #include  "hnstructureq12d.h"
00005 #include  "entrymatrix.h"
00006 
00007 /*-----------------------------------------*/
00008 
00009 namespace Gascoigne
00010 {
00011 class HNStructureQ13d : public HNStructureQ12d
00012 {
00013 protected:
00014 
00015   typedef   fixarray<9,int>    FaceVector;
00016 
00017   typedef   std::map<int,FaceVector>::iterator        fiterator;
00018   typedef   std::map<int,FaceVector>::const_iterator  const_fiterator;
00019 
00020   const std::map<int,FaceVector>*        faces;
00021 
00022   fixarray<12,fixarray<3,int> >  lnoe;
00023   fixarray< 6,fixarray<5,int> >  lnop;
00024 
00025   void CondenseHanging2er(IntVector& indices) const;
00026   void CondenseHanging4er(IntVector& indices) const;
00027 
00028   void CondenseHanging2er(EntryMatrix& E, IntVector& indices) const;
00029   void CondenseHanging4er(EntryMatrix& E, IntVector& indices) const;
00030 
00031   fixarray<4,int> GetHangingFace(int i) const;
00032   fixarray<2,int> GetHangingEdge(int i) const;
00033 
00034 public:
00035 
00036   ~HNStructureQ13d();
00037   HNStructureQ13d();
00038 
00039   int nhnodes() const { return edges->size() + faces->size();} 
00040 
00041   void ReInit(const MeshInterface* m);
00042   int   hanging(int i) const;
00043 
00044   void MatrixDiag(int ncomp, MatrixInterface& A) const;
00045   void SparseStructureDiag(SparseStructure* A) const;
00046   
00047   void Average(GlobalVector& u) const;
00048   void Distribute(GlobalVector& u) const;
00049   void Zero(GlobalVector& u) const;
00050   bool ZeroCheck(const GlobalVector& u) const;
00051   
00052   void Couplings(IntVector& indices) const;
00053   
00054   void CondenseHanging(IntVector& indices) const;
00055   void CondenseHanging(EntryMatrix&, IntVector&) const;
00056   void CondenseHangingPatch(EntryMatrix& E, IntVector& indices) const;
00057 };
00058 }
00059 
00060 #endif

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