#include <dfbucleyleverettgravitymob.h>
Public Member Functions | |
DFBucleyLeverettGravityMob (double vW, double vO, double srw, double sro) | |
DFBucleyLeverettGravityMob (DFBucleyLeverettGravityMob &f) | |
virtual | ~DFBucleyLeverettGravityMob () |
virtual void | getMinMaxValues (double a, double b, double &min, double &max) const |
virtual double | operator() (double x, unsigned cmp) const |
Protected Attributes | |
ProbeFunction1D * | m_scanInfDX |
Private Attributes | |
double | _vo |
double | _vw |
double | _MaxSw |
double | _Srw |
double | _c1 |
double | _c2 |
Definition at line 10 of file dfbucleyleverettgravitymob.h.
DFBucleyLeverettGravityMob::DFBucleyLeverettGravityMob | ( | double | vW, | |
double | vO, | |||
double | srw, | |||
double | sro | |||
) |
DFBucleyLeverettGravityMob::DFBucleyLeverettGravityMob | ( | DFBucleyLeverettGravityMob & | f | ) |
Definition at line 19 of file dfbucleyleverettgravitymob.cpp.
00020 { 00021 *this=f; 00022 m_scanInfDX = new ProbeFunction1D(*this,0,0,1,10000); 00023 }
DFBucleyLeverettGravityMob::~DFBucleyLeverettGravityMob | ( | ) | [virtual] |
Definition at line 57 of file dfbucleyleverettgravitymob.cpp.
00058 { 00059 delete m_scanInfDX; 00060 }
void DFBucleyLeverettGravityMob::getMinMaxValues | ( | double | a, | |
double | b, | |||
double & | min, | |||
double & | max | |||
) | const [virtual] |
Reimplemented from Function1D.
Definition at line 46 of file dfbucleyleverettgravitymob.cpp.
00047 { 00048 assert(a<=b); 00049 NumericMethods::adjustBounds(a,0,1); 00050 NumericMethods::adjustBounds(b,0,1); 00051 00052 m_scanInfDX->getMinMaxValues(a,b,min,max); 00053 }
double DFBucleyLeverettGravityMob::operator() | ( | double | x, | |
unsigned | cmp | |||
) | const [virtual] |
Implements Function1D.
Definition at line 27 of file dfbucleyleverettgravitymob.cpp.
00028 { 00029 00030 if (x >= _MaxSw) 00031 x=_MaxSw; 00032 else if (x < _Srw) 00033 x=_Srw; 00034 00035 register double kw = x-_Srw; 00036 register double ko = x-_MaxSw; 00037 register double kw2=kw*kw; 00038 register double ko2=ko*ko; 00039 00040 double denom = _c1*kw2 + _c2*ko2; 00041 denom*=denom; 00042 return 2*(_c2*ko2*ko2*kw+_c1*ko*kw2*kw2)/denom; 00043 }
double DFBucleyLeverettGravityMob::_c1 [private] |
Definition at line 16 of file dfbucleyleverettgravitymob.h.
double DFBucleyLeverettGravityMob::_c2 [private] |
Definition at line 17 of file dfbucleyleverettgravitymob.h.
double DFBucleyLeverettGravityMob::_MaxSw [private] |
Definition at line 14 of file dfbucleyleverettgravitymob.h.
double DFBucleyLeverettGravityMob::_Srw [private] |
Definition at line 15 of file dfbucleyleverettgravitymob.h.
double DFBucleyLeverettGravityMob::_vo [private] |
Definition at line 13 of file dfbucleyleverettgravitymob.h.
double DFBucleyLeverettGravityMob::_vw [private] |
Definition at line 13 of file dfbucleyleverettgravitymob.h.
ProbeFunction1D* DFBucleyLeverettGravityMob::m_scanInfDX [protected] |
Class used in method getMinMaxGradValues()
Definition at line 22 of file dfbucleyleverettgravitymob.h.