Loading...
Searching...
No Matches
Opm::UpscalerBase< Traits > Class Template Reference

A base class for upscaling. More...

`#include <UpscalerBase.hpp>`

Inheritance diagram for Opm::UpscalerBase< Traits >:

## Public Types

enum | { Dimension = GridType::dimension }
enum | BoundaryConditionType { Fixed = 0 , Linear = 1 , Periodic = 2 }
typedef Dune::CpGrid | GridType
typedef GridInterfaceEuler< GridType > | GridInterface
typedef Traits::template ResProp< Dimension >::Type | ResProp
typedef ResProp::MutablePermTensor | permtensor_t
| A type for the upscaled permeability.

## Public Member Functions

| UpscalerBase ()
| Default constructor.
void | init (const Opm::ParameterGroup &param)
| Initializes the upscaler from parameters.
void | init (const Opm::Deck &deck, BoundaryConditionType bctype, double perm_threshold, double residual_tolerance=1e-8, int linsolver_verbosity=0, int linsolver_type=3, bool twodim_hack=false, int linsolver_maxit=0, double linsolver_prolongate_factor=1.0, int linsolver_smooth_steps=1, const double gravity=0.0)
| Initializes the upscaler from given arguments.
const GridType & | grid () const
| Access the grid.
void | setBoundaryConditionType (BoundaryConditionType type)
| Set boundary condition type.
void | setPermeability (const int cell_index, const permtensor_t &k)
| Set the permeability of a cell directly.
permtensor_t | upscaleSinglePhase ()
| Does a single-phase upscaling.
double | upscalePorosity () const
| Compute upscaled porosity.
double | upscaleNetPorosity () const
| Compute upscaled net porosity.
double | upscaleNTG () const
| Compute upscaled NTG.
double | upscaleSWCR (const bool NTG) const
| Compute upscaled SWCR.
double | upscaleSOWCR (const bool NTG) const
| Compute upscaled SOWCR.

## Protected Types

typedef GridInterface::CellIterator | CellIter
typedef CellIter::FaceIterator | FaceIter
typedef BasicBoundaryConditions< true, true > | BCs
typedef Traits::template FlowSolver< GridInterface, BCs >::Type | FlowSolver

## Protected Member Functions

template<class FlowSol>
double | computeAverageVelocity (const FlowSol &flow_solution, const int flow_dir, const int pdrop_dir) const
double | computeDelta (const int flow_dir) const
template<class FluidInterface>
permtensor_t | upscaleEffectivePerm (const FluidInterface &fluid)
virtual void | initImpl (const Opm::ParameterGroup &param)
virtual void | initFinal (const Opm::ParameterGroup &param)

## Protected Attributes

BoundaryConditionType | bctype_
bool | twodim_hack_
double | residual_tolerance_
int | linsolver_maxit_
double | linsolver_prolongate_factor_
int | linsolver_verbosity_
int | linsolver_type_
int | linsolver_smooth_steps_
double | gravity_
GridType | grid_
GridInterface | ginterf_
ResProp | res_prop_
BCs | bcond_
FlowSolver | flow_solver_

## Detailed Description

template<class Traits>
class Opm::UpscalerBase< Traits >

A base class for upscaling.

Author
  Atgeirr F. Rasmussen atgei.nosp@m.rr@s.nosp@m.intef.nosp@m..no

## Member Function Documentation

## initImpl()

template<class Traits>

void Opm::UpscalerBase< Traits >::initImpl | ( | const Opm::ParameterGroup & | param | ) |

inline protected virtual

Reimplemented in Opm::SteadyStateUpscalerImplicit< Traits >.

## setBoundaryConditionType()

template<class Traits>

void Opm::UpscalerBase< Traits >::setBoundaryConditionType | ( | BoundaryConditionType | type | ) |

inline

Set boundary condition type.

This may not be used to swicth between Periodic and the other types, since the grid is modified for Periodic conditions.

## setPermeability()

template<class Traits>

void Opm::UpscalerBase< Traits >::setPermeability | ( | const int | cell_index,
|  | const permtensor_t & | k )

inline

Set the permeability of a cell directly.

This will override the permeability that was read from the eclipse file.

## upscaleNetPorosity()

template<class Traits>

double Opm::UpscalerBase< Traits >::upscaleNetPorosity | ( |  | ) | const

Compute upscaled net porosity.

Returns
  total pore volume (with NTG) of all cells divided by total volume.

## upscaleNTG()

template<class Traits>

double Opm::UpscalerBase< Traits >::upscaleNTG | ( |  | ) | const

Compute upscaled NTG.

Returns
  total net of all cells divided by total volume.

## upscalePorosity()

template<class Traits>

double Opm::UpscalerBase< Traits >::upscalePorosity | ( |  | ) | const

Compute upscaled porosity.

Returns
  total pore volume of all cells divided by total volume.

## upscaleSinglePhase()

template<class Traits>

UpscalerBase< Traits >::permtensor_t Opm::UpscalerBase< Traits >::upscaleSinglePhase | ( |  | ) |

inline

Does a single-phase upscaling.

Returns
  an upscaled permeability tensor.

## upscaleSOWCR()

template<class Traits>

double Opm::UpscalerBase< Traits >::upscaleSOWCR | ( | const bool | NTG | ) | const

Compute upscaled SOWCR.

Returns
  total irreducible oil volume divided by total pore volume

## upscaleSWCR()

template<class Traits>

double Opm::UpscalerBase< Traits >::upscaleSWCR | ( | const bool | NTG | ) | const

Compute upscaled SWCR.

Returns
  total irreducible water volume divided by total pore volume

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

- opm/upscaling/UpscalerBase.hpp
- opm/upscaling/UpscalerBase_impl.hpp