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 } } }
00040
00041 #endif