00001 #ifndef gridripper_phys_minkowski_ymh_moncrief_wHunch_h
00002 #define gridripper_phys_minkowski_ymh_moncrief_wHunch_h
00003
00004 #include <gridripper/Parameters.h>
00005 #include <gridripper/amr1d/initcond/ODERelaxInit.h>
00006
00007 namespace gridripper { namespace phys { namespace minkowski { namespace ymh {
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 wHunch: public gridripper::amr1d::initcond::ODERelaxInit
00023 {
00024 private: int I_h;
00025 int I_hR;
00026 int I_w;
00027 int I_wT;
00028 int I_wR;
00029 GReal_t a;
00030 GReal_t b;
00031 GReal_t c;
00032 GReal_t d;
00033 GReal_t kappa;
00034 GReal_t lambda;
00035
00036 public:
00037 wHunch(string& args, const Parameters* p, const PDE& pde)
00038 throw(InitCond::Exception&, IllegalArgumentException&);
00039
00040 void init(PDE* pde, GReal_t x, FieldWrapper& fw)
00041 throw(InitCond::Exception&);
00042
00043 protected:
00044 bool isNumericalConstraintSettingNeeded() {
00045 return false;
00046 }
00047 };
00048
00049 } } } } }
00050
00051 #endif