dune-fem
2.4.1-rc
|
Local Mass Matrix for arbitrary spaces. More...
#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/operator/1order/localmassmatrix.hh>
Public Types | |
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 |
Public Member Functions | |
LocalMassMatrix (const DiscreteFunctionSpace &spc, int volQuadOrd=-1) | |
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 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 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 |
template<class LocalMatrix > | |
void | leftMultiplyInverse (LocalMatrix &localMatrix) const |
Protected Types | |
typedef std::map< const int, MatrixType * > | MassMatrixStorageType |
typedef std::vector< MassMatrixStorageType > | LocalInverseMassMatrixStorageType |
Protected Member Functions | |
template<class BasisFunctionSet > | |
MatrixType & | 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 | volumeQuadratureOrder (const EntityType &entity) const |
return appropriate quadrature order, default is 2 * order(entity) More... | |
int | maxVolumeQuadratureOrder () const |
return appropriate quadrature order, default is 2 * order() More... | |
int | maxNumDofs () const |
template<class MassCaller , class LocalFunction > | |
void | applyInverseDgOrthoNormalBasis (MassCaller &caller, const EntityType &entity, LocalFunction &lf) const |
template<class LocalMatrix > | |
void | rightMultiplyInverseDgOrthoNormalBasis (LocalMatrix &localMatrix) const |
template<class LocalMatrix > | |
void | leftMultiplyInverseDgOrthoNormalBasis (LocalMatrix &localMatrix) const |
bool | entityHasChanged (const EntityType &entity) const |
returns true if the entity has been changed More... | |
template<class MassCaller , class LocalFunction > | |
void | applyInverseDefault (MassCaller &caller, const EntityType &entity, const Geometry &geo, LocalFunction &lf) const |
template<class LocalMatrix > | |
void | rightMultiplyInverseDefault (const EntityType &entity, const Geometry &geo, LocalMatrix &localMatrix) const |
template<class LocalMatrix > | |
void | leftMultiplyInverseDefault (const EntityType &entity, const Geometry &geo, LocalMatrix &localMatrix) const |
template<class MassCaller , class LocalFunction > | |
void | applyInverseLocally (MassCaller &caller, const EntityType &entity, const Geometry &geo, LocalFunction &lf) 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 |
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 | |
const DiscreteFunctionSpaceType & | spc_ |
const IndexSetType & | indexSet_ |
GeometryInformationType | geoInfo_ |
const int | volumeQuadOrd_ |
const bool | affine_ |
DGMatrixType | dgMatrix_ |
DGVectorType | dgX_ |
DGVectorType | dgRhs_ |
Dune::DynamicVector< RangeFieldType > | rhs_ |
Dune::DynamicVector< RangeFieldType > | row_ |
MatrixType | matrix_ |
std::vector< RangeType > | phi_ |
std::vector< RangeType > | phiMass_ |
LocalInverseMassMatrixStorageType | localInverseMassMatrix_ |
IndexType | lastEntityIndex_ |
unsigned int | lastTopologyId_ |
int | sequence_ |
Local Mass Matrix for arbitrary spaces.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
protectedinherited |
|
protectedinherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inlineexplicit |
|
inlineinherited |
returns true if geometry mapping is affine
Referenced by Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::applyInverse(), Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::applyInverseDgOrthoNormalBasis(), Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::leftMultiplyInverse(), Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::leftMultiplyInverseDgOrthoNormalBasis(), Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::rightMultiplyInverse(), and Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::rightMultiplyInverseDgOrthoNormalBasis().
|
inlineinherited |
apply local dg mass matrix to local function lf using the massFactor method of the caller
Referenced by Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::applyInverse(), Dune::Fem::LocalMassMatrixImplementationDgOrthoNormal< HierarchicLegendreDiscontinuousGalerkinSpace< FunctionSpaceImp, GridPartImp, polOrd, BaseFunctionStorageImp >, VolumeQuadratureImp >::applyInverse(), Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp >::applyLocalMass(), Dune::Fem::DiscontinuousGalerkinLocalInterpolation< DiscreteFunctionSpace, Quadrature >::operator()(), Dune::Fem::DiscontinuousGalerkinLocalRestrictProlong< HierarchicLegendreDiscontinuousGalerkinSpace< FunctionSpaceImp, GridPartImp, polOrd, StorageImp >, false >::prolongLocal(), Dune::Fem::DiscontinuousGalerkinLocalRestrictProlong< HierarchicLegendreDiscontinuousGalerkinSpace< FunctionSpaceImp, GridPartImp, polOrd, StorageImp >, false >::restrictLocal(), and Dune::Fem::LocalDGPass< DiscreteModelImp, PreviousPassImp >::updateFunctionAndApplyMass().
|
inlineinherited |
apply local dg mass matrix to local function lf without mass factor
|
inlineinherited |
apply local dg mass matrix to local function lf without mass factor
|
inlineprotectedinherited |
apply local mass matrix to local function lf using the massFactor method of the caller
Referenced by Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::applyInverse().
|
inlineprotectedinherited |
|
inlineprotectedinherited |
apply local mass matrix to local function lf using the massFactor method of the caller
Referenced by Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::applyInverse().
|
inlineprotectedinherited |
build local mass matrix
Referenced by Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::applyInverseDgOrthoNormalBasis(), Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::getLocalInverseMassMatrixDefault(), Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::leftMultiplyInverseDgOrthoNormalBasis(), and Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::rightMultiplyInverseDgOrthoNormalBasis().
|
inlineprotectedinherited |
build local mass matrix with mass factor
Referenced by Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::buildMatrix(), and Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::getLocalInverseMassMatrix().
|
inlineprotectedinherited |
build local mass matrix with mass factor
Referenced by Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::buildMatrix().
|
inlineprotectedinherited |
returns true if the entity has been changed
Referenced by Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::getLocalInverseMassMatrixDefault().
|
inlineinherited |
return mass factor for diagonal mass matrix
Referenced by Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::applyInverseDgOrthoNormalBasis(), Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::applyInverseLocally(), Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::leftMultiplyInverseDgOrthoNormalBasis(), Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::leftMultiplyInverseLocally(), Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::rightMultiplyInverseDgOrthoNormalBasis(), and Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::rightMultiplyInverseLocally().
|
inlineprotectedinherited |
Referenced by Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::applyInverseLocally(), Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::leftMultiplyInverseLocally(), and Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::rightMultiplyInverseLocally().
|
inlineprotectedinherited |
Referenced by Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::applyInverseDefault(), Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::leftMultiplyInverseDefault(), and Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::rightMultiplyInverseDefault().
|
inlineinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
return appropriate quadrature order, default is 2 * order()
|
inlineprotectedinherited |
|
inlineinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
|
inlineprotectedinherited |
setup and return affinity
|
inlineprotectedinherited |
return appropriate quadrature order, default is 2 * order(entity)
Referenced by Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::buildMatrix(), and Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::getLocalInverseMassMatrix().
|
protectedinherited |
|
mutableprotectedinherited |
Referenced by Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::applyInverseDgOrthoNormalBasis(), Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::leftMultiplyInverseDgOrthoNormalBasis(), and Dune::Fem::LocalMassMatrixImplementation< DiscreteFunctionSpaceType, QuadratureType >::rightMultiplyInverseDgOrthoNormalBasis().
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
protectedinherited |
|
protectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
protectedinherited |
|
protectedinherited |