My Project
|
Public Types | |
enum | { dim = GridInterface::Dimension } |
The number of space dimensions. | |
typedef GridInterface::CellIterator | CellIter |
The iterator type for iterating over grid cells. | |
typedef CellIter::Scalar | Scalar |
The element type of the matrix representation of the mimetic inner product. | |
Public Member Functions | |
MimeticIPEvaluator () | |
Default constructor. | |
MimeticIPEvaluator (const int max_nf) | |
Constructor. | |
void | init (const int max_nf) |
Initialization routine. | |
template<class Vector > | |
void | reserveMatrices (const Vector &sz) |
Reserve internal space for storing values of (static) IP contributions for given set of cells. | |
void | buildStaticContrib (const CellIter &c, const RockInterface &r, const typename CellIter::Vector &grav, const int nf) |
Main evaluation routine. | |
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. | |
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. | |
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. | |
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. | |
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. | |
typedef CellIter::Scalar Opm::MimeticIPEvaluator< GridInterface, RockInterface >::Scalar |
The element type of the matrix representation of the mimetic inner product.
Assumed to be a floating point type, and usually,
is an alias for
.
|
inlineexplicit |
Constructor.
[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 ![]() ![]() |
|
inline |
Main evaluation routine.
Computes the inverse of the matrix representation of the mimetic inner product in a single cell with kown permeability
RockInterface | Type representing rock properties. Assumed to expose a method permeability(i)
i
operator()(int
i, int j)
K(i,j)
![]() ![]() |
[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. Definition MimeticIPEvaluator.hpp:200 |
[in] | nf | Number of faces (i.e., number of neighbours) of cell *c
|
|
inline |
Evaluate dynamic (saturation dependent) properties in single cell.
FluidInterface | Type representing fluid properties. Assumed to expose methods phaseDensities()
phaseMobilities()
|
Sat | Type representing single-cell saturation values. Typically, Sat
double
|
[in] | c | Cell for which to evaluate the dynamic properties. |
[in] | fl | Specific fluid properties. |
[in] | s | Vector of current fluid saturations. |
|
inline |
Main evaluation routine.
Computes the inverse of the matrix representation of the mimetic inner product in a single cell with permeability
PermTensor | Type representing the permeability tensor in a single cell. Assumed to expose a method operator()(int
i, int j)
K(i,j)
![]() ![]() |
SP | Type representing the FullMatrix<T,SP,OP>
|
[in] | c | Cell for which to evaluate the inverse of the mimetic inner product. |
[in] | K | Permeability tensor for cell *c
|
[out] | Binv | Inverse of matrix representation of the mimetic inner product for cell *c
*c
|
|
inline |
Retrieve the dynamic (mobility updated) inverse mimetic inner product matrix for specific cell.
SP | Type representing the FullMatrix<T,SP,OP>
|
[in] | c | Cell for which to evaluate the dynamic inverse mimetic inner product. |
[in] | s | Fluid saturations. |
[out] | Binv | Inverse of matrix representation of the mimetic inner product for cell *c
*c
|
|
inline |
Compute gravity flux for all faces of single cell.
Vector | Type representing a vector (or a linear std::array) for which (a constant time) operator[]
|
[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. |
|
inline |
Computes the mimetic discretization of the gravity term in Darcy's law.
Vector | Type representing a possibly run-time sized one-dimensional mathematical vector. |
[in] | c | Cell for which to evaluate the inverse of the mimetic inner product. |
[in] | grav | Gravity vector. |
[in] | omega | The value of ![]() *c
![]() ![]() ![]() |
[out] | gterm | Mimetic discretization of the Darcy law gravity term. One scalar value for each face of cell *c
|
|
inline |
Initialization routine.
[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 ![]() ![]() |
|
inline |
Reserve internal space for storing values of (static) IP contributions for given set of cells.
Vector | Vector type, often std::vector<int>
|
[in] | sz | Set of sizes. Assumed to contain ![]() sz[i]
i
|