A property class for porous media rock. More...

#include <ImplicitTransportDefs.hpp>

Public Types

typedef ImmutableCMatrix PermTensor
 Tensor type for read-only access to permeability. More...
 
typedef OwnCMatrix MutablePermTensor
 Tensor type to be used for holding copies of permeability tensors. More...
 
typedef SharedCMatrix SharedPermTensor
 Tensor type for read and write access to permeability. More...
 

Public Member Functions

 Rock (::std::size_t nc,::std::size_t dim)
 
const ::std::vector< double > & perm () const
 
const ::std::vector< double > & poro () const
 
void perm_homogeneous (double k)
 
void poro_homogeneous (double phi)
 
 Rock ()
 Default constructor. More...
 
void init (Opm::DeckConstPtr deck, const std::vector< int > &global_cell, const double perm_threshold=0.0)
 Initialize from a grdecl file. More...
 
void init (const int num_cells, const double uniform_poro, const double uniform_perm)
 Initialize a uniform reservoir. More...
 
double porosity (int cell_index) const
 Read-access to porosity. More...
 
PermTensor permeability (int cell_index) const
 Read-access to permeability. More...
 
SharedPermTensor permeabilityModifiable (int cell_index)
 Read- and write-access to permeability. Use with caution. More...
 

Protected Member Functions

void assignPorosity (Opm::DeckConstPtr deck, const std::vector< int > &global_cell)
 
void assignPermeability (Opm::DeckConstPtr deck, const std::vector< int > &global_cell, const double perm_threshold)
 

Protected Attributes

std::vector< double > porosity_
 
std::vector< double > permeability_
 
std::vector< unsigned char > permfield_valid_
 
PermeabilityKind permeability_kind_
 

Detailed Description

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

A property class for porous media rock.

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

Member Typedef Documentation

template<int dim>
typedef OwnCMatrix Opm::Rock< dim >::MutablePermTensor

Tensor type to be used for holding copies of permeability tensors.

template<int dim>
typedef ImmutableCMatrix Opm::Rock< dim >::PermTensor

Tensor type for read-only access to permeability.

template<int dim>
typedef SharedCMatrix Opm::Rock< dim >::SharedPermTensor

Tensor type for read and write access to permeability.

Constructor & Destructor Documentation

template<int dim>
Opm::Rock< dim >::Rock ( ::std::size_t  nc,
::std::size_t  dim 
)
inline
template<int dim>
Opm::Rock< dim >::Rock ( )

Default constructor.

Member Function Documentation

template<int dim>
void Opm::Rock< dim >::assignPermeability ( Opm::DeckConstPtr  deck,
const std::vector< int > &  global_cell,
const double  perm_threshold 
)
protected

References Opm::zero().

template<int dim>
void Opm::Rock< dim >::assignPorosity ( Opm::DeckConstPtr  deck,
const std::vector< int > &  global_cell 
)
protected
template<int dim>
void Opm::Rock< dim >::init ( Opm::DeckConstPtr  deck,
const std::vector< int > &  global_cell,
const double  perm_threshold = 0.0 
)

Initialize from a grdecl file.

Parameters
parserthe parser holding the grdecl data.
parserthe parser holding the grdecl data.
global_cellthe mapping from cell indices to the logical cartesian indices of the grdecl file.
perm_thresholdlower threshold for permeability.
rock_list_filenameif non-null, the referred string gives the filename for the rock list.
use_jfunction_scalingif true, use j-function scaling of capillary pressure, if applicable.
sigmainterface tension for j-scaling, if applicable.
thetaangle for j-scaling, if applicable.
template<int dim>
void Opm::Rock< dim >::init ( const int  num_cells,
const double  uniform_poro,
const double  uniform_perm 
)

Initialize a uniform reservoir.

Parameters
num_cellsnumber of cells in the grid.
uniform_porothe uniform porosity.
uniform_permthe uniform (scalar) permeability.
template<int dim>
const ::std::vector<double>& Opm::Rock< dim >::perm ( ) const
inline
template<int dim>
void Opm::Rock< dim >::perm_homogeneous ( double  k)
inline
template<int dim>
Rock< dim >::PermTensor Opm::Rock< dim >::permeability ( int  cell_index) const

Read-access to permeability.

Parameters
cell_indexindex of a grid cell.
Returns
permeability value of the cell.

Referenced by Opm::BlackoilWells::init().

template<int dim>
Rock< dim >::SharedPermTensor Opm::Rock< dim >::permeabilityModifiable ( int  cell_index)

Read- and write-access to permeability. Use with caution.

Parameters
cell_indexindex of a grid cell.
Returns
permeability value of the cell.
template<int dim>
const ::std::vector<double>& Opm::Rock< dim >::poro ( ) const
inline

Referenced by Opm::compute_porevolume().

template<int dim>
void Opm::Rock< dim >::poro_homogeneous ( double  phi)
inline
template<int dim>
double Opm::Rock< dim >::porosity ( int  cell_index) const

Read-access to porosity.

Parameters
cell_indexindex of a grid cell.
Returns
porosity value of the cell.

Referenced by Opm::AllFluidData::computeNew(), and Opm::ExplicitCompositionalTransport< Grid, Rock, Fluid, Wells >::transport().

Member Data Documentation

template<int dim>
std::vector<double> Opm::Rock< dim >::permeability_
protected
template<int dim>
PermeabilityKind Opm::Rock< dim >::permeability_kind_
protected
template<int dim>
std::vector<unsigned char> Opm::Rock< dim >::permfield_valid_
protected
template<int dim>
std::vector<double> Opm::Rock< dim >::porosity_
protected

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