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. More... | |
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 |
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 |