All Classes Namespaces Files Functions Variables Typedefs Enumerator Pages
Opm::HelperOps Struct Reference

Contains vectors and sparse matrices that represent subsets or operations on (AD or regular) vectors of data. More...

#include <AutoDiffHelpers.hpp>

Public Types

typedef Eigen::SparseMatrix
< double > 
M
 
typedef AutoDiffBlock< double >::V V
 
typedef Eigen::Array< int,
Eigen::Dynamic, 1 > 
IFaces
 A list of internal faces.
 
typedef Eigen::Array< int,
Eigen::Dynamic,
2, Eigen::RowMajor > 
TwoColInt
 Non-neighboring connections.
 
typedef Eigen::Triplet< double > Tri
 

Public Member Functions

 extractInternalFaces (grid, internal_faces, nbi)
 
 if (has_nnc)
 
ngrad resize (num_connections, nc)
 
caver resize (num_connections, nc)
 
ngrad_tri reserve (2 *num_connections)
 
caver_tri reserve (2 *num_connections)
 
 for (int i=0;i< num_internal;++i)
 
 if (has_nnc)
 
ngrad setFromTriplets (ngrad_tri.begin(), ngrad_tri.end())
 
caver setFromTriplets (caver_tri.begin(), caver_tri.end())
 
fullngrad_tri reserve (2 *(nf+numNNC))
 
 for (int i=0;i< nf;++i)
 
 if (has_nnc)
 
fullngrad resize (nf+numNNC, nc)
 
fullngrad setFromTriplets (fullngrad_tri.begin(), fullngrad_tri.end())
 
 if (has_nnc)
 

Public Attributes

IFaces internal_faces
 
ngrad
 Extract for each internal face the difference of its adjacent cells' values (first - second).
 
grad
 Extract for each face the difference of its adjacent cells' values (second - first).
 
caver
 Extract for each face the average of its adjacent cells' values.
 
div
 Extract for each cell the sum of its adjacent interior faces' (signed) values.
 
fullngrad
 Extract for each face the difference of its adjacent cells' values (first - second). More...
 
fulldiv
 Extract for each cell the sum of all its adjacent faces' (signed) values.
 
TwoColInt nnc_cells
 
nnc_trans
 The NNC transmissibilities.
 
TwoColInt connection_cells
 The set of all connections' cells (face or nnc).
 
template<class Grid >
const int nc = numCells(grid)
 Constructs all helper vectors and matrices.
 
const int nf = numFaces(grid)
 
TwoColInt nbi
 
const int num_internal = internal_faces.size()
 
const bool has_nnc = nnc.hasNNC()
 
int numNNC = nnc.numNNC()
 
const int num_connections = num_internal + numNNC
 
std::vector< Tri > ngrad_tri
 
std::vector< Tri > caver_tri
 
 grad = -ngrad
 
 div = ngrad.transpose()
 
std::vector< Tri > fullngrad_tri
 
ADFaceCellTraits< Grid >::Type nb = faceCellsToEigen(grid)
 
 fulldiv = fullngrad.transpose()
 
 else
 

Detailed Description

Contains vectors and sparse matrices that represent subsets or operations on (AD or regular) vectors of data.

Member Data Documentation

Opm::HelperOps::else
Initial value:
M Opm::HelperOps::fullngrad

Extract for each face the difference of its adjacent cells' values (first - second).

For boundary faces, one of the entries per row (corresponding to the outside) is zero.


The documentation for this struct was generated from the following file: