#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
-
◆ CIt
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
typedef GridInterface::CellIterator Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::CIt |
|
protected |
◆ FIt
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
typedef CIt::FaceIterator Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::FIt |
|
protected |
◆ Vector
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
typedef FIt::Vector Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::Vector |
|
protected |
◆ EulerUpstream() [1/2]
template<class GI , class RP , class BC >
◆ EulerUpstream() [2/2]
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::EulerUpstream |
( |
const GridInterface & |
grid, |
|
|
const ReservoirProperties & |
resprop, |
|
|
const BoundaryConditions & |
boundary |
|
) |
| |
◆ checkAndPossiblyClampSat()
template<class GI , class RP , class BC >
void Opm::EulerUpstream< GI, RP, BC >::checkAndPossiblyClampSat |
( |
std::vector< double > & |
s | ) |
const |
|
inlineprotected |
◆ computeCflTime() [1/2]
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 |
◆ computeCflTime() [2/2]
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 |
◆ display()
template<class GI , class RP , class BC >
◆ init() [1/2]
template<class GI , class RP , class BC >
void Opm::EulerUpstream< GI, RP, BC >::init |
( |
const Opm::parameter::ParameterGroup & |
param | ) |
|
|
inline |
◆ init() [2/2]
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 |
|
) |
| |
◆ initObj()
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
void Opm::EulerUpstream< GI, RP, BC >::initObj |
( |
const GridInterface & |
grid, |
|
|
const ReservoirProperties & |
resprop, |
|
|
const BoundaryConditions & |
boundary |
|
) |
| |
|
inline |
◆ setCourantNumber()
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.
◆ smallTimeStep() [1/2]
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 |
◆ smallTimeStep() [2/2]
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 |
◆ transportSolve() [1/2]
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 |
◆ transportSolve() [2/2]
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
-
param
◆ check_sat_
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::check_sat_ |
|
protected |
◆ clamp_sat_
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::clamp_sat_ |
|
protected |
◆ courant_number_
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
double Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::courant_number_ |
|
protected |
◆ maximum_small_steps_
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
int Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::maximum_small_steps_ |
|
protected |
◆ method_capillary_
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::method_capillary_ |
|
protected |
◆ method_gravity_
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::method_gravity_ |
|
protected |
◆ method_viscous_
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::method_viscous_ |
|
protected |
◆ minimum_small_steps_
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
int Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::minimum_small_steps_ |
|
protected |
◆ porevol_
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
std::vector<double> Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::porevol_ |
|
protected |
◆ residual_
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
std::vector<double> Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::residual_ |
|
mutableprotected |
◆ residual_computer_
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
◆ use_cfl_capillary_
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::use_cfl_capillary_ |
|
protected |
◆ use_cfl_gravity_
template<class GridInterface , class ReservoirProperties , class BoundaryConditions >
bool Opm::EulerUpstream< GridInterface, ReservoirProperties, BoundaryConditions >::use_cfl_gravity_ |
|
protected |
◆ use_cfl_viscous_
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:
|