Loading...
Searching...
No Matches
Opm::EulerUpstreamImplicit< GridInterface, ReservoirProperties, BoundaryConditions > Class Template Reference

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

`#include <EulerUpstreamImplicit.hpp>`

## Public Member Functions

| EulerUpstreamImplicit ()
| EulerUpstreamImplicit (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)
void | display ()
template<class PressureSolution>
bool | 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>
bool | transportSolve (std::vector< double > &saturation, const double time, const typename GI::Vector &, const PressureSolution &pressure_sol, const Opm::SparseVector< double > &) const

## Protected Types

typedef Opm::TwophaseFluidWrapper | TwophaseFluid
typedef Opm::SinglePointUpwindTwoPhase< TwophaseFluid > | TransportModel
typedef Dune::FieldVector< double, 1 > | ScalarVectorBlockType
typedef Dune::FieldMatrix< double, 1, 1 > | ScalarMatrixBlockType
typedef Dune::BlockVector< ScalarVectorBlockType > | ScalarBlockVector
typedef Dune::BCRSMatrix< ScalarMatrixBlockType > | ScalarBCRSMatrix
typedef Opm::ImplicitTransportDefault::NewtonVectorCollection< ScalarBlockVector > | NVecColl
typedef Opm::ImplicitTransportDefault::JacobianSystem< ScalarBCRSMatrix, NVecColl > | JacSys
typedef Opm::LinearSolverBICGSTAB | LinearSolver
typedef Opm::ImplicitTransport< TransportModel, JacSys, Opm::MaxNormDune, Opm::ImplicitTransportDefault::VectorNegater, Opm::ImplicitTransportDefault::VectorZero, Opm::ImplicitTransportDefault::MatrixZero, Opm::ImplicitTransportDefault::VectorAssign > | TransportSolver

## Protected Member Functions

template<class PressureSolution>
void | smallTimeStep (std::vector< double > &saturation, const double time, const typename GridInterface::Vector &gravity, const PressureSolution &pressure_sol, const Opm::SparseVector< double > &injection_rates) const
void | checkAndPossiblyClampSat (std::vector< double > &s) const

## Protected Attributes

GridAdapter | mygrid_
ReservoirProperties | myrp_
bool | check_sat_
bool | clamp_sat_
int | max_repeats_
std::vector< double > | porevol_
std::vector< int > | periodic_cells_
std::vector< int > | periodic_faces_
std::vector< int > | periodic_nbfaces_
std::vector< int > | periodic_hfaces_
std::vector< int > | direclet_cells_
std::vector< double > | direclet_sat_
std::vector< double > | direclet_hfaces_
std::vector< double > | htrans_
Opm::ImplicitTransportDetails::NRControl | ctrl_

## Detailed Description

template<class GridInterface, class ReservoirProperties, class BoundaryConditions>
class Opm::EulerUpstreamImplicit< GridInterface, ReservoirProperties, BoundaryConditions >

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

Template Parameters

## Constructor & Destructor Documentation

## EulerUpstreamImplicit() [1/2]

template<class GI, class RP, class BC>

Opm::EulerUpstreamImplicit< GI, RP, BC >::EulerUpstreamImplicit | ( |  | ) |

inline

Todo
  Doc me

## EulerUpstreamImplicit() [2/2]

template<class GridInterface, class ReservoirProperties, class BoundaryConditions>

Opm::EulerUpstreamImplicit< GridInterface, ReservoirProperties, BoundaryConditions >::EulerUpstreamImplicit | ( | const GridInterface & | grid,
|  | const ReservoirProperties & | resprop,
|  | const BoundaryConditions & | boundary )

Todo
  Doc me

Parameters

## Member Function Documentation

## display()

template<class GI, class RP, class BC>

void Opm::EulerUpstreamImplicit< GI, RP, BC >::display | ( |  | ) |

inline

Todo
  Doc me

Parameters

## init() [1/2]

template<class GI, class RP, class BC>

void Opm::EulerUpstreamImplicit< GI, RP, BC >::init | ( | const Opm::ParameterGroup & | param | ) |

inline

Todo
  Doc me

Parameters

## init() [2/2]

template<class GridInterface, class ReservoirProperties, class BoundaryConditions>

void Opm::EulerUpstreamImplicit< GridInterface, ReservoirProperties, BoundaryConditions >::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>

void Opm::EulerUpstreamImplicit< GI, RP, BC >::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 PressureSolution>

bool Opm::EulerUpstreamImplicit< GridInterface, ReservoirProperties, BoundaryConditions >::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

  saturation | the evolving saturation
  time | Time in seconds.
  gravity | Gravity
  pressure_sol | Pressure solution
  injection_rates | Injection ratees

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

- opm/porsol/euler/EulerUpstreamImplicit.hpp
- opm/porsol/euler/EulerUpstreamImplicit_impl.hpp