FBucleyLeverettTotalMob Class Reference

#include <fbucleyleveretttotalmob.h>

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

List of all members.

Public Member Functions

 FBucleyLeverettTotalMob (double vw, double vo, double srw, double sro)
virtual double operator() (double dd, unsigned cmp) const
virtual ~FBucleyLeverettTotalMob ()
virtual void setParameters (const VecDouble &v)

Private Attributes

double m_vw
double m_vo
double m_srw
double m_cw
double m_co
double m_MaxSw

Detailed Description

Implements the total mobility for biphasic flow using the mobilities of the Bucley-Leverett problem

mobT = krw(Sw)/vw + kro(Sw)/vo

where vw and vo are the viscosities, krw and kro the relative permeabilities. In the case of Bucley- Leverett the relative permeabilites are given by Sw^2 and (1-Sw)^2.

Definition at line 19 of file fbucleyleveretttotalmob.h.


Constructor & Destructor Documentation

FBucleyLeverettTotalMob::FBucleyLeverettTotalMob ( double  vw,
double  vo,
double  srw,
double  sro 
)

Definition at line 25 of file fbucleyleveretttotalmob.cpp.

00026 {
00027   m_vw = vw;
00028   m_vo = vo;
00029   m_srw=srw;
00030   m_cw=1.0/((1.-srw)*(1.-srw)*vw);
00031   m_co=1.0/((1-sro)*(1-sro)*vo);
00032   m_MaxSw = 1.0-sro;
00033 }

virtual FBucleyLeverettTotalMob::~FBucleyLeverettTotalMob (  )  [inline, virtual]

Definition at line 34 of file fbucleyleveretttotalmob.h.

00034 {}


Member Function Documentation

double FBucleyLeverettTotalMob::operator() ( double  dd,
unsigned  cmp 
) const [virtual]

Implements Function1D.

Definition at line 6 of file fbucleyleveretttotalmob.cpp.

00007 {
00008   assert(cmp == 0); //method does not implement derivative;
00009   if (dd < m_srw)
00010     dd = m_srw;
00011   if (dd > m_MaxSw)
00012     dd = m_MaxSw;
00013  
00014   
00015   double d1  = (dd-m_srw);
00016   double d2  = m_MaxSw  - dd;
00017  
00018   
00019   
00020   return d1*d1*m_cw  + d2*d2*m_co;
00021   
00022   
00023 }

void FBucleyLeverettTotalMob::setParameters ( const VecDouble v  )  [virtual]

Reimplemented from GeneralFunctionInterface.

Definition at line 39 of file fbucleyleveretttotalmob.cpp.

00040 {
00041   assert(v.size()==2);
00042   m_vw=v(0);
00043   m_vo=v(1);
00044 }


Member Data Documentation

Definition at line 25 of file fbucleyleveretttotalmob.h.

Definition at line 24 of file fbucleyleveretttotalmob.h.

Definition at line 26 of file fbucleyleveretttotalmob.h.

Definition at line 23 of file fbucleyleveretttotalmob.h.

Definition at line 22 of file fbucleyleveretttotalmob.h.

Definition at line 22 of file fbucleyleveretttotalmob.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