![]() |
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.