#include <flashbase.h>
Public Member Functions | |
virtual void | execute ()=0 |
virtual void | printOutput ()=0 |
virtual | ~FlashBase () |
void | setTransport (TransportBase &trans) |
void | setDynamic (DynamicBase &dyn) |
DynamicBase & | getDynamicModule () |
TransportBase & | getTransportModule () |
unsigned | numComponents () |
unsigned | numPhases () |
Protected Member Functions | |
FlashBase (unsigned n_phases, unsigned n_components) | |
Protected Attributes | |
unsigned | n_components |
unsigned | n_phases |
Private Attributes | |
DynamicBase * | m_pDyn |
TransportBase * | m_pTrans |
FlashCompositional is the base class of all the classes that implement flash computations. FlashCompositional's childs are responsible to implement the the thermodynamics calculations and give expressions for the molar densities of the phases. The standard units are Vol= m^3, Pressure=N/m^2, Mass Kg but this can be changed by other flashes classes. We strong recomend that all flash classes specify in their documentation the units they are using. Remember THE UNITS OF THE SIMULATOR ARE SPECIFIED BY THE FLASH MODULE
This class has an array that is fullfilled with the flash output everytime the execute() is called. We access these cash data throw the method flash(Index,FlashData). If you want to construct a flash module that does not cash their computations, or want do design a specialized cash structure, please override both methods. The Index entries goest to zero until the size of the solutions vector -1 of the transport and dynamic modules. The vectors of both modules are assumed to be equal.
Definition at line 26 of file flashbase.h.
FlashBase::FlashBase | ( | unsigned | n_phases, | |
unsigned | n_components | |||
) | [protected] |
Definition at line 6 of file flashbase.cpp.
00007 :n_components(n_components),n_phases(n_phases) 00008 { 00009 m_pDyn=NULL;m_pTrans=NULL; 00010 00011 }
virtual FlashBase::~FlashBase | ( | ) | [inline, virtual] |
Definition at line 41 of file flashbase.h.
virtual void FlashBase::execute | ( | ) | [pure virtual] |
Implemented in FlashCO2H2O, FlashCompositional, FlashSimpleBlackOil, and HenryLawObiBlunt.
DynamicBase& FlashBase::getDynamicModule | ( | ) | [inline] |
Definition at line 47 of file flashbase.h.
TransportBase& FlashBase::getTransportModule | ( | ) | [inline] |
Definition at line 48 of file flashbase.h.
unsigned FlashBase::numComponents | ( | ) | [inline] |
Definition at line 51 of file flashbase.h.
00051 {return n_components;}
unsigned FlashBase::numPhases | ( | ) | [inline] |
Definition at line 52 of file flashbase.h.
00052 {return n_phases;}
virtual void FlashBase::printOutput | ( | ) | [pure virtual] |
Implemented in FlashCO2Brine, FlashCompositional, FlashHenryLaw, FlashSimpleBlackOil, and HenryLawObiBlunt.
void FlashBase::setDynamic | ( | DynamicBase & | dyn | ) | [inline] |
Definition at line 46 of file flashbase.h.
00046 {m_pDyn=&dyn;}
void FlashBase::setTransport | ( | TransportBase & | trans | ) | [inline] |
Definition at line 45 of file flashbase.h.
00045 {m_pTrans=&trans;}
DynamicBase* FlashBase::m_pDyn [private] |
Definition at line 29 of file flashbase.h.
TransportBase* FlashBase::m_pTrans [private] |
Definition at line 30 of file flashbase.h.
unsigned FlashBase::n_components [protected] |
Definition at line 32 of file flashbase.h.
unsigned FlashBase::n_phases [protected] |
Definition at line 32 of file flashbase.h.