dune-fem
2.8-git
|
Local Mass Matrix inversion implementation, select the correct method in your implementation. More...
#include <dune/fem/operator/1order/localmassmatrix.hh>
Classes | |
struct | NoMassDummyCaller |
Public Member Functions | |
int | volumeQuadratureOrder (const EntityType &entity) const |
return appropriate quadrature order, default is 2 * order(entity) More... | |
LocalMassMatrixImplementation (const DiscreteFunctionSpaceType &spc, int volQuadOrd) | |
constructor taking space and volume quadrature order More... | |
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 More... | |
LocalMassMatrixImplementation (const ThisType &other) | |
copy constructor More... | |
bool | affine () const |
returns true if geometry mapping is affine More... | |
double | getAffineMassFactor (const Geometry &geo) const |
return mass factor for diagonal mass matrix More... | |
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 More... | |
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 More... | |
template<class LocalMatrix > | |
void | rightMultiplyInverse (LocalMatrix &localMatrix) const |
compute localMatrix * M^-1 More... | |
template<class LocalMatrix > | |
void | leftMultiplyInverse (LocalMatrix &localMatrix) const |
compute M^-1 * localMatrix More... | |
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() More... | |
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 More... | |
template<class LocalMatrix > | |
void | leftMultiplyInverseDgOrthoNormalBasis (LocalMatrix &localMatrix) const |
compute M^-1 * localMatrix More... | |
bool | entityHasChanged (const EntityType &entity) const |
returns true if the entity has been changed More... | |
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 More... | |
template<class LocalMatrix > | |
void | leftMultiplyInverseDefault (const EntityType &entity, const Geometry &geo, LocalMatrix &localMatrix) const |
compute M^-1 * localMatrix More... | |
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 More... | |
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 More... | |
bool | setup () const |
setup and return affinity More... | |
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 More... | |
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 More... | |
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 More... | |
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 |
|
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 |