Specialization of the interaction volume-local assembler class for the schemes using an mpfa-o type assembly in the context of facet coupling. More...
#include <dumux/multidomain/facet/cellcentered/mpfa/localassembler.hh>
Specialization of the interaction volume-local assembler class for the schemes using an mpfa-o type assembly in the context of facet coupling.
P | The problem type |
EG | The element finite volume geometry |
EV | The element volume variables type |
Public Member Functions | |
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 |
Static Public Member Functions | |
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... | |
|
inlinestaticinherited |
Assembles the vector of face unknowns within an interaction volume.
handle | The data handle in which the vector is stored |
iv | The interaction volume |
|
inline |
Assembles the gravitational flux contributions on the scvfs within an interaction volume.
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...
|
inline |
Assembles the matrices involved in the flux expressions and the local system of equations within an interaction volume.
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. |
|
inlinestaticinherited |
Assembles the solution gradients in the sub-control volumes within an interaction volume.
handle | The data handle in which the vector is stored |
iv | The interaction volume |
|
inline |
Assembles the vector of primary (cell) unknowns and (maybe) Dirichlet boundary conditions within an interaction volume.
handle | The data handle in which the vector is stored |
iv | The interaction volume |
getU | Lambda to obtain the desired cell/Dirichlet value from vol vars |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlinestaticinherited |
resizes a matrix to the given sizes (specialization for dynamic matrix type)
|
inlinestaticinherited |
resizes a matrix to the given sizes (specialization for static matrix type - do nothing)
|
inlinestaticinherited |
resizes a vector to the given size (specialization for static vector type - do nothing)
|
inlinestaticinherited |
resizes a vector to the given size (specialization for dynamic matrix type)
|
inlinestaticinherited |
Solves a previously assembled iv-local system of equations and stores the resulting transmissibilities in the provided containers within the interaction volume data handle.
fvGeometry | The bound element finite volume geometry |
handle | The data handle in which the matrices are stored |
iv | The interaction volume |