Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members

dGqElement.h

Go to the documentation of this file.
00001 // Copyright (C) 2003 Johan Hoffman and Anders Logg.
00002 // Licensed under the GNU GPL Version 2.
00003 
00004 #ifndef __DGQ_ELEMENT_H
00005 #define __DGQ_ELEMENT_H
00006 
00007 #include <dolfin/constants.h>
00008 #include <dolfin/Element.h>
00009 
00010 namespace dolfin {
00011 
00012   class RHS;
00013 
00014   class dGqElement : public Element {
00015   public:
00016     
00017     dGqElement(unsigned int q, unsigned int index, real t0, real t1);
00018     ~dGqElement();
00019 
00020     Type type() const;
00021 
00022     unsigned int size() const;
00023 
00024     real value(real t) const;
00025     real value(unsigned int node, real t) const;
00026     real initval() const;
00027     real ddx() const;
00028 
00029     void update(real u0);
00030     real update(RHS& f);
00031     real update(RHS& f, real* values);
00032     real update(RHS& f, real alpha);
00033     real update(RHS& f, real alpha, real* values);
00034 
00035     real updateLocalNewton(RHS& f);
00036     real updateLocalNewton(RHS& f, real* values);
00037 
00038     void set(real u0);
00039     void set(const real* const values);
00040     void get(real* const values) const;
00041 
00042     bool accept(real TOL, real r);
00043 
00044     real computeTimeStep(real TOL, real r, real kmax) const;
00045     real computeDiscreteResidual(RHS& f);
00046     real computeElementResidual(RHS& f);
00047     
00048   private:
00049 
00050     void feval(RHS& f);
00051     real integral(unsigned int i) const;
00052 
00053     // End value from previous interval
00054     real u0;
00055 
00056   };   
00057     
00058 }
00059 
00060 #endif


Documentation automatically generated with Doxygen on 10 Sep 2004.