#include <MimeticIPEvaluator.hpp>
|
enum | { dim = GridInterface::Dimension
} |
| The number of space dimensions. More...
|
|
typedef GridInterface::CellIterator | CellIter |
| The iterator type for iterating over grid cells. More...
|
|
typedef CellIter::Scalar | Scalar |
| The element type of the matrix representation of the mimetic inner product. Assumed to be a floating point type, and usually,. More...
|
|
|
| MimeticIPEvaluator () |
| Default constructor. More...
|
|
| MimeticIPEvaluator (const int max_nf) |
| Constructor. More...
|
|
void | init (const int max_nf) |
| Initialization routine. More...
|
|
template<class Vector > |
void | reserveMatrices (const Vector &sz) |
| Reserve internal space for storing values of (static) IP contributions for given set of cells. More...
|
|
void | buildStaticContrib (const CellIter &c, const RockInterface &r, const typename CellIter::Vector &grav, const int nf) |
| Main evaluation routine. Computes the inverse of the matrix representation of the mimetic inner product in a single cell with kown permeability . Adds a regularization term in order to guarantee a positive definite matrix. More...
|
|
template<class FluidInterface , class Sat > |
void | computeDynamicParams (const CellIter &c, const FluidInterface &fl, const std::vector< Sat > &s) |
| Evaluate dynamic (saturation dependent) properties in single cell. More...
|
|
template<template< typename > class SP> |
void | getInverseMatrix (const CellIter &c, FullMatrix< Scalar, SP, FortranOrdering > &Binv) const |
| Retrieve the dynamic (mobility updated) inverse mimetic inner product matrix for specific cell. More...
|
|
template<template< typename > class SP> |
void | getInverseMatrix (const CellIter &c, const Scalar totmob, FullMatrix< Scalar, SP, FortranOrdering > &Binv) const |
|
template<class PermTensor , template< typename > class SP> |
void | evaluate (const CellIter &c, const PermTensor &K, FullMatrix< Scalar, SP, FortranOrdering > &Binv) |
| Main evaluation routine. Computes the inverse of the matrix representation of the mimetic inner product in a single cell with permeability . Adds a regularization term in order to guarantee a positive definite matrix. More...
|
|
template<class Vector > |
void | gravityTerm (const CellIter &c, const typename CellIter::Vector &grav, const Scalar omega, Vector >erm) const |
| Computes the mimetic discretization of the gravity term in Darcy's law. More...
|
|
template<class Vector > |
void | gravityTerm (const CellIter &c, const typename CellIter::Vector &grav, Vector >erm) const |
|
template<class FluidInterface , class Sat , class Vector > |
void | gravityTerm (const CellIter &c, const FluidInterface &fl, const std::vector< Sat > &s, const typename CellIter::Vector &grav, Vector >erm) const |
|
template<class Vector > |
void | gravityFlux (const CellIter &c, Vector &gflux) const |
| Compute gravity flux for all faces of single cell. More...
|
|
◆ CellIter
template<class GridInterface , class RockInterface >
The iterator type for iterating over grid cells.
◆ Scalar
template<class GridInterface , class RockInterface >
The element type of the matrix representation of the mimetic inner product. Assumed to be a floating point type, and usually,.
CellIter::Scalar Scalar The element type of the matrix representation of the mimetic inner product. Assumed to be a floating ... Definition: MimeticIPEvaluator.hpp:99
is an alias for .
◆ anonymous enum
template<class GridInterface , class RockInterface >
The number of space dimensions.
◆ MimeticIPEvaluator() [1/2]
template<class GridInterface , class RockInterface >
◆ MimeticIPEvaluator() [2/2]
template<class GridInterface , class RockInterface >
Constructor.
- Parameters
-
[in] | max_nf | Maximum number of faces/connections of any single cell in the model. Used to set the size of certain internal working std::arrays. A cell with faces results in an inner product matrix of size . |
◆ buildStaticContrib()
template<class GridInterface , class RockInterface >
void Opm::MimeticIPEvaluator< GridInterface, RockInterface >::buildStaticContrib |
( |
const CellIter & |
c, |
|
|
const RockInterface & |
r, |
|
|
const typename CellIter::Vector & |
grav, |
|
|
const int |
nf |
|
) |
| |
|
inline |
Main evaluation routine. Computes the inverse of the matrix representation of the mimetic inner product in a single cell with kown permeability . Adds a regularization term in order to guarantee a positive definite matrix.
- Template Parameters
-
RockInterface | Type representing rock properties. Assumed to expose a method which retrieves the static permeability tensor of cell . The permeability tensor, $K$, is in turn, assumed to expose a method such that the call retrieves the 'th component of the cell permeability . |
- Parameters
-
[in] | c | Cell for which to evaluate the inverse of the mimetic inner product. |
[in] | r | Specific rock properties. Only the permeability is used in method
void buildStaticContrib(const CellIter &c, const RockInterface &r, const typename CellIter::Vector &grav, const int nf) Main evaluation routine. Computes the inverse of the matrix representation of the mimetic inner produ... Definition: MimeticIPEvaluator.hpp:201
. |
[in] | nf | Number of faces (i.e., number of neighbours) of cell . |
References Opm::MimeticIPEvaluator< GridInterface, RockInterface >::dim, Opm::matMulAdd_NN(), Opm::matMulAdd_NT(), Opm::orthogonalizeColumns(), Opm::prod(), Opm::symmetricUpdate(), Opm::trace(), and Opm::zero().
◆ computeDynamicParams()
template<class GridInterface , class RockInterface >
template<class FluidInterface , class Sat >
void Opm::MimeticIPEvaluator< GridInterface, RockInterface >::computeDynamicParams |
( |
const CellIter & |
c, |
|
|
const FluidInterface & |
fl, |
|
|
const std::vector< Sat > & |
s |
|
) |
| |
|
inline |
Evaluate dynamic (saturation dependent) properties in single cell.
- Template Parameters
-
FluidInterface | Type representing fluid properties. Assumed to expose methods and for retrieving the phase densities and phase mobilities, respectively. |
Sat | Type representing single-cell saturation values. Typically, is an alias for . |
- Parameters
-
[in] | c | Cell for which to evaluate the dynamic properties. |
[in] | fl | Specific fluid properties. |
[in] | s | Vector of current fluid saturations. |
◆ evaluate()
template<class GridInterface , class RockInterface >
template<class PermTensor , template< typename > class SP>
Main evaluation routine. Computes the inverse of the matrix representation of the mimetic inner product in a single cell with permeability . Adds a regularization term in order to guarantee a positive definite matrix.
- Template Parameters
-
PermTensor | Type representing the permeability tensor in a single cell. Assumed to expose a method such that the call retrieves the 'th component of the cell permeability . |
SP | Type representing the storage policy of the matrix into which the inverse inner product matrix entries will be stored. |
- Parameters
-
[in] | c | Cell for which to evaluate the inverse of the mimetic inner product. |
[in] | K | Permeability tensor for cell . |
[out] | Binv | Inverse of matrix representation of the mimetic inner product for cell . A square, full matrix with the number of rows equal to the number of faces in cell . |
References Opm::MimeticIPEvaluator< GridInterface, RockInterface >::dim, Opm::matMulAdd_NN(), Opm::matMulAdd_NT(), Opm::orthogonalizeColumns(), Opm::symmetricUpdate(), Opm::trace(), and Opm::zero().
◆ getInverseMatrix() [1/2]
template<class GridInterface , class RockInterface >
template<template< typename > class SP>
◆ getInverseMatrix() [2/2]
template<class GridInterface , class RockInterface >
template<template< typename > class SP>
◆ gravityFlux()
template<class GridInterface , class RockInterface >
template<class Vector >
Compute gravity flux for all faces of single cell.
- Template Parameters
-
Vector | Type representing a vector (or a linear std::array) for which (a constant time) is defined. |
- Parameters
-
[in] | c | Cell for which to evaluate the gravity flux. |
[out] | gflux | Gravity fluxes on all faces/intersections of cell c in the order of the face iterator of the cell. |
◆ gravityTerm() [1/3]
template<class GridInterface , class RockInterface >
template<class FluidInterface , class Sat , class Vector >
void Opm::MimeticIPEvaluator< GridInterface, RockInterface >::gravityTerm |
( |
const CellIter & |
c, |
|
|
const FluidInterface & |
fl, |
|
|
const std::vector< Sat > & |
s, |
|
|
const typename CellIter::Vector & |
grav, |
|
|
Vector & |
gterm |
|
) |
| const |
|
inline |
◆ gravityTerm() [2/3]
template<class GridInterface , class RockInterface >
template<class Vector >
◆ gravityTerm() [3/3]
template<class GridInterface , class RockInterface >
template<class Vector >
void Opm::MimeticIPEvaluator< GridInterface, RockInterface >::gravityTerm |
( |
const CellIter & |
c, |
|
|
const typename CellIter::Vector & |
grav, |
|
|
Vector & |
gterm |
|
) |
| const |
|
inline |
◆ init()
template<class GridInterface , class RockInterface >
Initialization routine.
- Parameters
-
[in] | max_nf | Maximum number of faces/connections of any single cell in the model. Used to set the size of certain internal working std::arrays. A cell with faces results in an inner product matrix of size . |
References Opm::MimeticIPEvaluator< GridInterface, RockInterface >::dim.
◆ reserveMatrices()
template<class GridInterface , class RockInterface >
template<class Vector >
Reserve internal space for storing values of (static) IP contributions for given set of cells.
- Template Parameters
-
Vector | Vector type, often , representing a set of sizes. |
- Parameters
-
[in] | sz | Set of sizes. Assumed to contain positive values, each representing the number of faces of a specific cell. In other words is the number of faces of cell . |
The documentation for this class was generated from the following file:
|