Specialization of the interaction volume-local assembler class for the schemes using an mpfa-o type assembly in the context of facet coupling.
More...
template<class P, class EG, class EV>
class Dumux::MpfaOFacetCouplingInteractionVolumeAssembler< P, EG, EV >
Specialization of the interaction volume-local assembler class for the schemes using an mpfa-o type assembly in the context of facet coupling.
- Template Parameters
-
P | The problem type |
EG | The element finite volume geometry |
EV | The element volume variables type |
|
template<class DataHandle , class IV , class TensorFunc > |
void | assembleMatrices (DataHandle &handle, IV &iv, const TensorFunc &getT, Scalar< IV > wijZeroThresh=0.0) |
| Assembles the matrices involved in the flux expressions and the local system of equations within an interaction volume. More...
|
|
template<class DataHandle , class IV , class GetU > |
void | assembleU (DataHandle &handle, const IV &iv, const GetU &getU) |
| Assembles the vector of primary (cell) unknowns and (maybe) Dirichlet boundary conditions within an interaction volume. More...
|
|
template<class DataHandle , class IV , class GetRho > |
void | assembleGravity (DataHandle &handle, const IV &iv, const GetRho &getRho) |
| Assembles the gravitational flux contributions on the scvfs within an interaction volume. More...
|
|
const Problem & | problem () const |
|
const FVElementGeometry & | fvGeometry () const |
|
const ElementVolumeVariables & | elemVolVars () const |
|
|
template<class FVElementGeometry , class DataHandle , class IV > |
static void | solveLocalSystem (const FVElementGeometry &fvGeometry, DataHandle &handle, IV &iv) |
| Solves a previously assembled iv-local system of equations and stores the resulting transmissibilities in the provided containers within the interaction volume data handle. More...
|
|
template<class DataHandle , class IV > |
static IV::Traits::MatVecTraits::FaceVector | assembleFaceUnkowns (const DataHandle &handle, const IV &iv) |
| Assembles the vector of face unknowns within an interaction volume. More...
|
|
template<class DataHandle , class IV > |
static std::vector< typename IV::Traits::LocalScvType::GlobalCoordinate > | assembleScvGradients (const DataHandle &handle, const IV &iv) |
| Assembles the solution gradients in the sub-control volumes within an interaction volume. More...
|
|
template<class Matrix , class size_type , std::enable_if_t< matrixHasResizeFunction< Matrix >(), int > = 0> |
static void | resizeMatrix (Matrix &M, size_type rows, size_type cols) |
| resizes a matrix to the given sizes (specialization for dynamic matrix type) More...
|
|
template<class Matrix , class size_type , std::enable_if_t<!matrixHasResizeFunction< Matrix >(), int > = 0> |
static void | resizeMatrix (Matrix &M, size_type rows, size_type cols) |
| resizes a matrix to the given sizes (specialization for static matrix type - do nothing) More...
|
|
template<class Vector , class size_type , std::enable_if_t< vectorHasResizeFunction< Vector >(), int > = 0> |
static void | resizeVector (Vector &v, size_type size) |
| resizes a vector to the given size (specialization for dynamic matrix type) More...
|
|
template<class Vector , class size_type , std::enable_if_t<!vectorHasResizeFunction< Vector >(), int > = 0> |
static void | resizeVector (Vector &v, size_type rows) |
| resizes a vector to the given size (specialization for static vector type - do nothing) More...
|
|
template<class P , class EG , class EV >
template<class DataHandle , class IV , class GetRho >
Assembles the gravitational flux contributions on the scvfs within an interaction volume.
- Parameters
-
handle | The data handle in which the vector is stored |
iv | The interaction volume |
getRho | Lambda to obtain the density from volume variables |
For each face, we...
- arithmetically average the phase densities
- compute the term \( \alpha := \mathbf{A} \rho \ \mathbf{n}^T \mathbf{K} \mathbf{g} \) in each neighboring cell
- compute \( \alpha^* = \sum{\alpha_{outside, i}} - \alpha_{inside} \)
template<class P , class EG , class EV >
template<class DataHandle , class IV , class TensorFunc >
Assembles the matrices involved in the flux expressions and the local system of equations within an interaction volume.
- Parameters
-
handle | The data handle in which the matrices are stored |
iv | The interaction volume |
getT | Lambda to evaluate the scv-wise tensors |
wijZeroThresh | Threshold below which transmissibilities are taken to be zero. On the basis of this threshold, trivial (0 = 0) rows in the A matrix are identified and modified accordingly in order to avoid ending up with singular matrices. This can occur when the tensor is zero in some cells. |