hnstructureinterface.h

Go to the documentation of this file.
00001 #ifndef  __HNStructureInterface_h
00002 #define  __HNStructureInterface_h
00003 
00004 
00005 #include  "gascoigne.h"
00006 #include  "meshinterface.h"
00007 #include  "matrixinterface.h"
00008 #include  "sparsestructure.h"
00009 
00010 /*-----------------------------------------*/
00011 
00012 namespace Gascoigne
00013 {
00014   
00019 
00023 
00024   class HNStructureInterface
00025   {
00026     private:
00027 
00028     protected:
00029 
00030     public:
00031       //
00033       //
00034       HNStructureInterface() {}
00035       virtual ~HNStructureInterface() {}
00036 
00037       virtual void ReInit(const MeshInterface* m)=0;
00038       virtual void MatrixDiag(int ncomp, MatrixInterface& A) const=0;
00039       virtual void SparseStructureDiag(SparseStructure* S) const=0;
00040 
00041       virtual void CondenseHanging(IntVector& indices) const=0;
00042       virtual void CondenseHanging(EntryMatrix& E, IntVector& indices) const=0;
00043       virtual void CondenseHangingPatch(EntryMatrix& E, IntVector& indices) const=0;
00044 
00045       virtual void Average(GlobalVector& u) const=0;
00046       virtual void Distribute(GlobalVector& u) const=0;
00047       virtual void Zero(GlobalVector& u) const=0;
00048       virtual bool ZeroCheck(const GlobalVector& u) const=0;
00049 
00050       virtual int nhnodes() const =0;
00051   };
00052 }
00053 
00054 #endif

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