My Project
Loading...
Searching...
No Matches
Opm::ReservoirPropertyCapillaryAnisotropicRelperm< dim > Class Template Reference

A property class for incompressible two-phase flow. More...

#include <ReservoirPropertyCapillaryAnisotropicRelperm.hpp>

Inheritance diagram for Opm::ReservoirPropertyCapillaryAnisotropicRelperm< dim >:
Opm::ReservoirPropertyCommon< dim, ReservoirPropertyCapillaryAnisotropicRelperm< dim >, RockAnisotropicRelperm >

Public Types

typedef TensorMobility< dim > Mobility
 The (tensorial) mobility type.
 
- Public Types inherited from Opm::ReservoirPropertyCommon< dim, ReservoirPropertyCapillaryAnisotropicRelperm< dim >, RockAnisotropicRelperm >
enum  
 The number of phases.
 
typedef ImmutableCMatrix PermTensor
 Tensor type for read-only access to permeability.
 
typedef OwnCMatrix MutablePermTensor
 Tensor type to be used for holding copies of permeability tensors.
 
typedef SharedCMatrix SharedPermTensor
 Tensor type for read and write access to permeability.
 

Public Member Functions

template<class MatrixType >
void phaseMobility (int phase_index, int cell_index, double saturation, MatrixType &phase_mob) const
 Anisotropic phase mobility.
 
double fractionalFlow (int cell_index, double saturation) const
 Some approximation to a scalar fractional flow (of the first phase).
 
void computeCflFactors ()
 
- Public Member Functions inherited from Opm::ReservoirPropertyCommon< dim, ReservoirPropertyCapillaryAnisotropicRelperm< dim >, RockAnisotropicRelperm >
 ReservoirPropertyCommon ()
 Default constructor.
 
void init (const Opm::Deck &, const std::vector< int > &global_cell, const double perm_threshold=0.0, const std::string *rock_list_filename=0, const bool use_jfunction_scaling=true, const double sigma=1.0, const double theta=0.0)
 Initialize from a grdecl file.
 
void init (const int num_cells, const double uniform_poro=0.2, const double uniform_perm=100.0 *Opm::prefix::milli *Opm::unit::darcy)
 Initialize a uniform reservoir.
 
void setViscosities (double v1, double v2)
 Set viscosities of both faces.
 
void setDensities (double d1, double d2)
 Set densitities of both faces.
 
double viscosityFirstPhase () const
 Viscosity of first (water) phase.
 
double viscositySecondPhase () const
 Viscosity of second (oil) phase.
 
double densityFirstPhase () const
 Density of first (water) phase.
 
double densitySecondPhase () const
 Density of second (oil) phase.
 
double porosity (int cell_index) const
 Read-access to porosity.
 
double ntg (int cell_index) const
 Read-access to ntg.
 
double swcr (int cell_index) const
 Read-access to swcr.
 
double sowcr (int cell_index) const
 Read-access to sowcr.
 
PermTensor permeability (int cell_index) const
 Read-access to permeability.
 
SharedPermTensor permeabilityModifiable (int cell_index)
 Read- and write-access to permeability.
 
void phaseDensities (int, Vector &density) const
 Densities for both phases.
 
double densityDifference () const
 Difference of densities.
 
double cflFactor () const
 A factor useful in cfl computations.
 
double cflFactorGravity () const
 A factor useful in gravity cfl computations.
 
double cflFactorCapillary () const
 A factor useful in gravity cfl computations.
 
double capillaryPressure (int cell_index, double saturation) const
 Capillary pressure.
 
double capillaryPressureDeriv (int c, double s) const
 Derivative of Capillary pressure.
 
double s_min (int c) const
 
double s_max (int c) const
 
double saturationFromCapillaryPressure (int cell_index, double cap_press) const
 Inverse of the capillary pressure function.
 
void writeSintefLegacyFormat (const std::string &grid_prefix) const
 Write permeability and porosity in the Sintef legacy format.
 

Additional Inherited Members

- Protected Member Functions inherited from Opm::ReservoirPropertyCommon< dim, ReservoirPropertyCapillaryAnisotropicRelperm< dim >, RockAnisotropicRelperm >
void assignPorosity (const Opm::Deck &deck, const std::vector< int > &global_cell)
 
void assignNTG (const Opm::Deck &deck, const std::vector< int > &global_cell)
 
void assignSWCR (const Opm::Deck &deck, const std::vector< int > &global_cell)
 
void assignSOWCR (const Opm::Deck &deck, const std::vector< int > &global_cell)
 
void assignPermeability (const Opm::Deck &deck, const std::vector< int > &global_cell, const double perm_threshold)
 
void assignRockTable (const Opm::Deck &deck, const std::vector< int > &global_cell)
 
void readRocks (const std::string &rock_list_file)
 
ReservoirPropertyCapillaryAnisotropicRelperm< dim > & asImpl ()
 
- Protected Attributes inherited from Opm::ReservoirPropertyCommon< dim, ReservoirPropertyCapillaryAnisotropicRelperm< dim >, RockAnisotropicRelperm >
std::vector< double > porosity_
 
std::vector< double > ntg_
 
std::vector< double > swcr_
 
std::vector< double > sowcr_
 
std::vector< double > permeability_
 
std::vector< unsigned char > permfield_valid_
 
double density1_
 
double density2_
 
double viscosity1_
 
double viscosity2_
 
double cfl_factor_
 
double cfl_factor_gravity_
 
double cfl_factor_capillary_
 
std::vector< RockAnisotropicRelpermrock_
 
std::vector< int > cell_to_rock_
 
PermeabilityKind permeability_kind_
 

Detailed Description

template<int dim>
class Opm::ReservoirPropertyCapillaryAnisotropicRelperm< dim >

A property class for incompressible two-phase flow.

Template Parameters
dimthe dimension of the space, used for giving permeability tensors the right size.

Member Function Documentation

◆ fractionalFlow()

template<int dim>
double Opm::ReservoirPropertyCapillaryAnisotropicRelperm< dim >::fractionalFlow ( int  cell_index,
double  saturation 
) const

Some approximation to a scalar fractional flow (of the first phase).

Parameters
cell_indexindex of a grid cell.
saturationa saturation value.
Returns
fractional flow value at the given cell and saturation.

◆ phaseMobility()

template<int dim>
template<class MatrixType >
void Opm::ReservoirPropertyCapillaryAnisotropicRelperm< dim >::phaseMobility ( int  phase_index,
int  cell_index,
double  saturation,
MatrixType &  phase_mob 
) const

Anisotropic phase mobility.

Parameters
phase_indexphase for which to compute mobility.
cell_indexindex of a grid cell.
saturationa saturation value.
[out]phase_mobanisotropic phase mobility tensor at the given cell and saturation.

The documentation for this class was generated from the following files: