Opm Namespace Reference

Namespaces

 AutoDiffGrid
 
 detail
 
 parameter
 
 RateConverter
 
 SimFIBODetails
 

Classes

class  AdditionalObjectDeleter
 A custom deleter that will delete an additional object, too. More...
 
class  AutoDiff
 
class  AutoDiffBlock
 
class  AutoDiffMatrix
 
class  BlackoilMatlabWriter
 
class  BlackoilModel
 
class  BlackoilModelBase
 
struct  BlackoilModelParameters
 Solver parameters for the BlackoilModel. More...
 
class  BlackoilOutputWriter
 Wrapper class for VTK, Matlab, and ECL output. More...
 
class  BlackoilPropsAdFromDeck
 
class  BlackoilPropsAdInterface
 
class  BlackoilSolventModel
 
struct  BlackoilSolventSolutionState
 
class  BlackoilSolventState
 
class  BlackoilVTKWriter
 
struct  CPRParameter
 
class  CPRPreconditioner
 CPR preconditioner. More...
 
struct  DefaultBlackoilSolutionState
 Struct for containing iteration variables. More...
 
class  DerivedGeology
 
class  DuneMatrix
 
struct  HelperOps
 
class  ImpesTPFAAD
 
struct  LinearisedBlackoilResidual
 
struct  ModelTraits
 
struct  ModelTraits< BlackoilModel< Grid > >
 Providing types by template specialisation of ModelTraits for BlackoilModel. More...
 
struct  ModelTraits< BlackoilSolventModel< Grid > >
 Providing types by template specialisation of ModelTraits for BlackoilSolventModel. More...
 
class  NewtonIterationBlackoilCPR
 
class  NewtonIterationBlackoilInterface
 Interface class for (linear) solvers for the fully implicit black-oil system. More...
 
class  NewtonIterationBlackoilInterleaved
 
struct  NewtonIterationBlackoilInterleavedParameters
 This class carries all parameters for the NewtonIterationBlackoilInterleaved class. More...
 
class  NewtonIterationBlackoilSimple
 
class  NewtonSolver
 A Newton solver class suitable for general fully-implicit models. More...
 
class  ParallelDebugOutput
 
class  ParallelDebugOutputInterface
 
struct  QuickSort
 
struct  QuickSort< 0 >
 
class  Selector
 Selection. Choose first of two elements if selection basis element is nonnegative. More...
 
class  SimulatorBase
 Class collecting all necessary components for a two-phase simulation. More...
 
class  SimulatorFullyImplicitBlackoil
 a simulator for the blackoil model More...
 
class  SimulatorFullyImplicitBlackoilSolvent
 
class  SimulatorIncompTwophaseAd
 Class collecting all necessary components for a two-phase simulation. More...
 
struct  SimulatorTraits
 
struct  SimulatorTraits< SimulatorFullyImplicitBlackoil< GridT > >
 
struct  SimulatorTraits< SimulatorFullyImplicitBlackoilSolvent< GridT > >
 
class  SolventPropsAdFromDeck
 
class  Span
 
class  TransportSolverTwophaseAd
 
class  UpwindSelector
 
class  VFPInjProperties
 
class  VFPProdProperties
 
class  VFPProperties
 
class  WellDensitySegmented
 
class  WellStateFullyImplicitBlackoil
 
class  WellStateFullyImplicitBlackoilSolvent
 

Typedefs

typedef AutoDiffBlock< double > ADB
 
typedef ADB::V V
 
typedef ADB::M M
 
typedef Eigen::Array< double,
Eigen::Dynamic, Eigen::Dynamic,
Eigen::RowMajor > 
DataBlock
 

Enumerations

enum  Phases { Water = BlackoilPropsAdInterface::Water, Oil = BlackoilPropsAdInterface::Oil, Gas = BlackoilPropsAdInterface::Gas, MaxNumPhases = BlackoilPropsAdInterface::MaxNumPhases }
 
enum  PrimalVariables { Sg = 0, RS = 1, RV = 2 }
 
enum  CanonicalVariablePositions {
  Pressure = 0, Sw = 1, Xvar = 2, Qs = 3,
  Bhp = 4, Next
}
 

Functions

template<class Ostream , typename Scalar >
Ostream & operator<< (Ostream &os, const AutoDiff< Scalar > &fw)
 
template<typename Scalar >
AutoDiff< Scalar > operator+ (const AutoDiff< Scalar > &lhs, const AutoDiff< Scalar > &rhs)
 
template<typename Scalar , typename T >
AutoDiff< Scalar > operator+ (const T lhs, const AutoDiff< Scalar > &rhs)
 
template<typename Scalar , typename T >
AutoDiff< Scalar > operator+ (const AutoDiff< Scalar > &lhs, const T rhs)
 
template<typename Scalar >
AutoDiff< Scalar > operator- (const AutoDiff< Scalar > &lhs, const AutoDiff< Scalar > &rhs)
 
template<typename Scalar , typename T >
AutoDiff< Scalar > operator- (const T lhs, const AutoDiff< Scalar > &rhs)
 
template<typename Scalar , typename T >
AutoDiff< Scalar > operator- (const AutoDiff< Scalar > &lhs, const T rhs)
 
template<typename Scalar >
AutoDiff< Scalar > operator* (const AutoDiff< Scalar > &lhs, const AutoDiff< Scalar > &rhs)
 
template<typename Scalar , typename T >
AutoDiff< Scalar > operator* (const T lhs, const AutoDiff< Scalar > &rhs)
 
template<typename Scalar , typename T >
AutoDiff< Scalar > operator* (const AutoDiff< Scalar > &lhs, const T rhs)
 
template<typename Scalar >
AutoDiff< Scalar > operator/ (const AutoDiff< Scalar > &lhs, const AutoDiff< Scalar > &rhs)
 
template<typename Scalar , typename T >
AutoDiff< Scalar > operator/ (const T lhs, const AutoDiff< Scalar > &rhs)
 
template<typename Scalar , typename T >
AutoDiff< Scalar > operator/ (const AutoDiff< Scalar > &lhs, const T rhs)
 
template<typename Scalar >
AutoDiff< Scalar > cos (const AutoDiff< Scalar > &x)
 
template<typename Scalar >
AutoDiff< Scalar > sqrt (const AutoDiff< Scalar > &x)
 
template<class Ostream , typename Scalar >
Ostream & operator<< (Ostream &os, const AutoDiffBlock< Scalar > &fw)
 Stream output. More...
 
template<typename Scalar >
AutoDiffBlock< Scalar > operator* (const typename AutoDiffBlock< Scalar >::M &lhs, const AutoDiffBlock< Scalar > &rhs)
 Multiply with AutoDiffMatrix from the left. More...
 
template<typename Scalar >
AutoDiffBlock< Scalar > operator* (const Eigen::SparseMatrix< Scalar > &lhs, const AutoDiffBlock< Scalar > &rhs)
 Multiply with Eigen sparse matrix from the left. More...
 
template<typename Scalar >
AutoDiffBlock< Scalar > operator* (const typename AutoDiffBlock< Scalar >::V &lhs, const AutoDiffBlock< Scalar > &rhs)
 Elementwise multiplication with constant on the left. More...
 
template<typename Scalar >
AutoDiffBlock< Scalar > operator* (const AutoDiffBlock< Scalar > &lhs, const typename AutoDiffBlock< Scalar >::V &rhs)
 Elementwise multiplication with constant on the right. More...
 
template<typename Scalar >
AutoDiffBlock< Scalar > operator+ (const typename AutoDiffBlock< Scalar >::V &lhs, const AutoDiffBlock< Scalar > &rhs)
 Elementwise addition with constant on the left. More...
 
template<typename Scalar >
AutoDiffBlock< Scalar > operator+ (const AutoDiffBlock< Scalar > &lhs, const typename AutoDiffBlock< Scalar >::V &rhs)
 Elementwise addition with constant on the right. More...
 
template<typename Scalar >
AutoDiffBlock< Scalar > operator- (const typename AutoDiffBlock< Scalar >::V &lhs, const AutoDiffBlock< Scalar > &rhs)
 Elementwise subtraction with constant on the left. More...
 
template<typename Scalar >
AutoDiffBlock< Scalar > operator- (const AutoDiffBlock< Scalar > &lhs, const typename AutoDiffBlock< Scalar >::V &rhs)
 Elementwise subtraction with constant on the right. More...
 
template<typename Scalar >
AutoDiffBlock< Scalar > operator/ (const typename AutoDiffBlock< Scalar >::V &lhs, const AutoDiffBlock< Scalar > &rhs)
 Elementwise division with constant on the left. More...
 
template<typename Scalar >
AutoDiffBlock< Scalar > operator/ (const AutoDiffBlock< Scalar > &lhs, const typename AutoDiffBlock< Scalar >::V &rhs)
 Elementwise division with constant on the right. More...
 
template<typename Scalar >
AutoDiffBlock< Scalar > operator* (const AutoDiffBlock< Scalar > &lhs, const Scalar &rhs)
 Operator for multiplication with a scalar on the right-hand side. More...
 
template<typename Scalar >
AutoDiffBlock< Scalar > operator* (const Scalar &lhs, const AutoDiffBlock< Scalar > &rhs)
 Operator for multiplication with a scalar on the left-hand side. More...
 
template<typename Scalar , class IntVec >
Eigen::Array< Scalar,
Eigen::Dynamic, 1 > 
subset (const Eigen::Array< Scalar, Eigen::Dynamic, 1 > &x, const IntVec &indices)
 Returns x(indices). More...
 
template<typename Scalar , class IntVec >
AutoDiffBlock< Scalar > subset (const AutoDiffBlock< Scalar > &x, const IntVec &indices)
 Returns x(indices). More...
 
template<typename Scalar , class IntVec >
AutoDiffBlock< Scalar > superset (const AutoDiffBlock< Scalar > &x, const IntVec &indices, const int n)
 Returns v where v(indices) == x, v(!indices) == 0 and v.size() == n. More...
 
template<typename Scalar , class IntVec >
Eigen::Array< Scalar,
Eigen::Dynamic, 1 > 
superset (const Eigen::Array< Scalar, Eigen::Dynamic, 1 > &x, const IntVec &indices, const int n)
 Returns v where v(indices) == x, v(!indices) == 0 and v.size() == n. More...
 
Eigen::SparseMatrix< double > spdiag (const AutoDiffBlock< double >::V &d)
 
template<class Matrix >
void collapseJacs (const AutoDiffBlock< double > &x, Matrix &jacobian)
 Returns the input expression, but with all Jacobians collapsed to one. More...
 
AutoDiffBlock< double > collapseJacs (const AutoDiffBlock< double > &x)
 Returns the input expression, but with all Jacobians collapsed to one. More...
 
AutoDiffBlock< double > vertcat (const AutoDiffBlock< double > &x, const AutoDiffBlock< double > &y)
 Returns the vertical concatenation [ x; y ] of the inputs. More...
 
AutoDiffBlock< double > vertcatCollapseJacs (const std::vector< AutoDiffBlock< double > > &x)
 
Eigen::ArrayXd sign (const Eigen::ArrayXd &x)
 Return a vector of (-1.0, 0.0 or 1.0), depending on sign per element. More...
 
void fastSparseProduct (const AutoDiffMatrix &lhs, const AutoDiffMatrix &rhs, AutoDiffMatrix &res)
 
void fastSparseProduct (const Eigen::SparseMatrix< double > &lhs, const AutoDiffMatrix &rhs, AutoDiffMatrix &res)
 
AutoDiffMatrix operator* (const Eigen::SparseMatrix< double > &lhs, const AutoDiffMatrix &rhs)
 
std::ostream & operator<< (std::ostream &out, const SimulatorState &state)
 
std::istream & operator>> (std::istream &in, SimulatorState &state)
 
std::ostream & operator<< (std::ostream &out, const BlackoilState &state)
 
std::istream & operator>> (std::istream &in, BlackoilState &state)
 
std::ostream & operator<< (std::ostream &out, const WellState &state)
 
std::istream & operator>> (std::istream &in, WellState &state)
 
std::ostream & operator<< (std::ostream &out, const WellStateFullyImplicitBlackoil &state)
 
std::istream & operator>> (std::istream &in, WellStateFullyImplicitBlackoil &state)
 
template<class Grid >
void createGlobalCellArray (const Grid &grid, std::vector< int > &dest)
 Create a mapping from a global cell index of a grid to the logically Cartesian index of the ECL deck. More...
 
template<typename Lhs , typename Rhs , typename ResultType >
void fastSparseProduct (const Lhs &lhs, const Rhs &rhs, ResultType &res)
 
void fastDiagSparseProduct (const std::vector< double > &lhs, const Eigen::SparseMatrix< double > &rhs, Eigen::SparseMatrix< double > &res)
 
void fastSparseDiagProduct (const Eigen::SparseMatrix< double > &lhs, const std::vector< double > &rhs, Eigen::SparseMatrix< double > &res)
 
std::string moduleVersionName ()
 
std::string moduleVersionHash ()
 
std::string moduleVersion ()
 
std::vector< AutoDiffBlock
< double > > 
eliminateVariable (const std::vector< AutoDiffBlock< double > > &eqs, const int n)
 
AutoDiffBlock< double >::V recoverVariable (const AutoDiffBlock< double > &equation, const AutoDiffBlock< double >::V &partial_solution, const int n)
 
void formEllipticSystem (const int num_phases, const std::vector< AutoDiffBlock< double > > &eqs, Eigen::SparseMatrix< double, Eigen::RowMajor > &A, AutoDiffBlock< double >::V &b)
 
template<class Grid >
void distributeGridAndData (Grid &, EclipseStateConstPtr, BlackoilState &, BlackoilPropsAdFromDeck &, DerivedGeology &, boost::any &, const bool)
 
void outputStateVtk (const UnstructuredGrid &grid, const Opm::SimulatorState &state, const int step, const std::string &output_dir)
 
void outputStateMatlab (const UnstructuredGrid &grid, const Opm::SimulatorState &state, const int step, const std::string &output_dir)
 
void outputWellStateMatlab (const Opm::WellState &well_state, const int step, const std::string &output_dir)
 
template<class Grid >
void outputStateMatlab (const Grid &grid, const Opm::SimulatorState &state, const int step, const std::string &output_dir)
 

Detailed Description

This file contains a set of helper functions used by VFPProd / VFPInj.

Typedef Documentation

typedef AutoDiffBlock<double> Opm::ADB
typedef Eigen::Array<double, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor> Opm::DataBlock
typedef ADB::M Opm::M
typedef ADB::V Opm::V

Enumeration Type Documentation

Enumerator
Pressure 
Sw 
Xvar 
Qs 
Bhp 
Next 
Enumerator
Water 
Oil 
Gas 
MaxNumPhases 
Enumerator
Sg 
RS 
RV 

Function Documentation

template<class Matrix >
void Opm::collapseJacs ( const AutoDiffBlock< double > &  x,
Matrix &  jacobian 
)
inline

Returns the input expression, but with all Jacobians collapsed to one.

References Opm::AutoDiffBlock< Scalar >::derivative(), Opm::AutoDiffBlock< Scalar >::numBlocks(), Opm::AutoDiffBlock< Scalar >::size(), and Opm::AutoDiffMatrix::toSparse().

Referenced by collapseJacs().

AutoDiffBlock<double> Opm::collapseJacs ( const AutoDiffBlock< double > &  x)
inline

Returns the input expression, but with all Jacobians collapsed to one.

References collapseJacs(), Opm::AutoDiffBlock< double >::function(), and Opm::AutoDiffBlock< Scalar >::value().

template<typename Scalar >
AutoDiff<Scalar> Opm::cos ( const AutoDiff< Scalar > &  x)
template<class Grid >
void Opm::createGlobalCellArray ( const Grid &  grid,
std::vector< int > &  dest 
)

Create a mapping from a global cell index of a grid to the logically Cartesian index of the ECL deck.

template<class Grid >
void Opm::distributeGridAndData ( Grid &  ,
EclipseStateConstPtr  ,
BlackoilState &  ,
BlackoilPropsAdFromDeck &  ,
DerivedGeology &  ,
boost::any &  ,
const bool   
)
inline
std::vector< AutoDiffBlock<double> > Opm::eliminateVariable ( const std::vector< AutoDiffBlock< double > > &  eqs,
const int  n 
)

Eliminate a variable via Schur complement.

Parameters
[in]eqsset of equations with Jacobians
[in]nindex of equation/variable to eliminate.
Returns
new set of equations, one smaller than eqs. Note: this method requires the eliminated variable to have the same size as the equation in the corresponding position (that also will be eliminated).
void Opm::fastDiagSparseProduct ( const std::vector< double > &  lhs,
const Eigen::SparseMatrix< double > &  rhs,
Eigen::SparseMatrix< double > &  res 
)
inline
void Opm::fastSparseDiagProduct ( const Eigen::SparseMatrix< double > &  lhs,
const std::vector< double > &  rhs,
Eigen::SparseMatrix< double > &  res 
)
inline
template<typename Lhs , typename Rhs , typename ResultType >
void Opm::fastSparseProduct ( const Lhs &  lhs,
const Rhs &  rhs,
ResultType &  res 
)
void Opm::fastSparseProduct ( const AutoDiffMatrix &  lhs,
const AutoDiffMatrix &  rhs,
AutoDiffMatrix &  res 
)
inline
void Opm::fastSparseProduct ( const Eigen::SparseMatrix< double > &  lhs,
const AutoDiffMatrix &  rhs,
AutoDiffMatrix &  res 
)
inline

Utility function to lessen code changes required elsewhere.

void Opm::formEllipticSystem ( const int  num_phases,
const std::vector< AutoDiffBlock< double > > &  eqs,
Eigen::SparseMatrix< double, Eigen::RowMajor > &  A,
AutoDiffBlock< double >::V &  b 
)

Form an elliptic system of equations.

Parameters
[in]num_phasesthe number of fluid phases
[in]eqsthe equations
[out]Athe resulting full system matrix
[out]bthe right hand side This function will deal with the first num_phases equations in eqs, and return a matrix A for the full system that has a elliptic upper left corner, if possible.
std::string Opm::moduleVersion ( )

Return a string containing both the name and hash, if N is the name and H is the hash it will be "N (H)". For example "2016.04-pre (f15be17)" or "2016.04-pre (debug)".

std::string Opm::moduleVersionHash ( )

Return a (short) git hash for the current version of the module if this is a Release build (as defined by CMake), or "debug" for Debug builds.

std::string Opm::moduleVersionName ( )

Return the version name of the module, for example "2015.10" (for a release branch) or "2016.04-pre" (for a master branch).

template<typename Scalar >
AutoDiff<Scalar> Opm::operator* ( const AutoDiff< Scalar > &  lhs,
const AutoDiff< Scalar > &  rhs 
)
template<typename Scalar , typename T >
AutoDiff<Scalar> Opm::operator* ( const T  lhs,
const AutoDiff< Scalar > &  rhs 
)
template<typename Scalar , typename T >
AutoDiff<Scalar> Opm::operator* ( const AutoDiff< Scalar > &  lhs,
const T  rhs 
)
template<typename Scalar >
AutoDiffBlock<Scalar> Opm::operator* ( const typename AutoDiffBlock< Scalar >::M &  lhs,
const AutoDiffBlock< Scalar > &  rhs 
)
template<typename Scalar >
AutoDiffBlock<Scalar> Opm::operator* ( const Eigen::SparseMatrix< Scalar > &  lhs,
const AutoDiffBlock< Scalar > &  rhs 
)
template<typename Scalar >
AutoDiffBlock<Scalar> Opm::operator* ( const typename AutoDiffBlock< Scalar >::V &  lhs,
const AutoDiffBlock< Scalar > &  rhs 
)

Elementwise multiplication with constant on the left.

References Opm::AutoDiffBlock< Scalar >::blockPattern(), and Opm::AutoDiffBlock< Scalar >::constant().

template<typename Scalar >
AutoDiffBlock<Scalar> Opm::operator* ( const AutoDiffBlock< Scalar > &  lhs,
const typename AutoDiffBlock< Scalar >::V &  rhs 
)

Elementwise multiplication with constant on the right.

template<typename Scalar >
AutoDiffBlock<Scalar> Opm::operator* ( const AutoDiffBlock< Scalar > &  lhs,
const Scalar &  rhs 
)

Operator for multiplication with a scalar on the right-hand side.

Parameters
lhsThe left-hand side AD forward block
rhsThe scalar to multiply with
Returns
The product

References Opm::AutoDiffBlock< Scalar >::derivative(), Opm::AutoDiffBlock< Scalar >::function(), Opm::AutoDiffBlock< Scalar >::numBlocks(), and Opm::AutoDiffBlock< Scalar >::value().

template<typename Scalar >
AutoDiffBlock<Scalar> Opm::operator* ( const Scalar &  lhs,
const AutoDiffBlock< Scalar > &  rhs 
)

Operator for multiplication with a scalar on the left-hand side.

Parameters
lhsThe scalar to multiply with
rhsThe right-hand side AD forward block
Returns
The product
AutoDiffMatrix Opm::operator* ( const Eigen::SparseMatrix< double > &  lhs,
const AutoDiffMatrix &  rhs 
)
inline

Multiplies an Eigen sparse matrix with an AutoDiffMatrix.

References fastSparseProduct().

template<typename Scalar >
AutoDiff<Scalar> Opm::operator+ ( const AutoDiff< Scalar > &  lhs,
const AutoDiff< Scalar > &  rhs 
)
template<typename Scalar , typename T >
AutoDiff<Scalar> Opm::operator+ ( const T  lhs,
const AutoDiff< Scalar > &  rhs 
)
template<typename Scalar , typename T >
AutoDiff<Scalar> Opm::operator+ ( const AutoDiff< Scalar > &  lhs,
const T  rhs 
)
template<typename Scalar >
AutoDiffBlock<Scalar> Opm::operator+ ( const typename AutoDiffBlock< Scalar >::V &  lhs,
const AutoDiffBlock< Scalar > &  rhs 
)

Elementwise addition with constant on the left.

References Opm::AutoDiffBlock< Scalar >::blockPattern(), and Opm::AutoDiffBlock< Scalar >::constant().

template<typename Scalar >
AutoDiffBlock<Scalar> Opm::operator+ ( const AutoDiffBlock< Scalar > &  lhs,
const typename AutoDiffBlock< Scalar >::V &  rhs 
)

Elementwise addition with constant on the right.

template<typename Scalar >
AutoDiff<Scalar> Opm::operator- ( const AutoDiff< Scalar > &  lhs,
const AutoDiff< Scalar > &  rhs 
)
template<typename Scalar , typename T >
AutoDiff<Scalar> Opm::operator- ( const T  lhs,
const AutoDiff< Scalar > &  rhs 
)
template<typename Scalar , typename T >
AutoDiff<Scalar> Opm::operator- ( const AutoDiff< Scalar > &  lhs,
const T  rhs 
)
template<typename Scalar >
AutoDiffBlock<Scalar> Opm::operator- ( const typename AutoDiffBlock< Scalar >::V &  lhs,
const AutoDiffBlock< Scalar > &  rhs 
)

Elementwise subtraction with constant on the left.

References Opm::AutoDiffBlock< Scalar >::blockPattern(), and Opm::AutoDiffBlock< Scalar >::constant().

template<typename Scalar >
AutoDiffBlock<Scalar> Opm::operator- ( const AutoDiffBlock< Scalar > &  lhs,
const typename AutoDiffBlock< Scalar >::V &  rhs 
)

Elementwise subtraction with constant on the right.

References Opm::AutoDiffBlock< Scalar >::blockPattern(), and Opm::AutoDiffBlock< Scalar >::constant().

template<typename Scalar >
AutoDiff<Scalar> Opm::operator/ ( const AutoDiff< Scalar > &  lhs,
const AutoDiff< Scalar > &  rhs 
)
template<typename Scalar , typename T >
AutoDiff<Scalar> Opm::operator/ ( const T  lhs,
const AutoDiff< Scalar > &  rhs 
)
template<typename Scalar , typename T >
AutoDiff<Scalar> Opm::operator/ ( const AutoDiff< Scalar > &  lhs,
const T  rhs 
)
template<typename Scalar >
AutoDiffBlock<Scalar> Opm::operator/ ( const typename AutoDiffBlock< Scalar >::V &  lhs,
const AutoDiffBlock< Scalar > &  rhs 
)

Elementwise division with constant on the left.

References Opm::AutoDiffBlock< Scalar >::blockPattern(), and Opm::AutoDiffBlock< Scalar >::constant().

template<typename Scalar >
AutoDiffBlock<Scalar> Opm::operator/ ( const AutoDiffBlock< Scalar > &  lhs,
const typename AutoDiffBlock< Scalar >::V &  rhs 
)

Elementwise division with constant on the right.

References Opm::AutoDiffBlock< Scalar >::blockPattern(), and Opm::AutoDiffBlock< Scalar >::constant().

template<class Ostream , typename Scalar >
Ostream& Opm::operator<< ( Ostream &  os,
const AutoDiff< Scalar > &  fw 
)
std::ostream& Opm::operator<< ( std::ostream &  out,
const SimulatorState &  state 
)
inline
std::ostream& Opm::operator<< ( std::ostream &  out,
const BlackoilState &  state 
)
inline
std::ostream& Opm::operator<< ( std::ostream &  out,
const WellState &  state 
)
inline
std::ostream& Opm::operator<< ( std::ostream &  out,
const WellStateFullyImplicitBlackoil &  state 
)
inline
template<class Ostream , typename Scalar >
Ostream& Opm::operator<< ( Ostream &  os,
const AutoDiffBlock< Scalar > &  fw 
)

Stream output.

std::istream& Opm::operator>> ( std::istream &  in,
SimulatorState &  state 
)
inline
std::istream& Opm::operator>> ( std::istream &  in,
BlackoilState &  state 
)
inline
std::istream& Opm::operator>> ( std::istream &  in,
WellState &  state 
)
inline
std::istream& Opm::operator>> ( std::istream &  in,
WellStateFullyImplicitBlackoil &  state 
)
inline
void Opm::outputStateMatlab ( const UnstructuredGrid &  grid,
const Opm::SimulatorState &  state,
const int  step,
const std::string &  output_dir 
)
template<class Grid >
void Opm::outputStateMatlab ( const Grid &  grid,
const Opm::SimulatorState &  state,
const int  step,
const std::string &  output_dir 
)
void Opm::outputStateVtk ( const UnstructuredGrid &  grid,
const Opm::SimulatorState &  state,
const int  step,
const std::string &  output_dir 
)
void Opm::outputWellStateMatlab ( const Opm::WellState &  well_state,
const int  step,
const std::string &  output_dir 
)
AutoDiffBlock<double>::V Opm::recoverVariable ( const AutoDiffBlock< double > &  equation,
const AutoDiffBlock< double >::V &  partial_solution,
const int  n 
)

Recover that value of a variable previously eliminated.

Parameters
[in]equationpreviously eliminated equation.
[in]partial_solutionsolution to the remainder system after elimination.
[in]nindex of equation/variable that was eliminated.
Returns
solution to complete system.
Eigen::ArrayXd Opm::sign ( const Eigen::ArrayXd &  x)
inline
Eigen::SparseMatrix<double> Opm::spdiag ( const AutoDiffBlock< double >::V &  d)
inline

Construct square sparse matrix with the elements of d on the diagonal. Need to mark this as inline since it is defined in a header and not a template.

References Opm::AutoDiffBlock< Scalar >::size().

template<typename Scalar , class IntVec >
AutoDiffBlock<Scalar> Opm::subset ( const AutoDiffBlock< Scalar > &  x,
const IntVec &  indices 
)

Returns x(indices).

References Opm::AutoDiffBlock< Scalar >::value().

template<typename Scalar , class IntVec >
Eigen::Array<Scalar, Eigen::Dynamic, 1> Opm::superset ( const Eigen::Array< Scalar, Eigen::Dynamic, 1 > &  x,
const IntVec &  indices,
const int  n 
)

Returns v where v(indices) == x, v(!indices) == 0 and v.size() == n.

AutoDiffBlock<double> Opm::vertcat ( const AutoDiffBlock< double > &  x,
const AutoDiffBlock< double > &  y 
)
inline

Returns the vertical concatenation [ x; y ] of the inputs.

References Opm::AutoDiffBlock< Scalar >::size(), and superset().

AutoDiffBlock<double> Opm::vertcatCollapseJacs ( const std::vector< AutoDiffBlock< double > > &  x)
inline

Returns the vertical concatenation [ x[0]; x[1]; ...; x[n-1] ] of the inputs. This function also collapses the Jacobian matrices into one like collapsJacs().

References Opm::AutoDiffMatrix::cols(), Opm::AutoDiffBlock< double >::constant(), Opm::AutoDiffBlock< double >::function(), and Opm::AutoDiffBlock< double >::null().

Referenced by Opm::BlackoilModelBase< Grid, Implementation >::solveWellEq().