DFBucleyLeverettGravityMob Class Reference

#include <dfbucleyleverettgravitymob.h>

Inheritance diagram for DFBucleyLeverettGravityMob:
Inheritance graph
[legend]
Collaboration diagram for DFBucleyLeverettGravityMob:
Collaboration graph
[legend]

List of all members.

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

ProbeFunction1Dm_scanInfDX

Private Attributes

double _vo
double _vw
double _MaxSw
double _Srw
double _c1
double _c2

Detailed Description

Definition at line 10 of file dfbucleyleverettgravitymob.h.


Constructor & Destructor Documentation

DFBucleyLeverettGravityMob::DFBucleyLeverettGravityMob ( double  vW,
double  vO,
double  srw,
double  sro 
)

Definition at line 5 of file dfbucleyleverettgravitymob.cpp.

00006 {
00007 
00008   _vw = vW;
00009   _vo = vO;
00010   _MaxSw=1.-sro;
00011   _Srw=srw;
00012   _c1=_MaxSw*_MaxSw*_vo;
00013   _c2=(1.0-_Srw)*(1.0-_Srw)*_vw;
00014 
00015   m_scanInfDX = new ProbeFunction1D(*this,0,0,1,10000);
00016 
00017 }

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 }


Member Function Documentation

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 }


Member Data Documentation

Definition at line 16 of file dfbucleyleverettgravitymob.h.

Definition at line 17 of file dfbucleyleverettgravitymob.h.

Definition at line 14 of file dfbucleyleverettgravitymob.h.

Definition at line 15 of file dfbucleyleverettgravitymob.h.

Definition at line 13 of file dfbucleyleverettgravitymob.h.

Definition at line 13 of file dfbucleyleverettgravitymob.h.

Class used in method getMinMaxGradValues()

Definition at line 22 of file dfbucleyleverettgravitymob.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Sun Apr 8 23:13:01 2012 for CO2INJECTION by  doxygen 1.6.3