3.1-git
DUNE for Multi-{Phase, Component, Scale, Physics, ...} flow and transport in porous media
Public Member Functions | Protected Attributes | List of all members
Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 > Class Template Reference

Common base class to all handles. Stores arrays of the matrices involved in the interaction volume-local systems of equations. Apart from the transmissibility matrix we store those matrices that are needed e.g. for later face pressure reconstruction. The fluxes as well as the local systems of equations can be expressed as functions of the intermediate unknown face face values \(\bar{\mathbf{u}}\) and the known cell/Dirichlet values \(\mathbf{u}\) using the matrices \(\mathbf{A}\), \(\mathbf{B}\), \(\mathbf{C}\), \(\mathbf{D}\) and the vector of Neumann fluxes \(\mathbf{N}\) as follows: More...

#include <dumux/discretization/cellcentered/mpfa/interactionvolumedatahandle.hh>

Inheritance diagram for Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >:
Inheritance graph

Description

template<class MVT, int size1, int size2>
class Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >

Common base class to all handles. Stores arrays of the matrices involved in the interaction volume-local systems of equations. Apart from the transmissibility matrix we store those matrices that are needed e.g. for later face pressure reconstruction. The fluxes as well as the local systems of equations can be expressed as functions of the intermediate unknown face face values \(\bar{\mathbf{u}}\) and the known cell/Dirichlet values \(\mathbf{u}\) using the matrices \(\mathbf{A}\), \(\mathbf{B}\), \(\mathbf{C}\), \(\mathbf{D}\) and the vector of Neumann fluxes \(\mathbf{N}\) as follows:

Fluxes: \(\mathbf{f} = \mathbf{C}\bar{\mathbf{u}} + \mathbf{D}\mathbf{u}\) Local eq system: \(\mathbf{A}\bar{\mathbf{u}} = \mathbf{B}\mathbf{u} + \mathbf{N}\)

Template Parameters
MVTThe matrix/vector traits collecting type information used by the iv
size1first size specifier for the arrays
size2second size specifier for the arrays

Public Member Functions

const CMatrix & CA () const
 Access functions to context-dependent data. More...
 
CMatrix & CA ()
 
const AMatrix & A () const
 
AMatrix & A ()
 
const BMatrix & AB () const
 
BMatrix & AB ()
 
const TMatrix & T () const
 
TMatrix & T ()
 
const OutsideTij & tijOutside () const
 
OutsideTij & tijOutside ()
 
const OmegaStorage & omegas () const
 
OmegaStorage & omegas ()
 
void setContextIndex1 (unsigned int idx) const
 functionality to set the context indices More...
 
void setContextIndex2 (unsigned int idx) const
 

Protected Attributes

unsigned int contextIdx1_ {0}
 indices to be set before accessing data More...
 
unsigned int contextIdx2_ {0}
 
std::array< std::array< OmegaStorage, size2 >, size1 > wijk_
 The omega factors that form the entries of the matrices. More...
 
std::array< std::array< TMatrix, size2 >, size1 > T_
 The transmissibility matrix. More...
 
std::array< std::array< AMatrix, size2 >, size1 > A_
 Inverse of the iv-local system matrix. More...
 
std::array< std::array< BMatrix, size2 >, size1 > AB_
 A_ left multiplied to B. More...
 
std::array< std::array< CMatrix, size2 >, size1 > CA_
 A_ right multiplied to C. More...
 
std::array< std::array< OutsideTij, size2 >, size1 > tijOutside_
 The transmissibilities for "outside" faces (on surface grids) More...
 

Member Function Documentation

◆ A() [1/2]

template<class MVT , int size1, int size2>
AMatrix & Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::A ( )
inline

◆ A() [2/2]

template<class MVT , int size1, int size2>
const AMatrix & Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::A ( ) const
inline

◆ AB() [1/2]

template<class MVT , int size1, int size2>
BMatrix & Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::AB ( )
inline

◆ AB() [2/2]

template<class MVT , int size1, int size2>
const BMatrix & Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::AB ( ) const
inline

◆ CA() [1/2]

template<class MVT , int size1, int size2>
CMatrix & Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::CA ( )
inline

◆ CA() [2/2]

template<class MVT , int size1, int size2>
const CMatrix & Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::CA ( ) const
inline

Access functions to context-dependent data.

◆ omegas() [1/2]

template<class MVT , int size1, int size2>
OmegaStorage & Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::omegas ( )
inline

◆ omegas() [2/2]

template<class MVT , int size1, int size2>
const OmegaStorage & Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::omegas ( ) const
inline

◆ setContextIndex1()

template<class MVT , int size1, int size2>
void Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::setContextIndex1 ( unsigned int  idx) const
inline

functionality to set the context indices

◆ setContextIndex2()

template<class MVT , int size1, int size2>
void Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::setContextIndex2 ( unsigned int  idx) const
inline

◆ T() [1/2]

template<class MVT , int size1, int size2>
TMatrix & Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::T ( )
inline

◆ T() [2/2]

template<class MVT , int size1, int size2>
const TMatrix & Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::T ( ) const
inline

◆ tijOutside() [1/2]

template<class MVT , int size1, int size2>
OutsideTij & Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::tijOutside ( )
inline

◆ tijOutside() [2/2]

template<class MVT , int size1, int size2>
const OutsideTij & Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::tijOutside ( ) const
inline

Member Data Documentation

◆ A_

template<class MVT , int size1, int size2>
std::array< std::array<AMatrix, size2>, size1 > Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::A_
protected

Inverse of the iv-local system matrix.

◆ AB_

template<class MVT , int size1, int size2>
std::array< std::array<BMatrix, size2>, size1 > Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::AB_
protected

A_ left multiplied to B.

◆ CA_

template<class MVT , int size1, int size2>
std::array< std::array<CMatrix, size2>, size1 > Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::CA_
protected

A_ right multiplied to C.

◆ contextIdx1_

template<class MVT , int size1, int size2>
unsigned int Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::contextIdx1_ {0}
mutableprotected

indices to be set before accessing data

◆ contextIdx2_

template<class MVT , int size1, int size2>
unsigned int Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::contextIdx2_ {0}
mutableprotected

◆ T_

template<class MVT , int size1, int size2>
std::array< std::array<TMatrix, size2>, size1 > Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::T_
protected

The transmissibility matrix.

◆ tijOutside_

template<class MVT , int size1, int size2>
std::array< std::array<OutsideTij, size2>, size1 > Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::tijOutside_
protected

The transmissibilities for "outside" faces (on surface grids)

◆ wijk_

template<class MVT , int size1, int size2>
std::array< std::array<OmegaStorage, size2>, size1 > Dumux::CCMpfaDataHandleBases::SystemMatricesHandle< MVT, size1, size2 >::wijk_
protected

The omega factors that form the entries of the matrices.


The documentation for this class was generated from the following file: