Defines the general interface of the local assembler classes for the assembly of the interaction volume-local transmissibility matrix. Specializations have to be provided for the available interaction volume implementations. these should derive from this base class.
More...
template<class P, class EG, class EV>
class Dumux::InteractionVolumeAssemblerBase< P, EG, EV >
- Template Parameters
-
P | The problem type |
EG | The element finite volume geometry |
EV | The element volume variables type |
|
| InteractionVolumeAssemblerBase (const Problem &problem, const FVElementGeometry &fvGeometry, const ElementVolumeVariables &elemVolVars) |
| The constructor. Sets pointers to the objects required for a subsequent call to assemble(). More...
|
|
const Problem & | problem () const |
|
const FVElementGeometry & | fvGeometry () const |
|
const ElementVolumeVariables & | elemVolVars () const |
|
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 mpfa 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...
|
|
|
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...
|
|