My Project
|
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 ¶m) |
void | init (const Opm::ParameterGroup ¶m, 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, evolving. | |
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 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_ |
Class for doing simple transport by implicit Euler upstream method for general grid.
|
inline |
Opm::EulerUpstreamImplicit< GridInterface, ReservoirProperties, BoundaryConditions >::EulerUpstreamImplicit | ( | const GridInterface & | grid, |
const ReservoirProperties & | resprop, | ||
const BoundaryConditions & | boundary | ||
) |
|
inline |
|
inline |
void Opm::EulerUpstreamImplicit< GridInterface, ReservoirProperties, BoundaryConditions >::init | ( | const Opm::ParameterGroup & | param, |
const GridInterface & | grid, | ||
const ReservoirProperties & | resprop, | ||
const BoundaryConditions & | boundary | ||
) |
|
inline |
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, evolving.
saturation | for |
time | seconds. |
param