A class for doing single phase (permeability) upscaling. More...

#include <SinglePhaseUpscaler.hpp>

Inheritance diagram for Opm::SinglePhaseUpscaler:
Inheritance graph

Public Types

enum  
 
enum  BoundaryConditionType
 
typedef Dune::CpGrid GridType
 
typedef GridInterfaceEuler< GridTypeGridInterface
 
typedef Traits::template ResProp< Dimension >::Type ResProp
 
typedef ResProp::MutablePermTensor permtensor_t
 A type for the upscaled permeability. More...
 

Public Member Functions

void init (const Opm::ParameterGroup &param)
 Initializes the upscaler from parameters. More...
 
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. More...
 
const GridTypegrid () const
 Access the grid. More...
 
void setBoundaryConditionType (BoundaryConditionType type)
 
void setPermeability (const int cell_index, const permtensor_t &k)
 
permtensor_t upscaleSinglePhase ()
 
double upscalePorosity () const
 
double upscaleNetPorosity () const
 
double upscaleNTG () const
 
double upscaleSWCR (const bool NTG) const
 
double upscaleSOWCR (const bool NTG) const
 

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

double computeAverageVelocity (const FlowSol &flow_solution, const int flow_dir, const int pdrop_dir) const
 
double computeDelta (const int flow_dir) const
 
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

A class for doing single phase (permeability) upscaling.

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

Member Typedef Documentation

◆ BCs

typedef BasicBoundaryConditions<true, true> Opm::UpscalerBase< UpscalingTraitsBasic >::BCs
protectedinherited

◆ CellIter

typedef GridInterface::CellIterator Opm::UpscalerBase< UpscalingTraitsBasic >::CellIter
protectedinherited

◆ FaceIter

typedef CellIter::FaceIterator Opm::UpscalerBase< UpscalingTraitsBasic >::FaceIter
protectedinherited

◆ FlowSolver

typedef Traits::template FlowSolver<GridInterface,BCs>::Type Opm::UpscalerBase< UpscalingTraitsBasic >::FlowSolver
protectedinherited

◆ GridInterface

typedef GridInterfaceEuler<GridType> Opm::UpscalerBase< UpscalingTraitsBasic >::GridInterface
inherited

◆ GridType

typedef Dune::CpGrid Opm::UpscalerBase< UpscalingTraitsBasic >::GridType
inherited

◆ permtensor_t

typedef ResProp::MutablePermTensor Opm::UpscalerBase< UpscalingTraitsBasic >::permtensor_t
inherited

A type for the upscaled permeability.

◆ ResProp

typedef Traits::template ResProp<Dimension>::Type Opm::UpscalerBase< UpscalingTraitsBasic >::ResProp
inherited

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
inherited

◆ BoundaryConditionType

Member Function Documentation

◆ computeAverageVelocity()

double Opm::UpscalerBase< UpscalingTraitsBasic >::computeAverageVelocity ( const FlowSol &  flow_solution,
const int  flow_dir,
const int  pdrop_dir 
) const
protectedinherited

◆ computeDelta()

double Opm::UpscalerBase< UpscalingTraitsBasic >::computeDelta ( const int  flow_dir) const
inlineprotectedinherited

◆ grid()

Access the grid.

◆ init() [1/2]

void Opm::UpscalerBase< UpscalingTraitsBasic >::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 
)
inlineinherited

Initializes the upscaler from given arguments.

◆ init() [2/2]

void Opm::UpscalerBase< UpscalingTraitsBasic >::init ( const Opm::ParameterGroup &  param)
inlineinherited

Initializes the upscaler from parameters.

◆ initFinal()

void Opm::UpscalerBase< UpscalingTraitsBasic >::initFinal ( const Opm::ParameterGroup &  param)
inlineprotectedvirtualinherited

◆ initImpl()

void Opm::UpscalerBase< UpscalingTraitsBasic >::initImpl ( const Opm::ParameterGroup &  param)
inlineprotectedvirtualinherited

◆ setBoundaryConditionType()

void Opm::UpscalerBase< UpscalingTraitsBasic >::setBoundaryConditionType ( BoundaryConditionType  type)
inlineinherited

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

void Opm::UpscalerBase< UpscalingTraitsBasic >::setPermeability ( const int  cell_index,
const permtensor_t k 
)
inlineinherited

Set the permeability of a cell directly. This will override the permeability that was read from the eclipse file.

◆ upscaleEffectivePerm()

UpscalerBase< UpscalingTraitsBasic >::permtensor_t Opm::UpscalerBase< UpscalingTraitsBasic >::upscaleEffectivePerm ( const FluidInterface &  fluid)
inlineprotectedinherited

◆ upscaleNetPorosity()

double Opm::UpscalerBase< UpscalingTraitsBasic >::upscaleNetPorosity
inherited

Compute upscaled net porosity.

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

◆ upscaleNTG()

double Opm::UpscalerBase< UpscalingTraitsBasic >::upscaleNTG
inherited

Compute upscaled NTG.

Returns
total net of all cells divided by total volume.

◆ upscalePorosity()

double Opm::UpscalerBase< UpscalingTraitsBasic >::upscalePorosity
inherited

Compute upscaled porosity.

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

◆ upscaleSinglePhase()

Does a single-phase upscaling.

Returns
an upscaled permeability tensor.

◆ upscaleSOWCR()

double Opm::UpscalerBase< UpscalingTraitsBasic >::upscaleSOWCR ( const bool  NTG) const
inherited

Compute upscaled SOWCR.

Returns
total irreducible oil volume divided by total pore volume

◆ upscaleSWCR()

double Opm::UpscalerBase< UpscalingTraitsBasic >::upscaleSWCR ( const bool  NTG) const
inherited

Compute upscaled SWCR.

Returns
total irreducible water volume divided by total pore volume

Member Data Documentation

◆ bcond_

BCs Opm::UpscalerBase< UpscalingTraitsBasic >::bcond_
protectedinherited

◆ bctype_

◆ flow_solver_

FlowSolver Opm::UpscalerBase< UpscalingTraitsBasic >::flow_solver_
protectedinherited

◆ ginterf_

GridInterface Opm::UpscalerBase< UpscalingTraitsBasic >::ginterf_
protectedinherited

◆ gravity_

double Opm::UpscalerBase< UpscalingTraitsBasic >::gravity_
protectedinherited

◆ grid_

GridType Opm::UpscalerBase< UpscalingTraitsBasic >::grid_
protectedinherited

◆ linsolver_maxit_

int Opm::UpscalerBase< UpscalingTraitsBasic >::linsolver_maxit_
protectedinherited

◆ linsolver_prolongate_factor_

double Opm::UpscalerBase< UpscalingTraitsBasic >::linsolver_prolongate_factor_
protectedinherited

◆ linsolver_smooth_steps_

int Opm::UpscalerBase< UpscalingTraitsBasic >::linsolver_smooth_steps_
protectedinherited

◆ linsolver_type_

int Opm::UpscalerBase< UpscalingTraitsBasic >::linsolver_type_
protectedinherited

◆ linsolver_verbosity_

int Opm::UpscalerBase< UpscalingTraitsBasic >::linsolver_verbosity_
protectedinherited

◆ res_prop_

ResProp Opm::UpscalerBase< UpscalingTraitsBasic >::res_prop_
protectedinherited

◆ residual_tolerance_

double Opm::UpscalerBase< UpscalingTraitsBasic >::residual_tolerance_
protectedinherited

◆ twodim_hack_

bool Opm::UpscalerBase< UpscalingTraitsBasic >::twodim_hack_
protectedinherited

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