DFLinearMobilityProduct Class Reference

#include <dflinearmobilityproduct.h>

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

List of all members.

Public Member Functions

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

Private Attributes

double _vo
double _vw
double _MaxSw
double _Srw
double _c1
double _c2
ProbeFunction1D _prob

Detailed Description

Definition at line 9 of file dflinearmobilityproduct.h.


Constructor & Destructor Documentation

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

Definition at line 7 of file dflinearmobilityproduct.cpp.

00008   :Function1D(1)
00009 {
00010 
00011   _vw = vW;
00012   _vo = vO;
00013   _MaxSw=1.-sro;
00014   _Srw=srw;
00015   _c1=_MaxSw*_MaxSw*_vo;
00016   _c2=(1.0-_Srw)*(1.0-_Srw)*_vw;
00017   _prob.sampleFunction(*this,0,0,1,100000);
00018 }

DFLinearMobilityProduct::~DFLinearMobilityProduct (  )  [virtual]

Definition at line 41 of file dflinearmobilityproduct.cpp.

00042 {
00043  
00044 }


Member Function Documentation

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

Reimplemented from Function1D.

Definition at line 35 of file dflinearmobilityproduct.cpp.

00036 {
00037   _prob.getMinMaxValues(a,b,min,max);
00038 }

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

Implements Function1D.

Definition at line 21 of file dflinearmobilityproduct.cpp.

00022 {
00023    if (x >= _MaxSw)
00024      x=_MaxSw;
00025  else if (x < _Srw)
00026      x=_Srw;
00027 
00028   // register double krw = x-_Srw;
00029   // register double kro = _MaxSw-x;
00030   
00031   assert(cmp==0);
00032   return (_MaxSw-x)/(_c2*_c1*((x-_Srw)/_c2+(_MaxSw-x)/_c1))-(x-_Srw)/(_c2*_c1*((x-_Srw)/_c2+(_MaxSw-x)/_c1))-(x-_Srw)*(_MaxSw-x)*(1/_c2-1/_c1)/(_c2*_c1*pow(((x-_Srw)/_c2+(_MaxSw-x)/_c1),2));
00033 }


Member Data Documentation

double DFLinearMobilityProduct::_c1 [private]

Definition at line 15 of file dflinearmobilityproduct.h.

double DFLinearMobilityProduct::_c2 [private]

Definition at line 16 of file dflinearmobilityproduct.h.

Definition at line 13 of file dflinearmobilityproduct.h.

Definition at line 17 of file dflinearmobilityproduct.h.

Definition at line 14 of file dflinearmobilityproduct.h.

double DFLinearMobilityProduct::_vo [private]

Definition at line 12 of file dflinearmobilityproduct.h.

double DFLinearMobilityProduct::_vw [private]

Definition at line 12 of file dflinearmobilityproduct.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