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

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

#include <Rock.hpp>

Public Types

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

 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.
 
void init (const Opm::Deck &deck, const std::vector< int > &global_cell, const double perm_threshold=0.0)
 Initialize from a grdecl file.
 
void init (const int num_cells, const double uniform_poro, const double uniform_perm)
 Initialize a uniform reservoir.
 
double porosity (int cell_index) const
 Read-access to porosity.
 
PermTensor permeability (int cell_index) const
 Read-access to permeability.
 
SharedPermTensor permeabilityModifiable (int cell_index)
 Read- and write-access to permeability.
 

Protected Member Functions

void assignPorosity (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)
 

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 Function Documentation

◆ init() [1/2]

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.

◆ init() [2/2]

template<int dim>
void Opm::Rock< dim >::init ( const Opm::Deck &  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.

◆ permeability()

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.

◆ permeabilityModifiable()

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.

◆ porosity()

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.

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