Opm::BlackoilMultiSegmentModel< Grid > Class Template Reference

A model implementation for three-phase black oil with support for multi-segment wells. More...

#include <BlackoilMultiSegmentModel.hpp>

Inheritance diagram for Opm::BlackoilMultiSegmentModel< Grid >:
Opm::BlackoilModelBase< Grid, MultisegmentWells, BlackoilMultiSegmentModel< Grid > >

List of all members.

Public Types

typedef BlackoilModelBase
< Grid, MultisegmentWells,
BlackoilMultiSegmentModel
< Grid > > 
Base
typedef Base::ReservoirState ReservoirState
typedef Base::WellState WellState
typedef
BlackoilMultiSegmentSolutionState 
SolutionState

Public Member Functions

 BlackoilMultiSegmentModel (const typename Base::ModelParameters &param, const Grid &grid, const BlackoilPropsAdFromDeck &fluid, const DerivedGeology &geo, const RockCompressibility *rock_comp_props, const MultisegmentWells &well_model, const NewtonIterationBlackoilInterface &linsolver, std::shared_ptr< const EclipseState > eclState, const bool has_disgas, const bool has_vapoil, const bool terminal_output)
 Construct the model.
void prepareStep (const SimulatorTimerInterface &timer, const ReservoirState &reservoir_state, const WellState &well_state)
 Called once before each time step.
SimulatorReport assemble (const ReservoirState &reservoir_state, WellState &well_state, const bool initial_assembly)
 Assemble the residual and Jacobian of the nonlinear system.

Public Attributes

friend Base

Protected Member Functions

const std::vector
< WellMultiSegmentConstPtr > & 
wellsMultiSegment () const
const
MultisegmentWells::MultisegmentWellOps
msWellOps () const
SimulatorReport solveWellEq (const std::vector< ADB > &mob_perfcells, const std::vector< ADB > &b_perfcells, const ReservoirState &reservoir_state, SolutionState &state, WellState &well_state)
void makeConstantState (SolutionState &state) const
void computeWellConnectionPressures (const SolutionState &state, const WellState &well_state)

Detailed Description

template<class Grid>
class Opm::BlackoilMultiSegmentModel< Grid >

A model implementation for three-phase black oil with support for multi-segment wells.

It uses automatic differentiation via the class AutoDiffBlock to simplify assembly of the jacobian matrix.

Template Parameters:
Grid UnstructuredGrid or CpGrid.
Implementation Provides concrete state types.

Constructor & Destructor Documentation

template<class Grid >
Opm::BlackoilMultiSegmentModel< Grid >::BlackoilMultiSegmentModel ( const typename Base::ModelParameters &  param,
const Grid &  grid,
const BlackoilPropsAdFromDeck fluid,
const DerivedGeology geo,
const RockCompressibility *  rock_comp_props,
const MultisegmentWells well_model,
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.

Parameters:
[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 well structure
[in] vfp_properties Vertical flow performance tables
[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
[in] wells_multisegment a vector of multisegment wells

Member Function Documentation

template<class Grid >
SimulatorReport Opm::BlackoilMultiSegmentModel< Grid >::assemble ( const ReservoirState &  reservoir_state,
WellState &  well_state,
const bool  initial_assembly 
) [inline]

Assemble the residual and Jacobian of the nonlinear system.

Parameters:
[in] reservoir_state reservoir state variables
[in,out] well_state well state variables
[in] initial_assembly pass true if this is the first call to assemble() in this timestep
template<class Grid >
void Opm::BlackoilMultiSegmentModel< Grid >::prepareStep ( const SimulatorTimerInterface timer,
const ReservoirState &  reservoir_state,
const WellState &  well_state 
) [inline]

Called once before each time step.

Parameters:
[in] timer simulation timer
[in,out] reservoir_state reservoir state variables
[in,out] well_state well state variables

The documentation for this class was generated from the following files:

Generated on 26 Mar 2018 by  doxygen 1.6.1