00001 #ifndef _Harmod_H 00002 #define _Harmod_H 00003 00004 00005 00063 #include <math.h> 00064 00065 00066 class Harmod : public AbsLimiter 00067 { 00068 public: 00069 virtual ~Harmod(){} 00070 00071 00072 virtual double average(double a, double b) 00073 { 00074 double val=0.0; 00075 00076 double absA= fabs(a); 00077 double absB= fabs(b); 00078 00079 val= (sign(a) + sign(b)) * (absA*absB)/(absA+absB); 00080 00081 return val; 00082 } 00083 }; 00084 00085 #endif