Class for doing simple transport by explicit Euler upstream method for general grid.
More...
|
| | EulerUpstream () |
| |
| | EulerUpstream (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 () |
| |
| void | setCourantNumber (double cn) |
| | Set the Courant number.
|
| |
| 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 time, const typename GI::Vector &gravity, const PressureSolution &pressure_sol, const Opm::SparseVector< double > &injection_rates) const |
| |
|
template<class PressureSolution > |
| double | computeCflTime (const std::vector< double > &, const double, const typename GI::Vector &gravity, const PressureSolution &pressure_sol) const |
| |
|
template<class PressureSolution > |
| void | smallTimeStep (std::vector< double > &saturation, const double dt, const typename GI::Vector &gravity, const PressureSolution &pressure_sol, const Opm::SparseVector< double > &injection_rates) const |
| |
|
|
template<class PressureSolution > |
| double | computeCflTime (const std::vector< double > &saturation, const double time, const typename GridInterface::Vector &gravity, const PressureSolution &pressure_sol) const |
| |
|
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 |
| |
template<class GridInterface, class ReservoirProperties, class BoundaryConditions>
class Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >
Class for doing simple transport by explicit Euler upstream method for general grid.
- Template Parameters
-
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
template<class PressureSolution >
| void Opm::EulerUpstream< 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 |
Cfl type conditions may force many explicit timesteps to be taken, before the function returns.