A class for doing steady state upscaling.
More...
#include <SteadyStateUpscaler.hpp>
|
| SteadyStateUpscaler () |
| Default constructor. More...
|
|
std::pair< permtensor_t,
permtensor_t > | upscaleSteadyState (const int flow_direction, const std::vector< double > &initial_saturation, const double boundary_saturation, const double pressure_drop, const permtensor_t &upscaled_perm) |
|
const std::vector< double > & | lastSaturationState () const |
|
double | lastSaturationUpscaled () const |
|
void | init (const Opm::parameter::ParameterGroup ¶m) |
| Initializes the upscaler from parameters. More...
|
|
void | init (Opm::DeckConstPtr 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) |
| Initializes the upscaler from given arguments. More...
|
|
const GridType & | grid () 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 |
|
|
template<class FlowSol > |
void | computeInOutFlows (std::pair< double, double > &water_inout, std::pair< double, double > &oil_inout, const FlowSol &flow_solution, const std::vector< double > &saturations) const |
|
virtual void | initImpl (const Opm::parameter::ParameterGroup ¶m) |
| Override from superclass. More...
|
|
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 | initFinal (const Opm::parameter::ParameterGroup ¶m) |
|
template<class Traits>
class Opm::SteadyStateUpscaler< Traits >
A class for doing steady state upscaling.
- Author
- Atgeirr F. Rasmussen atgei.nosp@m.rr@s.nosp@m.intef.nosp@m..no
Enumerator |
---|
Fixed |
|
Linear |
|
Periodic |
|
template<class Traits >
template<class FlowSol >
double Opm::UpscalerBase< Traits >::computeAverageVelocity |
( |
const FlowSol & |
flow_solution, |
|
|
const int |
flow_dir, |
|
|
const int |
pdrop_dir |
|
) |
| const |
|
protectedinherited |
template<class Traits >
template<class FlowSol >
void Opm::SteadyStateUpscaler< Traits >::computeInOutFlows |
( |
std::pair< double, double > & |
water_inout, |
|
|
std::pair< double, double > & |
oil_inout, |
|
|
const FlowSol & |
flow_solution, |
|
|
const std::vector< double > & |
saturations |
|
) |
| const |
|
protected |
template<class Traits >
void Opm::UpscalerBase< Traits >::init |
( |
const Opm::parameter::ParameterGroup & |
param | ) |
|
|
inlineinherited |
template<class Traits >
void Opm::UpscalerBase< Traits >::init |
( |
Opm::DeckConstPtr |
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 |
|
) |
| |
|
inlineinherited |
Initializes the upscaler from given arguments.
template<class Traits >
void Opm::UpscalerBase< Traits >::initFinal |
( |
const Opm::parameter::ParameterGroup & |
param | ) |
|
|
inlineprotectedvirtualinherited |
Accessor for the steady state saturation field. This is empty until upscaleSteadyState() is called, at which point it will contain the last computed (steady) saturation state.
Computes the upscaled saturation corresponding to the saturation field returned by lastSaturationState(). Does this by computing total saturated volume divided by total pore volume.
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.
Set the permeability of a cell directly. This will override the permeability that was read from the eclipse file.
template<class Traits >
template<class FluidInterface >
Compute upscaled net porosity. - Returns
- total pore volume (with NTG) of all cells divided by total volume.
Compute upscaled NTG. - Returns
- total net of all cells divided by total volume.
Compute upscaled porosity. - Returns
- total pore volume of all cells divided by total volume.
Does a single-phase upscaling. - Returns
- an upscaled permeability tensor.
Compute upscaled SOWCR. - Returns
- total irreducible oil volume divided by total pore volume
Does a steady-state upscaling. - Parameters
-
flow_direction | The cardinal direction in which to impose a pressure gradient for the purpose of converging to steady state. |
initial_saturation | the initial saturation profile for the steady-state computation. The vector must have size equal to the number of cells in the grid. |
boundary_saturation | the saturation of fluid flowing in across the boundary, only needed for nonperiodic upscaling. |
pressure_drop | the pressure drop in Pascal over the domain. |
upscaled_perm | typically the output of upscaleSinglePhase(). |
- Returns
- the upscaled relative permeability matrices of both phases. The relative permeability matrix, call it k, is such that if K_w is the phase permeability and K the absolute permeability, K_w = k*K.
Compute upscaled SWCR. - Returns
- total irreducible water volume divided by total pore volume
The documentation for this class was generated from the following files:
|