#include <EulerUpstream.hpp>
|
| | EulerUpstream () |
| |
| | EulerUpstream (const GridInterface &grid, const ReservoirProperties &resprop, const BoundaryConditions &boundary) |
| |
| void | init (const Opm::parameter::ParameterGroup ¶m) |
| |
| void | init (const Opm::parameter::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. That is dt = dt_cfl*courant_number. For this explicit method it should be < 1. More...
|
| |
| 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, evolving. More...
|
| |
| 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 |
| |
|
| typedef GridInterface::CellIterator | CIt |
| |
| typedef CIt::FaceIterator | FIt |
| |
| typedef FIt::Vector | Vector |
| |
|
| 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 >
| typedef GridInterface::CellIterator Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::CIt |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| typedef CIt::FaceIterator Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::FIt |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
template<class GI , class RP , class BC >
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::EulerUpstream |
( |
const GridInterface & |
grid, |
|
|
const ReservoirProperties & |
resprop, |
|
|
const BoundaryConditions & |
boundary |
|
) |
| |
template<class GI , class RP , class BC >
| void Opm::EulerUpstream< GI, RP, BC >::checkAndPossiblyClampSat |
( |
std::vector< double > & |
s | ) |
const |
|
inlineprotected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
template<class PressureSolution >
| double Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::computeCflTime |
( |
const std::vector< double > & |
saturation, |
|
|
const double |
time, |
|
|
const typename GridInterface::Vector & |
gravity, |
|
|
const PressureSolution & |
pressure_sol |
|
) |
| const |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
template<class PressureSolution >
| double Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::computeCflTime |
( |
const std::vector< double > & |
, |
|
|
const double |
, |
|
|
const typename GI::Vector & |
gravity, |
|
|
const PressureSolution & |
pressure_sol |
|
) |
| const |
|
inline |
template<class GI , class RP , class BC >
template<class GI , class RP , class BC >
| void Opm::EulerUpstream< GI, RP, BC >::init |
( |
const Opm::parameter::ParameterGroup & |
param | ) |
|
|
inline |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| void Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::init |
( |
const Opm::parameter::ParameterGroup & |
param, |
|
|
const GridInterface & |
grid, |
|
|
const ReservoirProperties & |
resprop, |
|
|
const BoundaryConditions & |
boundary |
|
) |
| |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| void Opm::EulerUpstream< GI, RP, BC >::initObj |
( |
const GridInterface & |
grid, |
|
|
const ReservoirProperties & |
resprop, |
|
|
const BoundaryConditions & |
boundary |
|
) |
| |
|
inline |
template<class GI , class RP , class BC >
Set the Courant number. That is dt = dt_cfl*courant_number. For this explicit method it should be < 1.
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
template<class PressureSolution >
| void Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::smallTimeStep |
( |
std::vector< double > & |
saturation, |
|
|
const double |
time, |
|
|
const typename GridInterface::Vector & |
gravity, |
|
|
const PressureSolution & |
pressure_sol, |
|
|
const Opm::SparseVector< double > & |
injection_rates |
|
) |
| const |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
template<class PressureSolution >
| void Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::smallTimeStep |
( |
std::vector< double > & |
saturation, |
|
|
const double |
dt, |
|
|
const typename GI::Vector & |
gravity, |
|
|
const PressureSolution & |
pressure_sol, |
|
|
const Opm::SparseVector< double > & |
injection_rates |
|
) |
| const |
|
inline |
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, evolving.
- Parameters
-
| saturation | for |
| time | seconds. Cfl type conditions may force many explicit timesteps to be taken, before the function returns. |
- 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 GI::Vector & |
gravity, |
|
|
const PressureSolution & |
pressure_sol, |
|
|
const Opm::SparseVector< double > & |
injection_rates |
|
) |
| const |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::check_sat_ |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::clamp_sat_ |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| double Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::courant_number_ |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| int Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::maximum_small_steps_ |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::method_capillary_ |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::method_gravity_ |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::method_viscous_ |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| int Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::minimum_small_steps_ |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| std::vector<double> Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::porevol_ |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| std::vector<double> Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::residual_ |
|
mutableprotected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::use_cfl_capillary_ |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::use_cfl_gravity_ |
|
protected |
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
| bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::use_cfl_viscous_ |
|
protected |
The documentation for this class was generated from the following files:
|