FBucleyLeverettGravityMob Class Reference

#include <fbucleyleverettgravitymob.h>

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

List of all members.

Public Member Functions

 FBucleyLeverettGravityMob (double vW, double vO, double srw, double sro)
 FBucleyLeverettGravityMob (FBucleyLeverettGravityMob &f)
virtual double operator() (double x, unsigned cmp=0) const
virtual void getMinMaxValues (double a, double b, double &min, double &max) const
virtual ~FBucleyLeverettGravityMob ()

Private Attributes

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

Detailed Description

Definition at line 9 of file fbucleyleverettgravitymob.h.


Constructor & Destructor Documentation

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

Definition at line 7 of file fbucleyleverettgravitymob.cpp.

00008 {
00009 
00010   _vw = vW;
00011   _vo = vO;
00012   _MaxSw=1.-sro;
00013   _Srw=srw;
00014   _c1=_MaxSw*_MaxSw*_vo;
00015   _c2=(1.0-_Srw)*(1.0-_Srw)*_vw;
00016   
00017   //Coefficients for the polynomium in the expression of the first derivative
00018   //of the function
00019   //m_a = m_vo + m_vw;
00020   //m_b = -(m_vo + 4*m_vw);
00021   //m_c = 6*m_vw;
00022   //m_d = -4*m_vw;
00023           
00024   m_scanInf = new ProbeFunction1D(*this,0,0,1,10000);
00025   
00026 }

FBucleyLeverettGravityMob::FBucleyLeverettGravityMob ( FBucleyLeverettGravityMob f  ) 

Definition at line 29 of file fbucleyleverettgravitymob.cpp.

00030 {
00031   *this=f;
00032   m_scanInf = new ProbeFunction1D(*this,0,0,1,10000);
00033 }

FBucleyLeverettGravityMob::~FBucleyLeverettGravityMob (  )  [virtual]

Definition at line 52 of file fbucleyleverettgravitymob.cpp.

00053 {
00054   delete m_scanInf;
00055 }


Member Function Documentation

void FBucleyLeverettGravityMob::getMinMaxValues ( double  a,
double  b,
double &  min,
double &  max 
) const [virtual]

Reimplemented from Function1D.

Definition at line 57 of file fbucleyleverettgravitymob.cpp.

00058 {
00059   assert(a<=b);
00060   NumericMethods::adjustBounds(a,0,1);
00061   NumericMethods::adjustBounds(b,0,1);
00062   m_scanInf->getMinMaxValues(a,b,min,max);
00063 }

double FBucleyLeverettGravityMob::operator() ( double  x,
unsigned  cmp = 0 
) const [virtual]

Implements Function1D.

Definition at line 36 of file fbucleyleverettgravitymob.cpp.

00037 {
00038    if (x >= _MaxSw)
00039      x=_MaxSw;
00040  else if (x < _Srw)
00041      x=_Srw;
00042 
00043   register double kw = x-_Srw;
00044   register double ko = x-_MaxSw;
00045   register double kw2=kw*kw;
00046   register double ko2=ko*ko;
00047   return kw2*ko2/(_c1*kw2 + _c2*ko2);
00048 }


Member Data Documentation

Definition at line 15 of file fbucleyleverettgravitymob.h.

Definition at line 16 of file fbucleyleverettgravitymob.h.

Definition at line 13 of file fbucleyleverettgravitymob.h.

Definition at line 14 of file fbucleyleverettgravitymob.h.

Definition at line 12 of file fbucleyleverettgravitymob.h.

Definition at line 12 of file fbucleyleverettgravitymob.h.

Class used in method getMinMaxGradValues()

Definition at line 20 of file fbucleyleverettgravitymob.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:05 2012 for CO2INJECTION by  doxygen 1.6.3