VanishingSigma.h
00001 #ifndef gridripper_amr1d_sigma_VanishingSigma_h
00002 #define gridripper_amr1d_sigma_VanishingSigma_h
00003
00004 #include <gridripper/Parameters.h>
00005 #include <gridripper/lang/StreamTokenizer.h>
00006 #include <gridripper/amr1d/Sigma.h>
00007
00008 namespace gridripper { namespace amr1d { namespace sigma {
00009
00010 using namespace gridripper::util;
00011 using namespace std;
00012
00020 class VanishingSigma: public Sigma {
00021
00022 private:
00023 double sigma0;
00024 double asq;
00025 double x1;
00026 double x2;
00027 double minx;
00028 double maxx;
00029 double sigma_at_minx;
00030 double sigma_at_maxx;
00031 double deltaRsq;
00032
00033 public:
00034 VanishingSigma(const string& cmd, const Parameters& param,
00035 const PDE& pde);
00036
00037 VanishingSigma(GReal_t sigma0, GReal_t x1, GReal_t x2, GReal_t a);
00038
00039 GReal_t getValue(GReal_t x, int ileft, int iright) const;
00040
00045 Sigma* cloneSigma() const;
00046 };
00047
00048 } } }
00049
00050 #endif