TpsaTypes.hpp File Reference
#include <opm/simulators/linalg/matrixblock.hh>
#include <dune/common/fvector.hh>
#include <dune/common/indices.hh>
#include <dune/istl/bcrsmatrix.hh>
#include <dune/istl/bvector.hh>
#include <dune/istl/multitypeblockvector.hh>
#include <cstddef>
Include dependency graph for TpsaTypes.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Opm::Linear::TpsaMatrixView< Scalar >
 Lightweight, non-owning 5x5 view over the sub-matrices owned by TpsaMatrix. Provides the operator interface used by Dune solvers plus sub-matrix block access. More...
 
struct  Opm::Linear::TpsaMatrixRow0< Scalar >
 Proxy for block row 0 (u_x) of TpsaMatrixView. More...
 
struct  Opm::Linear::TpsaMatrixRow1< Scalar >
 Proxy for block row 1 (u_y) of TpsaMatrixView. More...
 
struct  Opm::Linear::TpsaMatrixRow2< Scalar >
 Proxy for block row 2 (u_z) of TpsaMatrixView. More...
 
struct  Opm::Linear::TpsaMatrixRow3< Scalar >
 Proxy for block row 3 (rotation) of TpsaMatrixView. More...
 
struct  Opm::Linear::TpsaMatrixRow4< Scalar >
 Proxy for block row 4 (solid pressure) of TpsaMatrixView. More...
 
struct  Dune::FieldTraits< BlockVector< FieldVector< double, 3 > > >
 
struct  Dune::FieldTraits< BlockVector< FieldVector< float, 3 > > >
 
struct  Dune::FieldTraits< BlockVector< FieldVector< double, 1 > > >
 
struct  Dune::FieldTraits< BlockVector< FieldVector< float, 1 > > >
 

Namespaces

namespace  Opm
 
namespace  Opm::Linear
 
namespace  Dune
 

Typedefs

template<typename Scalar >
using Opm::Linear::DispDispMatrix00T = Dune::BCRSMatrix< MatrixBlock< Scalar, numDispDofs, numDispDofs > >
 
template<typename Scalar >
using Opm::Linear::DispDispMatrix11T = Dune::BCRSMatrix< MatrixBlock< Scalar, numDispDofs, numDispDofs > >
 
template<typename Scalar >
using Opm::Linear::DispDispMatrix22T = Dune::BCRSMatrix< MatrixBlock< Scalar, numDispDofs, numDispDofs > >
 
template<typename Scalar >
using Opm::Linear::RotRotMatrixT = Dune::BCRSMatrix< MatrixBlock< Scalar, numRotDofs, numRotDofs > >
 
template<typename Scalar >
using Opm::Linear::SPresSPresMatrixT = Dune::BCRSMatrix< MatrixBlock< Scalar, numSolidPresDofs, numSolidPresDofs > >
 
template<typename Scalar >
using Opm::Linear::DispRotMatrix0T = Dune::BCRSMatrix< MatrixBlock< Scalar, numDispDofs, numRotDofs > >
 
template<typename Scalar >
using Opm::Linear::DispRotMatrix1T = DispRotMatrix0T< Scalar >
 
template<typename Scalar >
using Opm::Linear::DispRotMatrix2T = DispRotMatrix0T< Scalar >
 
template<typename Scalar >
using Opm::Linear::DispSPresMatrix0T = Dune::BCRSMatrix< MatrixBlock< Scalar, numDispDofs, numSolidPresDofs > >
 
template<typename Scalar >
using Opm::Linear::DispSPresMatrix1T = DispSPresMatrix0T< Scalar >
 
template<typename Scalar >
using Opm::Linear::DispSPresMatrix2T = DispSPresMatrix0T< Scalar >
 
template<typename Scalar >
using Opm::Linear::RotDispMatrix0T = Dune::BCRSMatrix< MatrixBlock< Scalar, numRotDofs, numDispDofs > >
 
template<typename Scalar >
using Opm::Linear::RotDispMatrix1T = RotDispMatrix0T< Scalar >
 
template<typename Scalar >
using Opm::Linear::RotDispMatrix2T = RotDispMatrix0T< Scalar >
 
template<typename Scalar >
using Opm::Linear::RotSPresMatrixT = Dune::BCRSMatrix< MatrixBlock< Scalar, numRotDofs, numSolidPresDofs > >
 
template<typename Scalar >
using Opm::Linear::SPresDispMatrix0T = Dune::BCRSMatrix< MatrixBlock< Scalar, numSolidPresDofs, numDispDofs > >
 
template<typename Scalar >
using Opm::Linear::SPresDispMatrix1T = SPresDispMatrix0T< Scalar >
 
template<typename Scalar >
using Opm::Linear::SPresDispMatrix2T = SPresDispMatrix0T< Scalar >
 
template<typename Scalar >
using Opm::Linear::SPresRotMatrixT = Dune::BCRSMatrix< MatrixBlock< Scalar, numSolidPresDofs, numRotDofs > >
 
template<typename Scalar >
using Opm::Linear::DispVector0T = Dune::BlockVector< Dune::FieldVector< Scalar, numDispDofs > >
 
template<typename Scalar >
using Opm::Linear::DispVector1T = DispVector0T< Scalar >
 
template<typename Scalar >
using Opm::Linear::DispVector2T = DispVector0T< Scalar >
 
template<typename Scalar >
using Opm::Linear::RotVectorT = Dune::BlockVector< Dune::FieldVector< Scalar, numRotDofs > >
 
template<typename Scalar >
using Opm::Linear::SPresVectorT = Dune::BlockVector< Dune::FieldVector< Scalar, numSolidPresDofs > >
 
template<typename Scalar >
using Opm::Linear::TpsaMultiVector = Dune::MultiTypeBlockVector< DispVector0T< Scalar >, DispVector1T< Scalar >, DispVector2T< Scalar >, RotVectorT< Scalar >, SPresVectorT< Scalar > >
 The vector the Krylov solver and the preconditioner operate on. More...
 

Variables

constexpr int Opm::Linear::numDispDofs = 1
 Number of dofs of each field. More...
 
constexpr int Opm::Linear::numRotDofs = 3
 
constexpr int Opm::Linear::numSolidPresDofs = 1
 
constexpr int Opm::Linear::numTpsaFields = 5
 Number of fields the TPSA system is split into. More...
 
constexpr int Opm::Linear::numTpsaEq = 3 * numDispDofs + numRotDofs + numSolidPresDofs
 Total number of TPSA equations per cell. More...