|
dune-fem 2.8.0
|
Local Mass Matrix inversion implementation, select the correct method in your implementation. More...
#include <dune/fem/operator/1order/localmassmatrix.hh>

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, dgNumDofs > | DGMatrixType |
| typedef Dune::FieldVector< ctype, dgNumDofs > | DGVectorType |
| 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< VolumeQuadratureType > | GeometryAffinityCheckType |
| typedef AllGeomTypes< typename GridPartType ::IndexSetType, GridType > | GeometryInformationType |
| typedef GeometryInformationType::DomainType | DomainType |
| typedef Dune::DynamicMatrix< RangeFieldType > | MatrixType |
| typedef Dune::DynamicVector< RangeFieldType > | VectorType |
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 DiscreteFunctionSpaceType & | space () const |
Protected Types | |
| typedef std::pair< std::unique_ptr< MatrixType >, std::unique_ptr< VectorType > > | MatrixPairType |
| typedef std::map< const int, MatrixPairType > | MassMatrixStorageType |
| typedef std::vector< MassMatrixStorageType > | LocalInverseMassMatrixStorageType |
Protected Member Functions | |
| bool | checkDiagonalMatrix (const MatrixType &matrix) const |
| template<class BasisFunctionSet > | |
| MatrixPairType & | getLocalInverseMassMatrix (const EntityType &entity, const Geometry &geo, const BasisFunctionSet &basisSet, int numBasisFct) const |
| template<class MassCaller , class BasisFunctionSet > | |
| MatrixType & | getLocalInverseMassMatrixDefault (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 VectorType & | setupInverseDiagonal (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 DiscreteFunctionSpaceType > | spc_ |
| const IndexSetType & | indexSet_ |
| 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< RangeType > | phi_ |
| std::vector< RangeType > | phiMass_ |
| LocalInverseMassMatrixStorageType | localInverseMassMatrix_ |
| IndexType | lastEntityIndex_ |
| unsigned int | lastTopologyId_ |
| int | sequence_ |
Local Mass Matrix inversion implementation, select the correct method in your implementation.
| typedef DiscreteFunctionSpaceType::BasisFunctionSetType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::BasisFunctionSetType |
| typedef DiscreteFunctionSpaceType::RangeFieldType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::ctype |
| typedef Dune::FieldMatrix< ctype, dgNumDofs, dgNumDofs > Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::DGMatrixType |
| typedef Dune::FieldVector< ctype, dgNumDofs > Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::DGVectorType |
| typedef DiscreteFunctionSpace Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::DiscreteFunctionSpaceType |
| typedef GeometryInformationType::DomainType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::DomainType |
| typedef DiscreteFunctionSpaceType::EntityType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::EntityType |
| typedef EntityType::Geometry Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::Geometry |
| typedef Fem::GeometryAffinityCheck<VolumeQuadratureType> Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::GeometryAffinityCheckType |
| typedef AllGeomTypes< typename GridPartType :: IndexSetType,GridType> Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::GeometryInformationType |
| typedef DiscreteFunctionSpaceType::GridPartType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::GridPartType |
| typedef GridPartType::GridType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::GridType |
| typedef DiscreteFunctionSpaceType::IndexSetType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::IndexSetType |
| typedef IndexSetType::IndexType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::IndexType |
|
protected |
|
protected |
|
protected |
| typedef Dune::DynamicMatrix< RangeFieldType > Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::MatrixType |
| typedef DiscreteFunctionSpaceType::RangeFieldType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::RangeFieldType |
| typedef DiscreteFunctionSpaceType::RangeType Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::RangeType |
| typedef Dune::DynamicVector< RangeFieldType > Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::VectorType |
| typedef VolumeQuadrature Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpace, VolumeQuadrature >::VolumeQuadratureType |
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
|
inlineexplicit |
constructor taking space and volume quadrature order
|
inlineexplicit |
constructor taking space and volume quadrature order
|
inline |
copy constructor
|
inline |
returns true if geometry mapping is affine
|
inline |
|
inline |
apply local dg mass matrix to local function lf without mass factor
|
inline |
apply local dg mass matrix to local function lf without mass factor
|
inline |
apply local dg mass matrix to local function lf using the massFactor method of the caller
|
inline |
apply local dg mass matrix to local function lf using the massFactor method of the caller
|
inlineprotected |
apply local mass matrix to local function lf using the massFactor method of the caller
|
inlineprotected |
|
inlineprotected |
apply local mass matrix to local function lf
|
inlineprotected |
build local mass matrix
|
inlineprotected |
build local mass matrix with mass factor
|
inlineprotected |
build local mass matrix with mass factor
|
inlineprotected |
|
inline |
|
inlineprotected |
returns true if the entity has been changed
|
inline |
return mass factor for diagonal mass matrix
|
inlineprotected |
|
inlineprotected |
|
inline |
compute M^-1 * localMatrix
|
inlineprotected |
compute M^-1 * localMatrix
|
inlineprotected |
compute M^-1 * localMatrix
|
inlineprotected |
compute M^-1 * localMatrix
|
inlineprotected |
|
inlineprotected |
return appropriate quadrature order, default is 2 * order()
|
inlineprotected |
|
inline |
compute localMatrix * M^-1
|
inlineprotected |
compute localMatrix * M^-1
|
inlineprotected |
compute localMatrix * M^-1
|
inlineprotected |
|
inlineprotected |
setup and return affinity
|
inlineprotected |
|
inline |
|
inline |
return appropriate quadrature order, default is 2 * order(entity)
|
protected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
mutableprotected |
|
protected |
|
mutableprotected |
|
protected |
|
protected |