A model implementation for the transport equation in three-phase black oil. More...
#include <BlackoilReorderingTransportModel.hpp>
Classes | |
struct | CellState |
struct | State |
Public Types | |
typedef BlackoilModelBase < Grid, WellModel, BlackoilReorderingTransportModel < Grid, WellModel > > | Base |
typedef Base::ReservoirState | ReservoirState |
typedef Base::WellState | WellState |
typedef Base::SolutionState | SolutionState |
typedef Base::V | V |
Public Member Functions | |
BlackoilReorderingTransportModel (const typename Base::ModelParameters ¶m, const Grid &grid, const BlackoilPropsAdFromDeck &fluid, const DerivedGeology &geo, const RockCompressibility *rock_comp_props, const StandardWells &std_wells, const NewtonIterationBlackoilInterface &linsolver, std::shared_ptr< const EclipseState > eclState, const bool has_disgas, const bool has_vapoil, const bool terminal_output) | |
Construct the model. | |
tr_model_ (param, grid, fluid, geo, rock_comp_props, std_wells, linsolver, eclState, has_disgas, has_vapoil, terminal_output) | |
void | prepareStep (const SimulatorTimerInterface &timer, const ReservoirState &reservoir_state, const WellState &well_state) |
template<class NonlinearSolverType > | |
SimulatorReport | nonlinearIteration (const int iteration, const SimulatorTimerInterface &timer, NonlinearSolverType &nonlinear_solver, ReservoirState &reservoir_state, const WellState &well_state) |
void | afterStep (const SimulatorTimerInterface &, const ReservoirState &, const WellState &) |
Public Attributes | |
friend | Base |
Protected Member Functions | |
template<typename Scalar > | |
void | computeCellState (const int cell, const State &state, CellState< Scalar > &cstate) const |
void | extractFluxes (const ReservoirState &reservoir_state, const WellState &well_state) |
void | extractState (const ReservoirState &reservoir_state, const WellState &well_state) |
void | computeOrdering () |
void | solveComponents () |
void | solveSingleCell (const int cell) |
void | solveMultiCell (const int comp_size, const int *cell_array) |
template<typename Scalar > | |
Scalar | oilAccumulation (const CellState< Scalar > &cs) |
template<typename Scalar > | |
Scalar | gasAccumulation (const CellState< Scalar > &cs) |
void | applyThresholdPressure (const int connection, Eval &dp) |
void | assembleSingleCell (const int cell, Vec2 &res, Mat22 &jac) |
bool | getConvergence (const int cell, const Vec2 &res) |
void | updateState (const int cell, const Vec2 &dx) |
Protected Attributes | |
const detail::ConnectivityGraph | graph_ |
const BlackoilPropsAdFromDeck & | props_ |
State | state0_ |
State | state_ |
std::vector< CellState< double > > | cstate0_ |
std::vector< CellState< double > > | cstate_ |
V | total_flux_ |
V | total_wellperf_flux_ |
DataBlock | comp_wellperf_flux_ |
V | total_wellflux_cell_ |
V | oil_wellflux_cell_ |
V | gas_wellflux_cell_ |
std::vector< int > | sequence_ |
std::vector< int > | components_ |
V | trans_all_ |
V | gdz_ |
DataBlock | rhos_ |
std::array< double, 2 > | max_abs_dx_ |
std::array< int, 2 > | max_abs_dx_cell_ |
BlackoilTransportModel< Grid, WellModel > | tr_model_ |
A model implementation for the transport equation in three-phase black oil.
Opm::BlackoilReorderingTransportModel< Grid, WellModel >::BlackoilReorderingTransportModel | ( | const typename Base::ModelParameters & | param, | |
const Grid & | grid, | |||
const BlackoilPropsAdFromDeck & | fluid, | |||
const DerivedGeology & | geo, | |||
const RockCompressibility * | rock_comp_props, | |||
const StandardWells & | std_wells, | |||
const NewtonIterationBlackoilInterface & | linsolver, | |||
std::shared_ptr< const EclipseState > | eclState, | |||
const bool | has_disgas, | |||
const bool | has_vapoil, | |||
const bool | terminal_output | |||
) | [inline] |
Construct the model.
It will retain references to the arguments of this functions, and they are expected to remain in scope for the lifetime of the solver.
[in] | param | parameters |
[in] | grid | grid data structure |
[in] | fluid | fluid properties |
[in] | geo | rock properties |
[in] | rock_comp_props | if non-null, rock compressibility properties |
[in] | wells_arg | well structure |
[in] | linsolver | linear solver |
[in] | eclState | eclipse state |
[in] | has_disgas | turn on dissolved gas |
[in] | has_vapoil | turn on vaporized oil feature |
[in] | terminal_output | request output to cout/cerr |