A base class for upscaling. More...
#include <UpscalerBase.hpp>
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 ¶m) |
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. More... | |
void | setPermeability (const int cell_index, const permtensor_t &k) |
Set the permeability of a cell directly. More... | |
permtensor_t | upscaleSinglePhase () |
Does a single-phase upscaling. More... | |
double | upscalePorosity () const |
Compute upscaled porosity. More... | |
double | upscaleNetPorosity () const |
Compute upscaled net porosity. More... | |
double | upscaleNTG () const |
Compute upscaled NTG. More... | |
double | upscaleSWCR (const bool NTG) const |
Compute upscaled SWCR. More... | |
double | upscaleSOWCR (const bool NTG) const |
Compute upscaled SOWCR. More... | |
template<class FluidInterface > | |
UpscalerBase< Traits > ::permtensor_t | upscaleEffectivePerm (const FluidInterface &fluid) |
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 ¶m) |
virtual void | initFinal (const Opm::ParameterGroup ¶m) |
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_ |
A base class for upscaling.
|
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.
|
inline |
Set the permeability of a cell directly.
This will override the permeability that was read from the eclipse file.
double Opm::UpscalerBase< Traits >::upscaleNetPorosity | ( | ) | const |
Compute upscaled net porosity.
double Opm::UpscalerBase< Traits >::upscaleNTG | ( | ) | const |
Compute upscaled NTG.
double Opm::UpscalerBase< Traits >::upscalePorosity | ( | ) | const |
Compute upscaled porosity.
|
inline |
Does a single-phase upscaling.
double Opm::UpscalerBase< Traits >::upscaleSOWCR | ( | const bool | NTG | ) | const |
Compute upscaled SOWCR.
double Opm::UpscalerBase< Traits >::upscaleSWCR | ( | const bool | NTG | ) | const |
Compute upscaled SWCR.