Hunch.h

00001 #ifndef gridripper_phys_minkowski_kg_moncrief_Hunch_h
00002 #define gridripper_phys_minkowski_kg_moncrief_Hunch_h
00003 
00004 #include <gridripper/amr1d/FuncInitCond.h>
00005 #include <gridripper/Parameters.h>
00006 
00007 namespace gridripper { namespace phys { namespace minkowski { namespace kg {
00008 namespace moncrief {
00009 
00010 using namespace gridripper;
00011 using namespace gridripper::util;
00012 using namespace gridripper::amr1d;
00013 using namespace std;
00014 
00022 class Hunch: public FuncInitCond
00023 {
00024 private:
00025     GReal_t a;
00026     GReal_t b;
00027     GReal_t c;
00028     GReal_t d;
00029     GReal_t kappa;
00030     int componentIndex;
00031 
00032 public:
00033     Hunch(string& args, const Parameters* p, const PDE& pde)
00034           throw(InitCond::Exception&, IllegalArgumentException&);
00035 
00036     void init(PDE* pde, GReal_t x, FieldWrapper& v) throw(InitCond::Exception&);
00037 };
00038 
00039 } } } } } // namespace gridripper::phys::minkowski::kg::moncrief;
00040 
00041 #endif /* gridripper_phys_minkowski_kg_moncrief_Hunch_h */