Sobolev1Error.h

00001 #ifndef gridripper_amr1d_error_Sobolev1Error_h
00002 #define gridripper_amr1d_error_Sobolev1Error_h
00003 
00004 #include <gridripper/amr1d/AMError.h>
00005 #include <gridripper/lang/IllegalArgumentException.h>
00006 #include <gridripper/tvector.h>
00007 
00008 namespace gridripper { namespace amr1d { namespace error {
00009 
00010 using namespace gridripper::amr1d;
00011 using namespace std;
00012 
00022 class Sobolev1Error: public AMError
00023 {
00024 private:
00025     int Lmax;
00026     unsigned int nMaxComponents;
00027     unsigned int offset;
00028     tvector<GReal_t> weight;
00029 
00030 public:
00031     Sobolev1Error(const PDE& pde, const string& arg)
00032         throw(IllegalArgumentException&);
00033 
00034     void calcErrors(const PDE* pde, const Grad* d,
00035             const Grid& g, const Grid& g2,
00036             GReal_t t, double c, tvalarray<double>& errors) const;
00037 };
00038 
00039 } } } // namespace gridripper::amr1d::error
00040 
00041 #endif /* gridripper_amr1d_error_Sobolev1Error_h */