dune-fem 2.8.0
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | List of all members
Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature > Class Template Reference

Local Mass Matrix inversion implementation, select the correct method in your implementation. More...

#include <dune/fem/operator/1order/localmassmatrix.hh>

Inheritance diagram for Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >:
Inheritance graph

Classes

struct  NoMassDummyCaller
 

Public Types

enum  { dimRange = DiscreteFunctionSpaceType :: dimRange }
 
enum  { localBlockSize = DiscreteFunctionSpaceType :: localBlockSize }
 
enum  { dgNumDofs = localBlockSize }
 
enum  { StructuredGrid = Dune::Capabilities::isCartesian< GridType >::v }
 is true if grid is structured grid More...
 
typedef DiscreteFunctionSpace DiscreteFunctionSpaceType
 
typedef DiscreteFunctionSpaceType::RangeFieldType ctype
 
typedef DiscreteFunctionSpaceType::RangeFieldType RangeFieldType
 
typedef DiscreteFunctionSpaceType::RangeType RangeType
 
typedef Dune::FieldMatrix< ctype, dgNumDofs, dgNumDofsDGMatrixType
 
typedef Dune::FieldVector< ctype, dgNumDofsDGVectorType
 
typedef DiscreteFunctionSpaceType::GridPartType GridPartType
 
typedef DiscreteFunctionSpaceType::IndexSetType IndexSetType
 
typedef IndexSetType::IndexType IndexType
 
typedef DiscreteFunctionSpaceType::BasisFunctionSetType BasisFunctionSetType
 
typedef GridPartType::GridType GridType
 
typedef DiscreteFunctionSpaceType::EntityType EntityType
 
typedef EntityType::Geometry Geometry
 
typedef VolumeQuadrature VolumeQuadratureType
 
typedef Fem::GeometryAffinityCheck< VolumeQuadratureTypeGeometryAffinityCheckType
 
typedef AllGeomTypes< typename GridPartType ::IndexSetType, GridTypeGeometryInformationType
 
typedef GeometryInformationType::DomainType DomainType
 
typedef Dune::DynamicMatrix< RangeFieldTypeMatrixType
 
typedef Dune::DynamicVector< RangeFieldTypeVectorType
 

Public Member Functions

int volumeQuadratureOrder (const EntityType &entity) const
 return appropriate quadrature order, default is 2 * order(entity)
 
 LocalMassMatrixImplementation (const DiscreteFunctionSpaceType &spc, int volQuadOrd)
 constructor taking space and volume quadrature order
 
 LocalMassMatrixImplementation (const DiscreteFunctionSpaceType &spc, std::function< int(const int)> volQuadOrderFct=[](const int order) { return Capabilities::DefaultQuadrature< DiscreteFunctionSpaceType >::volumeOrder(order);})
 constructor taking space and volume quadrature order
 
 LocalMassMatrixImplementation (const ThisType &other)
 copy constructor
 
bool affine () const
 returns true if geometry mapping is affine
 
double getAffineMassFactor (const Geometry &geo) const
 return mass factor for diagonal mass matrix
 
template<class BasisFunctionSet >
bool checkInterpolationBFS (const BasisFunctionSet &bfs) const
 
template<class MassCaller , class BasisFunctionSet , class LocalFunction >
void applyInverse (MassCaller &caller, const EntityType &entity, const BasisFunctionSet &basisFunctionSet, LocalFunction &lf) const
 
template<class MassCaller , class LocalFunction >
void applyInverse (MassCaller &caller, const EntityType &entity, LocalFunction &lf) const
 
template<class LocalFunction >
void applyInverse (const EntityType &entity, LocalFunction &lf) const
 apply local dg mass matrix to local function lf without mass factor
 
template<class BasisFunctionSet , class LocalFunction >
void applyInverse (const EntityType &entity, const BasisFunctionSet &basisFunctionSet, LocalFunction &lf) const
 
template<class LocalFunction >
void applyInverse (LocalFunction &lf) const
 apply local dg mass matrix to local function lf without mass factor
 
template<class LocalMatrix >
void rightMultiplyInverse (LocalMatrix &localMatrix) const
 compute localMatrix * M^-1
 
template<class LocalMatrix >
void leftMultiplyInverse (LocalMatrix &localMatrix) const
 compute M^-1 * localMatrix
 
const DiscreteFunctionSpaceTypespace () const
 

Protected Types

typedef std::pair< std::unique_ptr< MatrixType >, std::unique_ptr< VectorType > > MatrixPairType
 
typedef std::map< const int, MatrixPairTypeMassMatrixStorageType
 
typedef std::vector< MassMatrixStorageTypeLocalInverseMassMatrixStorageType
 

Protected Member Functions

bool checkDiagonalMatrix (const MatrixType &matrix) const
 
template<class BasisFunctionSet >
MatrixPairTypegetLocalInverseMassMatrix (const EntityType &entity, const Geometry &geo, const BasisFunctionSet &basisSet, int numBasisFct) const
 
template<class MassCaller , class BasisFunctionSet >
MatrixTypegetLocalInverseMassMatrixDefault (MassCaller &caller, const EntityType &entity, const Geometry &geo, const BasisFunctionSet &basisSet) const
 
int maxNumDofs () const
 
int maxVolumeQuadratureOrder () const
 return appropriate quadrature order, default is 2 * order()
 
template<class MassCaller , class BasisFunctionSet , class LocalFunction >
void applyInverseDgOrthoNormalBasis (MassCaller &caller, const EntityType &entity, const BasisFunctionSet &basisFunctionSet, LocalFunction &lf) const
 
template<class LocalMatrix >
void rightMultiplyInverseDgOrthoNormalBasis (LocalMatrix &localMatrix) const
 compute localMatrix * M^-1
 
template<class LocalMatrix >
void leftMultiplyInverseDgOrthoNormalBasis (LocalMatrix &localMatrix) const
 compute M^-1 * localMatrix
 
bool entityHasChanged (const EntityType &entity) const
 returns true if the entity has been changed
 
template<class MassCaller , class BasisFunctionSet , class LocalFunction >
void applyInverseDefault (MassCaller &caller, const EntityType &entity, const Geometry &geo, const BasisFunctionSet &basisFunctionSet, LocalFunction &lf) const
 
template<class LocalMatrix >
void rightMultiplyInverseDefault (const EntityType &entity, const Geometry &geo, LocalMatrix &localMatrix) const
 compute localMatrix * M^-1
 
template<class LocalMatrix >
void leftMultiplyInverseDefault (const EntityType &entity, const Geometry &geo, LocalMatrix &localMatrix) const
 compute M^-1 * localMatrix
 
template<class BasisFunctionSet , class LocalFunction >
void applyInverseLocally (const EntityType &entity, const Geometry &geo, const BasisFunctionSet &basisFunctionSet, LocalFunction &lf) const
 apply local mass matrix to local function lf
 
template<class LocalMatrix >
const VectorTypesetupInverseDiagonal (const EntityType &entity, const Geometry &geo, const VectorType &refElemDiagonal, LocalMatrix &localMatrix) const
 
template<class LocalMatrix >
void rightMultiplyInverseLocally (const EntityType &entity, const Geometry &geo, LocalMatrix &localMatrix) const
 
template<class LocalMatrix >
void leftMultiplyInverseLocally (const EntityType &entity, const Geometry &geo, LocalMatrix &localMatrix) const
 compute M^-1 * localMatrix
 
bool setup () const
 setup and return affinity
 
template<class MassCaller , class Matrix >
void buildMatrix (MassCaller &caller, const EntityType &entity, const Geometry &geo, const BasisFunctionSetType &set, std::size_t numDofs, Matrix &matrix) const
 build local mass matrix
 
template<class Matrix >
void buildMatrixNoMassFactor (const EntityType &en, const Geometry &geo, const BasisFunctionSetType &set, const VolumeQuadratureType &volQuad, const int numDofs, Matrix &matrix, const bool applyIntegrationElement=true) const
 build local mass matrix with mass factor
 
template<class MassCallerType , class Matrix >
void buildMatrixWithMassFactor (MassCallerType &caller, const EntityType &en, const Geometry &geo, const BasisFunctionSetType &set, const VolumeQuadratureType &volQuad, const int numDofs, Matrix &matrix) const
 build local mass matrix with mass factor
 
template<class Matrix , class Rhs , class X >
void multiply (const int size, const Matrix &matrix, const Rhs &rhs, X &x) const
 

Protected Attributes

std::shared_ptr< const DiscreteFunctionSpaceTypespc_
 
const IndexSetTypeindexSet_
 
GeometryInformationType geoInfo_
 
const std::function< int(const int)> volumeQuadratureOrder_
 
const bool affine_
 
DGMatrixType dgMatrix_
 
DGVectorType dgX_
 
DGVectorType dgRhs_
 
VectorType rhs_
 
VectorType row_
 
MatrixType matrix_
 
std::vector< RangeTypephi_
 
std::vector< RangeTypephiMass_
 
LocalInverseMassMatrixStorageType localInverseMassMatrix_
 
IndexType lastEntityIndex_
 
unsigned int lastTopologyId_
 
int sequence_
 

Detailed Description

template<class DiscreteFunctionSpace, class VolumeQuadrature>
class Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >

Local Mass Matrix inversion implementation, select the correct method in your implementation.

Member Typedef Documentation

◆ BasisFunctionSetType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef DiscreteFunctionSpaceType::BasisFunctionSetType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::BasisFunctionSetType

◆ ctype

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef DiscreteFunctionSpaceType::RangeFieldType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::ctype

◆ DGMatrixType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef Dune::FieldMatrix< ctype, dgNumDofs, dgNumDofs > Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::DGMatrixType

◆ DGVectorType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef Dune::FieldVector< ctype, dgNumDofs > Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::DGVectorType

◆ DiscreteFunctionSpaceType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef DiscreteFunctionSpace Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::DiscreteFunctionSpaceType

◆ DomainType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef GeometryInformationType::DomainType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::DomainType

◆ EntityType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef DiscreteFunctionSpaceType::EntityType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::EntityType

◆ Geometry

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef EntityType::Geometry Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::Geometry

◆ GeometryAffinityCheckType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef Fem::GeometryAffinityCheck<VolumeQuadratureType> Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::GeometryAffinityCheckType

◆ GeometryInformationType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef AllGeomTypes< typename GridPartType :: IndexSetType,GridType> Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::GeometryInformationType

◆ GridPartType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef DiscreteFunctionSpaceType::GridPartType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::GridPartType

◆ GridType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef GridPartType::GridType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::GridType

◆ IndexSetType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef DiscreteFunctionSpaceType::IndexSetType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::IndexSetType

◆ IndexType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef IndexSetType::IndexType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::IndexType

◆ LocalInverseMassMatrixStorageType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef std::vector< MassMatrixStorageType > Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::LocalInverseMassMatrixStorageType
protected

◆ MassMatrixStorageType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef std::map< const int, MatrixPairType > Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::MassMatrixStorageType
protected

◆ MatrixPairType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef std::pair< std::unique_ptr< MatrixType >, std::unique_ptr< VectorType > > Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::MatrixPairType
protected

◆ MatrixType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef Dune::DynamicMatrix< RangeFieldType > Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::MatrixType

◆ RangeFieldType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef DiscreteFunctionSpaceType::RangeFieldType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::RangeFieldType

◆ RangeType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef DiscreteFunctionSpaceType::RangeType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::RangeType

◆ VectorType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef Dune::DynamicVector< RangeFieldType > Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::VectorType

◆ VolumeQuadratureType

template<class DiscreteFunctionSpace , class VolumeQuadrature >
typedef VolumeQuadrature Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::VolumeQuadratureType

Member Enumeration Documentation

◆ anonymous enum

template<class DiscreteFunctionSpace , class VolumeQuadrature >
anonymous enum
Enumerator
dimRange 

◆ anonymous enum

template<class DiscreteFunctionSpace , class VolumeQuadrature >
anonymous enum
Enumerator
localBlockSize 

◆ anonymous enum

template<class DiscreteFunctionSpace , class VolumeQuadrature >
anonymous enum
Enumerator
dgNumDofs 

◆ anonymous enum

template<class DiscreteFunctionSpace , class VolumeQuadrature >
anonymous enum

is true if grid is structured grid

Enumerator
StructuredGrid 

Constructor & Destructor Documentation

◆ LocalMassMatrixImplementation() [1/3]

template<class DiscreteFunctionSpace , class VolumeQuadrature >
Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::LocalMassMatrixImplementation ( const DiscreteFunctionSpaceType spc,
int  volQuadOrd 
)
inlineexplicit

constructor taking space and volume quadrature order

◆ LocalMassMatrixImplementation() [2/3]

template<class DiscreteFunctionSpace , class VolumeQuadrature >
Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::LocalMassMatrixImplementation ( const DiscreteFunctionSpaceType spc,
std::function< int(const int)>  volQuadOrderFct = [](const int order) { return Capabilities::DefaultQuadratureDiscreteFunctionSpaceType >::volumeOrder(order); } 
)
inlineexplicit

constructor taking space and volume quadrature order

◆ LocalMassMatrixImplementation() [3/3]

template<class DiscreteFunctionSpace , class VolumeQuadrature >
Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::LocalMassMatrixImplementation ( const ThisType other)
inline

copy constructor

Member Function Documentation

◆ affine()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
bool Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::affine ( ) const
inline

returns true if geometry mapping is affine

◆ applyInverse() [1/5]

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class BasisFunctionSet , class LocalFunction >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::applyInverse ( const EntityType entity,
const BasisFunctionSet basisFunctionSet,
LocalFunction lf 
) const
inline

◆ applyInverse() [2/5]

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class LocalFunction >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::applyInverse ( const EntityType entity,
LocalFunction lf 
) const
inline

apply local dg mass matrix to local function lf without mass factor

◆ applyInverse() [3/5]

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class LocalFunction >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::applyInverse ( LocalFunction lf) const
inline

apply local dg mass matrix to local function lf without mass factor

◆ applyInverse() [4/5]

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class MassCaller , class BasisFunctionSet , class LocalFunction >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::applyInverse ( MassCaller &  caller,
const EntityType entity,
const BasisFunctionSet basisFunctionSet,
LocalFunction lf 
) const
inline

apply local dg mass matrix to local function lf using the massFactor method of the caller

◆ applyInverse() [5/5]

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class MassCaller , class LocalFunction >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::applyInverse ( MassCaller &  caller,
const EntityType entity,
LocalFunction lf 
) const
inline

apply local dg mass matrix to local function lf using the massFactor method of the caller

◆ applyInverseDefault()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class MassCaller , class BasisFunctionSet , class LocalFunction >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::applyInverseDefault ( MassCaller &  caller,
const EntityType entity,
const Geometry geo,
const BasisFunctionSet basisFunctionSet,
LocalFunction lf 
) const
inlineprotected

apply local mass matrix to local function lf using the massFactor method of the caller

◆ applyInverseDgOrthoNormalBasis()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class MassCaller , class BasisFunctionSet , class LocalFunction >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::applyInverseDgOrthoNormalBasis ( MassCaller &  caller,
const EntityType entity,
const BasisFunctionSet basisFunctionSet,
LocalFunction lf 
) const
inlineprotected

◆ applyInverseLocally()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class BasisFunctionSet , class LocalFunction >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::applyInverseLocally ( const EntityType entity,
const Geometry geo,
const BasisFunctionSet basisFunctionSet,
LocalFunction lf 
) const
inlineprotected

apply local mass matrix to local function lf

◆ buildMatrix()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class MassCaller , class Matrix >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::buildMatrix ( MassCaller &  caller,
const EntityType entity,
const Geometry geo,
const BasisFunctionSetType set,
std::size_t  numDofs,
Matrix &  matrix 
) const
inlineprotected

build local mass matrix

◆ buildMatrixNoMassFactor()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class Matrix >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::buildMatrixNoMassFactor ( const EntityType en,
const Geometry geo,
const BasisFunctionSetType set,
const VolumeQuadratureType volQuad,
const int  numDofs,
Matrix &  matrix,
const bool  applyIntegrationElement = true 
) const
inlineprotected

build local mass matrix with mass factor

◆ buildMatrixWithMassFactor()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class MassCallerType , class Matrix >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::buildMatrixWithMassFactor ( MassCallerType &  caller,
const EntityType en,
const Geometry geo,
const BasisFunctionSetType set,
const VolumeQuadratureType volQuad,
const int  numDofs,
Matrix &  matrix 
) const
inlineprotected

build local mass matrix with mass factor

◆ checkDiagonalMatrix()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
bool Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::checkDiagonalMatrix ( const MatrixType matrix) const
inlineprotected

◆ checkInterpolationBFS()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class BasisFunctionSet >
bool Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::checkInterpolationBFS ( const BasisFunctionSet bfs) const
inline

◆ entityHasChanged()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
bool Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::entityHasChanged ( const EntityType entity) const
inlineprotected

returns true if the entity has been changed

◆ getAffineMassFactor()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
double Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::getAffineMassFactor ( const Geometry geo) const
inline

return mass factor for diagonal mass matrix

◆ getLocalInverseMassMatrix()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class BasisFunctionSet >
MatrixPairType & Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::getLocalInverseMassMatrix ( const EntityType entity,
const Geometry geo,
const BasisFunctionSet basisSet,
int  numBasisFct 
) const
inlineprotected

◆ getLocalInverseMassMatrixDefault()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class MassCaller , class BasisFunctionSet >
MatrixType & Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::getLocalInverseMassMatrixDefault ( MassCaller &  caller,
const EntityType entity,
const Geometry geo,
const BasisFunctionSet basisSet 
) const
inlineprotected

◆ leftMultiplyInverse()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class LocalMatrix >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::leftMultiplyInverse ( LocalMatrix &  localMatrix) const
inline

compute M^-1 * localMatrix

◆ leftMultiplyInverseDefault()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class LocalMatrix >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::leftMultiplyInverseDefault ( const EntityType entity,
const Geometry geo,
LocalMatrix &  localMatrix 
) const
inlineprotected

compute M^-1 * localMatrix

◆ leftMultiplyInverseDgOrthoNormalBasis()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class LocalMatrix >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::leftMultiplyInverseDgOrthoNormalBasis ( LocalMatrix &  localMatrix) const
inlineprotected

compute M^-1 * localMatrix

◆ leftMultiplyInverseLocally()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class LocalMatrix >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::leftMultiplyInverseLocally ( const EntityType entity,
const Geometry geo,
LocalMatrix &  localMatrix 
) const
inlineprotected

compute M^-1 * localMatrix

◆ maxNumDofs()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
int Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::maxNumDofs ( ) const
inlineprotected

◆ maxVolumeQuadratureOrder()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
int Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::maxVolumeQuadratureOrder ( ) const
inlineprotected

return appropriate quadrature order, default is 2 * order()

◆ multiply()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class Matrix , class Rhs , class X >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::multiply ( const int  size,
const Matrix &  matrix,
const Rhs &  rhs,
X &  x 
) const
inlineprotected

◆ rightMultiplyInverse()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class LocalMatrix >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::rightMultiplyInverse ( LocalMatrix &  localMatrix) const
inline

compute localMatrix * M^-1

◆ rightMultiplyInverseDefault()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class LocalMatrix >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::rightMultiplyInverseDefault ( const EntityType entity,
const Geometry geo,
LocalMatrix &  localMatrix 
) const
inlineprotected

compute localMatrix * M^-1

◆ rightMultiplyInverseDgOrthoNormalBasis()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class LocalMatrix >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::rightMultiplyInverseDgOrthoNormalBasis ( LocalMatrix &  localMatrix) const
inlineprotected

compute localMatrix * M^-1

◆ rightMultiplyInverseLocally()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class LocalMatrix >
void Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::rightMultiplyInverseLocally ( const EntityType entity,
const Geometry geo,
LocalMatrix &  localMatrix 
) const
inlineprotected

◆ setup()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
bool Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::setup ( ) const
inlineprotected

setup and return affinity

◆ setupInverseDiagonal()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
template<class LocalMatrix >
const VectorType & Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::setupInverseDiagonal ( const EntityType entity,
const Geometry geo,
const VectorType refElemDiagonal,
LocalMatrix &  localMatrix 
) const
inlineprotected

◆ space()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
const DiscreteFunctionSpaceType & Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::space ( ) const
inline

◆ volumeQuadratureOrder()

template<class DiscreteFunctionSpace , class VolumeQuadrature >
int Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::volumeQuadratureOrder ( const EntityType entity) const
inline

return appropriate quadrature order, default is 2 * order(entity)

Member Data Documentation

◆ affine_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
const bool Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::affine_
protected

◆ dgMatrix_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
DGMatrixType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::dgMatrix_
mutableprotected

◆ dgRhs_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
DGVectorType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::dgRhs_
protected

◆ dgX_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
DGVectorType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::dgX_
mutableprotected

◆ geoInfo_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
GeometryInformationType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::geoInfo_
protected

◆ indexSet_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
const IndexSetType& Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::indexSet_
protected

◆ lastEntityIndex_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
IndexType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::lastEntityIndex_
mutableprotected

◆ lastTopologyId_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
unsigned int Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::lastTopologyId_
mutableprotected

◆ localInverseMassMatrix_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
LocalInverseMassMatrixStorageType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::localInverseMassMatrix_
mutableprotected

◆ matrix_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
MatrixType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::matrix_
mutableprotected

◆ phi_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
std::vector< RangeType > Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::phi_
mutableprotected

◆ phiMass_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
std::vector< RangeType > Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::phiMass_
mutableprotected

◆ rhs_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
VectorType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::rhs_
mutableprotected

◆ row_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
VectorType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::row_
protected

◆ sequence_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
int Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::sequence_
mutableprotected

◆ spc_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
std::shared_ptr< const DiscreteFunctionSpaceType > Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::spc_
protected

◆ volumeQuadratureOrder_

template<class DiscreteFunctionSpace , class VolumeQuadrature >
const std::function<int(const int)> Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::volumeQuadratureOrder_
protected

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