opm-upscaling
Loading...
Searching...
No Matches
Opm::ImplicitCapillarity< GridInterface, ReservoirProperties, BoundaryConditions, InnerProd > Class Template Reference

Class for doing simple transport by explicit Euler upstream method for general grid. More...

#include <ImplicitCapillarity.hpp>

Public Types

typedef IncompFlowSolverHybrid< GridInterface, ReservoirProperties, BoundaryConditions, InnerProd > PressureSolver

Public Member Functions

 ImplicitCapillarity ()
 ImplicitCapillarity (const GridInterface &grid, const ReservoirProperties &resprop, const BoundaryConditions &boundary)
void init (const Opm::ParameterGroup &param)
void init (const Opm::ParameterGroup &param, const GridInterface &grid, const ReservoirProperties &resprop, const BoundaryConditions &boundary)
void initObj (const GridInterface &grid, const ReservoirProperties &resprop, const BoundaryConditions &boundary)
template<class PressureSolution>
void transportSolve (std::vector< double > &saturation, const double time, const typename GridInterface::Vector &gravity, const PressureSolution &pressure_sol, const Opm::SparseVector< double > &injection_rates) const
 Solve transport equation.
template<class PressureSolution>
void transportSolve (std::vector< double > &saturation, const double, const typename GI::Vector &gravity, const PressureSolution &pressure_sol, const Opm::SparseVector< double > &injection_rates) const

Protected Types

typedef GridInterface::CellIterator CIt
typedef CIt::FaceIterator FIt
typedef FIt::Vector Vector

Protected Member Functions

void checkAndPossiblyClampSat (std::vector< double > &s) const

Protected Attributes

PressureSolver psolver_
EulerUpstreamResidual< GridInterface, ReservoirProperties, BoundaryConditions > residual_
bool method_viscous_
bool method_gravity_
bool check_sat_
bool clamp_sat_
double residual_tolerance_
int linsolver_verbosity_
int linsolver_type_
double update_relaxation_

Detailed Description

template<class GridInterface, class ReservoirProperties, class BoundaryConditions, template< class, class > class InnerProd = MimeticIPEvaluator>
class Opm::ImplicitCapillarity< GridInterface, ReservoirProperties, BoundaryConditions, InnerProd >

Class for doing simple transport by explicit Euler upstream method for general grid.

Template Parameters

Constructor & Destructor Documentation

◆ ImplicitCapillarity() [1/2]

template<class GI, class RP, class BC, template< class, class > class IP>
Opm::ImplicitCapillarity< GI, RP, BC, IP >::ImplicitCapillarity ( )
inline
Todo
Doc me

◆ ImplicitCapillarity() [2/2]

template<class GridInterface, class ReservoirProperties, class BoundaryConditions, template< class, class > class InnerProd = MimeticIPEvaluator>
Opm::ImplicitCapillarity< GridInterface, ReservoirProperties, BoundaryConditions, InnerProd >::ImplicitCapillarity ( const GridInterface & grid,
const ReservoirProperties & resprop,
const BoundaryConditions & boundary )
Todo
Doc me
Parameters

Member Function Documentation

◆ init() [1/2]

template<class GI, class RP, class BC, template< class, class > class IP>
void Opm::ImplicitCapillarity< GI, RP, BC, IP >::init ( const Opm::ParameterGroup & param)
inline
Todo
Doc me
Parameters

◆ init() [2/2]

template<class GridInterface, class ReservoirProperties, class BoundaryConditions, template< class, class > class InnerProd = MimeticIPEvaluator>
void Opm::ImplicitCapillarity< GridInterface, ReservoirProperties, BoundaryConditions, InnerProd >::init ( const Opm::ParameterGroup & param,
const GridInterface & grid,
const ReservoirProperties & resprop,
const BoundaryConditions & boundary )
Todo
Doc me
Parameters

◆ initObj()

template<class GridInterface, class ReservoirProperties, class BoundaryConditions, template< class, class > class InnerProd = MimeticIPEvaluator>
void Opm::ImplicitCapillarity< GI, RP, BC, IP >::initObj ( const GridInterface & grid,
const ReservoirProperties & resprop,
const BoundaryConditions & boundary )
inline
Todo
Doc me
Parameters

◆ transportSolve()

template<class GridInterface, class ReservoirProperties, class BoundaryConditions, template< class, class > class InnerProd = MimeticIPEvaluator>
template<class PressureSolution>
void Opm::ImplicitCapillarity< GridInterface, ReservoirProperties, BoundaryConditions, InnerProd >::transportSolve ( std::vector< double > & saturation,
const double time,
const typename GridInterface::Vector & gravity,
const PressureSolution & pressure_sol,
const Opm::SparseVector< double > & injection_rates ) const

Solve transport equation.

Parameters
saturationthe evolving saturation
timeTime in seconds.
gravityGravity
pressure_solPressure solution
injection_ratesInjection ratees

Cfl type conditions may force many explicit timesteps to be taken, before the function returns.


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