dune-fem 2.12-git
Loading...
Searching...
No Matches
Dune::Fem::MassLumpingAutomaticDifferenceGalerkinOperator< Integrands, DomainFunction, RangeFunction > Class Template Referenceabstract

#include <dune/fem/schemes/masslumping.hh>

Inheritance diagram for Dune::Fem::MassLumpingAutomaticDifferenceGalerkinOperator< Integrands, DomainFunction, RangeFunction >:
Inheritance graph

Public Types

typedef BaseType::GridPartType GridPartType
 
typedef RangeFunction DomainFunctionType
 
typedef RangeFunction RangeFunctionType
 
typedef ThreadIterator< GridPartTypeThreadIteratorType
 
typedef Impl::GalerkinOperator< GridPartTypeGalerkinOperatorImplType
 
typedef Impl::LocalGalerkinOperator< Integrands > LocalGalerkinOperatorImplType
 
typedef Impl::LocalGalerkinOperator< DomainFunction, LumpingQuadratureSelector > MassOperatorImplType
 
typedef RangeFunctionType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
 
typedef Integrands ModelType
 
typedef Integrands DirichletModelType
 
typedef DomainFunction::RangeFieldType DomainFieldType
 field type of the operator's domain
 
typedef RangeFunction::RangeFieldType RangeFieldType
 field type of the operator's range
 
typedef BaseType::RangeFunctionType RangeFunctionType
 
typedef BaseType::DomainFunctionType DomainFunctionType
 
typedef BaseType::RangeFieldType RangeFieldType
 
typedef BaseType::DomainFieldType DomainFieldType
 
typedef Dune::FieldTraits< RangeFieldType >::real_type RealType
 
typedef BaseType::JacobianOperatorType JacobianOperatorType
 
typedef RangeFunctionType::DiscreteFunctionSpaceType RangeSpaceType
 
typedef DomainFunctionType::DiscreteFunctionSpaceType DomainSpaceType
 

Public Member Functions

template<class... Args>
 MassLumpingAutomaticDifferenceGalerkinOperator (const GridPartType &gridPart, Args &&... args)
 
void setCommunicate (const bool communicate)
 
void setQuadratureOrders (unsigned int interior, unsigned int surface)
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const final override
 application operator
 
void operator() (const GridFunction &u, RangeFunctionType &w) const
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const =0
 application operator
 
const GridPartTypegridPart () const
 
ModelTypemodel () const
 
const LocalGalerkinOperatorImplTypeimpl () const
 
const LocalGalerkinOperatorImplTypelocalOperator () const
 return local operator holding instance of integrands
 
const MassOperatorImplTypemass () const
 
std::size_t gridSizeInterior () const
 
virtual void finalize ()
 finalization of operator
 
virtual bool nonlinear () const
 
virtual void jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const
 
virtual void jacobian (const DomainFunctionType &u, JacobianOperatorType &jOp) const =0
 obtain linearization
 
virtual void operator() (const DomainFunctionType &u, RangeFunctionType &w) const=0
 application operator
 
virtual void finalize ()
 finalization of operator
 
virtual bool nonlinear () const
 

Protected Member Functions

const GalerkinOperatorImplTypeop () const
 
void evaluate (const GridFunction &u, RangeFunctionType &w) const
 

Protected Attributes

ThreadIteratorType iterators_
 
ThreadSafeValue< GalerkinOperatorImplTypeopImpl_
 
ThreadSafeValue< LocalGalerkinOperatorImplTypelocalOp_
 
ThreadSafeValue< MassOperatorImplTypemass_
 
std::size_t gridSizeInterior_
 
bool communicate_
 

Member Typedef Documentation

◆ DirichletModelType

typedef Integrands Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::DirichletModelType
inherited

◆ DiscreteFunctionSpaceType

typedef RangeFunctionType::DiscreteFunctionSpaceType Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::DiscreteFunctionSpaceType
inherited

◆ DomainFieldType [1/2]

typedef BaseType::DomainFieldType Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction > >::DomainFieldType
inherited

◆ DomainFieldType [2/2]

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef DomainFunction::RangeFieldType Dune::Fem::Operator< DomainFunction, RangeFunction >::DomainFieldType
inherited

field type of the operator's domain

◆ DomainFunctionType [1/2]

typedef BaseType::DomainFunctionType Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction > >::DomainFunctionType
inherited

◆ DomainFunctionType [2/2]

typedef RangeFunction Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::DomainFunctionType
inherited

◆ DomainSpaceType

typedef DomainFunctionType::DiscreteFunctionSpaceType Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction > >::DomainSpaceType
inherited

◆ GalerkinOperatorImplType

typedef Impl::GalerkinOperator< GridPartType > Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::GalerkinOperatorImplType
inherited

◆ GridPartType

template<class Integrands , class DomainFunction , class RangeFunction >
typedef BaseType::GridPartType Dune::Fem::MassLumpingAutomaticDifferenceGalerkinOperator< Integrands, DomainFunction, RangeFunction >::GridPartType

◆ JacobianOperatorType

typedef BaseType::JacobianOperatorType Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction > >::JacobianOperatorType
inherited

◆ LocalGalerkinOperatorImplType

typedef Impl::LocalGalerkinOperator< Integrands > Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::LocalGalerkinOperatorImplType
inherited

◆ MassOperatorImplType

typedef Impl::LocalGalerkinOperator< DomainFunction , LumpingQuadratureSelector > Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::MassOperatorImplType
inherited

◆ ModelType

typedef Integrands Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::ModelType
inherited

◆ RangeFieldType [1/2]

typedef BaseType::RangeFieldType Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction > >::RangeFieldType
inherited

◆ RangeFieldType [2/2]

template<class DomainFunction , class RangeFunction = DomainFunction>
typedef RangeFunction::RangeFieldType Dune::Fem::Operator< DomainFunction, RangeFunction >::RangeFieldType
inherited

field type of the operator's range

◆ RangeFunctionType [1/2]

typedef BaseType::RangeFunctionType Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction > >::RangeFunctionType
inherited

◆ RangeFunctionType [2/2]

typedef RangeFunction Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::RangeFunctionType
inherited

◆ RangeSpaceType

typedef RangeFunctionType::DiscreteFunctionSpaceType Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction > >::RangeSpaceType
inherited

◆ RealType

typedef Dune::FieldTraits<RangeFieldType>::real_type Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction > >::RealType
inherited

◆ ThreadIteratorType

typedef ThreadIterator< GridPartType > Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::ThreadIteratorType
inherited

Constructor & Destructor Documentation

◆ MassLumpingAutomaticDifferenceGalerkinOperator()

template<class Integrands , class DomainFunction , class RangeFunction >
template<class... Args>
Dune::Fem::MassLumpingAutomaticDifferenceGalerkinOperator< Integrands, DomainFunction, RangeFunction >::MassLumpingAutomaticDifferenceGalerkinOperator ( const GridPartType gridPart,
Args &&...  args 
)
inlineexplicit

Member Function Documentation

◆ evaluate()

void Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::evaluate ( const GridFunction &  u,
RangeFunctionType w 
) const
inlineprotectedinherited

◆ finalize() [1/2]

virtual void Dune::Fem::Operator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType >::finalize ( )
inlinevirtualinherited

finalization of operator

Note
The default implementation is empty.

◆ finalize() [2/2]

template<class DomainFunction , class RangeFunction = DomainFunction>
virtual void Dune::Fem::Operator< DomainFunction, RangeFunction >::finalize ( )
inlinevirtualinherited

finalization of operator

Note
The default implementation is empty.

Reimplemented in Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix >.

◆ gridPart()

const GridPartType & Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::gridPart ( ) const
inlineinherited

◆ gridSizeInterior()

std::size_t Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::gridSizeInterior ( ) const
inlineinherited

◆ impl()

const LocalGalerkinOperatorImplType & Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::impl ( ) const
inlineinherited

◆ jacobian() [1/2]

virtual void Dune::Fem::AutomaticDifferenceOperator< DomainFunction, RangeFunction, AutomaticDifferenceLinearOperator< DomainFunction, RangeFunction > >::jacobian ( const DomainFunctionType u,
JacobianOperatorType jOp 
) const
inlinevirtualinherited

◆ jacobian() [2/2]

template<class JacobianOperator >
virtual void Dune::Fem::DifferentiableOperator< JacobianOperator >::jacobian ( const DomainFunctionType u,
JacobianOperatorType jOp 
) const
pure virtualinherited

obtain linearization

Parameters
[in]uargument discrete function
[out]jOpdestination Jacobian operator
Note
This method has to be implemented by all derived classes.

Implemented in Dune::Fem::DifferentiableGalerkinOperator< Integrands, JacobianOperator >, Dune::Fem::MassLumpingDifferentiableOperator< Integrands, MassIntegrands, JacobianOperator >, and Dune::Fem::MOLDifferentiableGalerkinOperator< Integrands, JacobianOperator >.

◆ localOperator()

const LocalGalerkinOperatorImplType & Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::localOperator ( ) const
inlineinherited

return local operator holding instance of integrands

◆ mass()

const MassOperatorImplType & Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::mass ( ) const
inlineinherited

◆ model()

ModelType & Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::model ( ) const
inlineinherited

◆ nonlinear() [1/2]

virtual bool Dune::Fem::Operator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType >::nonlinear ( ) const
inlinevirtualinherited

◆ nonlinear() [2/2]

◆ op()

const GalerkinOperatorImplType & Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::op ( ) const
inlineprotectedinherited

◆ operator()() [1/4]

template<class DomainFunction , class RangeFunction = DomainFunction>
virtual void Dune::Fem::Operator< DomainFunction, RangeFunction >::operator() ( const DomainFunctionType u,
RangeFunctionType w 
) const
pure virtualinherited

application operator

Parameters
[in]uargument discrete function
[out]wdestination discrete function
Note
This method has to be implemented by all derived classes.

Implemented in Dune::Fem::DiagonalPreconditionerBase< DFImp, OperatorImp, assembled >, Dune::Fem::DiagonalPreconditionerBase< DFImp, Operator, std::is_base_of< AssembledOperator< DFImp, DFImp >, Operator > ::value >, Dune::Fem::DiagonalPreconditionerBase< DFImp, OperatorImp, true >, Dune::Fem::FemPreconditioningBase< DFImp, OperatorImp, method, assembled >, Dune::Fem::FemPreconditioningBase< DFImp, Operator, method, std::is_base_of< AssembledOperator< DFImp, DFImp >, Operator > ::value >, Dune::Fem::FemPreconditioningBase< DFImp, OperatorImp, method, true >, DGEllipticOperator< DiscreteFunction, Model, Penalty >, Dune::Fem::NumpyLinearOperator< DomainFunction, RangeFunction >, Dune::Fem::SparseRowLinearOperator< DomainFunction, RangeFunction, Matrix >, Dune::Fem::DenseRowLinearOperator< DomainFunction, RangeFunction >, Dune::Fem::HierarchicalLinearOperator< DomainFunction, RangeFunction >, Dune::Fem::Solver::CGInverseOperator< DiscreteFunction >, Dune::Fem::PreconditionerFunctionWrapper< DomainFunction, RangeFunction >, Dune::Fem::BlockDiagonalLinearOperator< DiscreteFunctionSpace, LocalBlock >, EllipticOperator< DomainDiscreteFunction, RangeDiscreteFunction, Model >, Dune::Fem::GalerkinOperator< Integrands, DomainFunction, RangeFunction >, Dune::Fem::GalerkinOperator< Integrands, DomainFunction, RangeFunction >, Dune::Fem::MassLumpingOperator< Integrands, MassIntegrands, DomainFunction, RangeFunction >, Dune::Fem::MOLGalerkinOperator< Integrands, DomainFunction, RangeFunction >, Dune::Fem::MOLGalerkinOperator< Integrands, DomainFunction, RangeFunction >, and Dune::Fem::VtxProjection< DType, RType >.

◆ operator()() [2/4]

virtual void Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::operator() ( const DomainFunctionType u,
RangeFunctionType w 
) const
inlinefinaloverridevirtualinherited

application operator

Parameters
[in]uargument discrete function
[out]wdestination discrete function
Note
This method has to be implemented by all derived classes.

◆ operator()() [3/4]

virtual void Dune::Fem::Operator< JacobianOperator::DomainFunctionType , JacobianOperator::RangeFunctionType >::operator() ( const DomainFunctionType u,
RangeFunctionType w 
) const
pure virtualinherited

application operator

Parameters
[in]uargument discrete function
[out]wdestination discrete function
Note
This method has to be implemented by all derived classes.

◆ operator()() [4/4]

void Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::operator() ( const GridFunction &  u,
RangeFunctionType w 
) const
inlineinherited

◆ setCommunicate()

void Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::setCommunicate ( const bool  communicate)
inlineinherited

◆ setQuadratureOrders()

void Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::setQuadratureOrders ( unsigned int  interior,
unsigned int  surface 
)
inlineinherited

Member Data Documentation

◆ communicate_

bool Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::communicate_
protectedinherited

◆ gridSizeInterior_

std::size_t Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::gridSizeInterior_
mutableprotectedinherited

◆ iterators_

ThreadIteratorType Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::iterators_
mutableprotectedinherited

◆ localOp_

ThreadSafeValue< LocalGalerkinOperatorImplType > Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::localOp_
protectedinherited

◆ mass_

ThreadSafeValue< MassOperatorImplType > Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::mass_
protectedinherited

◆ opImpl_

ThreadSafeValue< GalerkinOperatorImplType > Dune::Fem::MassLumpingOperator< Integrands, DomainFunction , RangeFunction , RangeFunction >::opImpl_
protectedinherited

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