equation.h

Go to the documentation of this file.
00001 #ifndef __Equation_h
00002 #define __Equation_h
00003 
00004 #include  "entrymatrix.h"
00005 #include  "vertex.h"
00006 #include  "application.h"
00007 
00008 
00009 /*-------------------------------------------------------------------------*/
00010 
00011 namespace Gascoigne
00012 {
00013   
00018 
00022 
00023   class MeshInterface;
00024   
00025   class Equation : public virtual Application
00026   {
00027     private:
00028 
00029     protected:
00030 
00031     public:
00032       //
00033       // Constructors
00034       //
00035       Equation() : Application() {}
00036       virtual ~Equation() {}
00037 
00038       virtual void OperatorStrong(DoubleVector& b, const FemFunction& U) const {
00039         std::cerr << "\"Equation::OperatorStrong\" not written!" << std::endl;
00040         abort();
00041       } 
00042       virtual void SetTimePattern(TimePattern& TP) const {
00043         std::cerr << "\"Equation::SetTimePattern\" not written!" << std::endl;
00044         abort();
00045       } 
00046 
00047       virtual void point(double h, const FemFunction& U, const Vertex2d& v) const {}
00048       virtual void point(double h, const FemFunction& U, const Vertex3d& v) const {}
00049      
00050       virtual void pointmatrix(double h, const FemFunction& U, const Vertex2d& v) const {
00051         point(h,U,v);
00052       }
00053       virtual void pointmatrix(double h, const FemFunction& U, const Vertex3d& v) const {
00054         point(h,U,v);
00055       }
00056      
00057       virtual int GetNcomp() const=0;
00058       virtual void Form(VectorIterator b, const FemFunction& U, const TestFunction& N) const=0;
00059       virtual void Matrix(EntryMatrix& A, const FemFunction& U, const TestFunction& M, const TestFunction& N) const=0;
00060       // .cell is analogous to .point
00061       //virtual void cell(const MeshInterface* p_mesh, int cell_id, const LocalVector& U, const LocalNodeData& Q) const { }
00062   };
00063 }
00064 
00065 #endif

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