FPcSquare Class Reference

#include <fpcsquare.h>

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

List of all members.

Public Member Functions

 FPcSquare (double n, double srw, double sro, double maxPc)
virtual double operator() (double x, unsigned cmp=0) const
virtual ~FPcSquare ()

Protected Attributes

double m_n
double m_srw
double m_tau
double m_maxsw
double m_maxPc
double m_minS

Detailed Description

Implement the Pc function as described in the paper On the numerical simulation of waterflooding of heterogeneous pretroleum reservoirs

Definition at line 12 of file fpcsquare.h.


Constructor & Destructor Documentation

FPcSquare::FPcSquare ( double  n,
double  srw,
double  sro,
double  maxPc 
)

Definition at line 6 of file fpcsquare.cpp.

00007 {
00008   m_srw=srw;
00009   m_maxsw=1-sro;
00010   m_n = n;
00011   m_tau=sro*sro/((1.0-sro-srw)*(1.0-sro-srw));
00012   m_minS=srw;
00013   m_maxPc=INFINITY;
00014 
00015   if (maxPc != INFINITY)
00016   {
00017     BSInverse finv(*this,srw,1-sro,1.e-8);
00018     double tmp;
00019     tmp=finv(maxPc,0);
00020     m_maxPc=(*this)(tmp);
00021     m_minS=tmp;
00022   }
00023   printf("%g %g %g\n",m_minS,m_maxPc,srw);
00024 }

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

Definition at line 23 of file fpcsquare.h.

00023 {}


Member Function Documentation

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

Implements Function1D.

Reimplemented in DFPcSquare.

Definition at line 29 of file fpcsquare.cpp.

00030 {
00031   if (x <= m_minS)
00032     return m_maxPc;
00033   if (x>=m_maxsw)
00034     return 0.0;
00035   double dd=x-m_srw;
00036   double d2=1.0-x;
00037   assert(cmp==0);
00038 
00039   return m_n*(1.0/(dd*dd)-m_tau/(d2*d2));
00040 }


Member Data Documentation

double FPcSquare::m_maxPc [protected]

Definition at line 16 of file fpcsquare.h.

double FPcSquare::m_maxsw [protected]

Definition at line 16 of file fpcsquare.h.

double FPcSquare::m_minS [protected]

Definition at line 16 of file fpcsquare.h.

double FPcSquare::m_n [protected]

Definition at line 16 of file fpcsquare.h.

double FPcSquare::m_srw [protected]

Definition at line 16 of file fpcsquare.h.

double FPcSquare::m_tau [protected]

Definition at line 16 of file fpcsquare.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:09 2012 for CO2INJECTION by  doxygen 1.6.3