|
dune-fem 2.12-git
|
Loading...
Searching...
No Matches
masslumping.hh
Go to the documentation of this file.
25 template< class Integrands, class MassIntegrands, class DomainFunction, class RangeFunction = DomainFunction >
33 static_assert( std::is_same< typename DomainFunctionType::GridPartType, typename RangeFunctionType::GridPartType >::value, "DomainFunction and RangeFunction must be defined on the same grid part." );
52 typedef Impl::LocalGalerkinOperator< MassIntegrands, LumpingQuadratureSelector > MassOperatorImplType;
99 virtual void operator() ( const DomainFunctionType &u, RangeFunctionType &w ) const final override
200 : public MassLumpingOperator< Integrands, MassIntegrands, typename JacobianOperator::DomainFunctionType, typename JacobianOperator::RangeFunctionType >,
203 typedef MassLumpingOperator< Integrands, MassIntegrands, typename JacobianOperator::DomainFunctionType, typename JacobianOperator::RangeFunctionType > BaseType;
216 typedef DiagonalAndNeighborStencil< DomainDiscreteFunctionSpaceType, RangeDiscreteFunctionSpaceType > DiagonalAndNeighborStencilType;
217 typedef DiagonalStencil< DomainDiscreteFunctionSpaceType, RangeDiscreteFunctionSpaceType > DiagonalStencilType;
238 virtual void jacobian ( const DomainFunctionType &u, JacobianOperatorType &jOp ) const final override
270 std::tuple< const LocalGalerkinOperatorImplType&, const MassOperatorImplType& > integrands( localOperator(), mass() );
318 std::tuple< const LocalGalerkinOperatorImplType&, const MassOperatorImplType& > integrands( localOperator(), mass() );
339 std::tuple< const LocalGalerkinOperatorImplType&, const MassOperatorImplType& > integrands( localOperator(), mass() );
370 typedef AutomaticDifferenceOperator< DomainFunction, RangeFunction > AutomaticDifferenceOperatorType;
376 explicit MassLumpingAutomaticDifferenceGalerkinOperator ( const GridPartType &gridPart, Args &&... args )
399 DirichletWrapperOperator< DifferentiableGalerkinOperatorImpl< Integrands, MassIntegrands, LinearOperator >>,
415 template <class,class,class> class DifferentiableGalerkinOperatorImpl = MassLumpingDifferentiableOperator >
422 typedef FemScheme< typename MassLumpingSchemeTraits< Integrands, MassIntegrands, LinearOperator,
449 template< class Integrands, class MassIntegrands, class LinearOperator, class InverseOperator, bool addDirichletBC >
450 using MassLumpingScheme = Impl::MassLumpingSchemeImpl< Integrands, MassIntegrands, LinearOperator, InverseOperator, addDirichletBC,
void communicate(CC &cc)
int size() const
virtual void operator()()=0
#define DUNE_THROW(E,...)
STL namespace.
Impl::MassLumpingSchemeImpl< Integrands, MassIntegrands, LinearOperator, InverseOperator, addDirichletBC, MassLumpingDifferentiableOperator > MassLumpingScheme
Definition masslumping.hh:451
BasicParameterReader< std::function< const std::string *(const std::string &, const std::string *) > > ParameterReader
Definition reader.hh:316
static ParameterContainer & container()
Definition io/parameter.hh:199
static bool verbose()
obtain the cached value for fem.verbose with default verbosity level 2
Definition io/parameter.hh:466
Exception thrown when a code segment that is supposed to be only accessed in single thread mode is ac...
Definition mpimanager.hh:43
void update()
update internal list of iterators
Definition threaditerator.hh:93
size_t size() const
return number of threads
Definition threadsafevalue.hh:62
operator providing a Jacobian through automatic differentiation
Definition automaticdifferenceoperator.hh:86
abstract differentiable operator
Definition differentiableoperator.hh:29
Stencil contaning the entries (en,en) for all entities in the space. Defailt for an operator over a L...
Definition stencil.hh:349
Stencil contaning the entries (en,en) and (en,nb) for all entities en in the space and neighbors nb o...
Definition stencil.hh:387
quadrature class supporting base function caching
Definition cachingquadrature.hh:106
Definition defaultquadratures.hh:40
Definition dirichletwrapper.hh:31
DiscreteFunctionType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
Definition femscheme.hh:44
FemScheme(const DiscreteFunctionSpaceType &space, ModelType &model, const Dune::Fem::ParameterReader ¶meter=Dune::Fem::Parameter::container())
constructor with one model
Definition femscheme.hh:82
Definition masslumping.hh:28
std::size_t gridSizeInterior() const
Definition masslumping.hh:123
RangeFunctionType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
Definition masslumping.hh:54
const GalerkinOperatorImplType & op() const
Definition masslumping.hh:126
Impl::LocalGalerkinOperator< MassIntegrands, LumpingQuadratureSelector > MassOperatorImplType
Definition masslumping.hh:52
ThreadSafeValue< GalerkinOperatorImplType > opImpl_
Definition masslumping.hh:185
RangeFunction RangeFunctionType
Definition masslumping.hh:30
ThreadIteratorType iterators_
Definition masslumping.hh:184
const GridPartType & gridPart() const
Definition masslumping.hh:110
Impl::GalerkinOperator< GridPartType > GalerkinOperatorImplType
Definition masslumping.hh:38
void evaluate(const GridFunction &u, RangeFunctionType &w) const
Definition masslumping.hh:129
MassLumpingOperator(const GridPartType &gridPart, const Integrands &integrands, const MassIntegrands &massIntegrands, Args &&... args)
Definition masslumping.hh:57
const LocalGalerkinOperatorImplType & impl() const
Definition masslumping.hh:117
RangeFunctionType::GridPartType GridPartType
Definition masslumping.hh:35
ThreadSafeValue< MassOperatorImplType > mass_
Definition masslumping.hh:187
void setCommunicate(const bool communicate)
Definition masslumping.hh:82
Integrands DirichletModelType
Definition masslumping.hh:113
ThreadSafeValue< LocalGalerkinOperatorImplType > localOp_
Definition masslumping.hh:186
Impl::LocalGalerkinOperator< Integrands > LocalGalerkinOperatorImplType
Definition masslumping.hh:39
ThreadIterator< GridPartType > ThreadIteratorType
Definition masslumping.hh:36
const LocalGalerkinOperatorImplType & localOperator() const
return local operator holding instance of integrands
Definition masslumping.hh:120
const MassOperatorImplType & mass() const
Definition masslumping.hh:121
void setQuadratureOrders(unsigned int interior, unsigned int surface)
Definition masslumping.hh:91
DomainFunction DomainFunctionType
Definition masslumping.hh:29
std::size_t gridSizeInterior_
Definition masslumping.hh:189
Definition masslumping.hh:43
CachingQuadrature< GridPartType, 1, Capabilities::DefaultQuadrature< Space >::template DefaultQuadratureTraits > SurfaceQuadratureType
Definition masslumping.hh:48
Space::GridPartType GridPartType
Definition masslumping.hh:44
CachingLumpingQuadrature< GridPartType, 0 > InteriorQuadratureType
Definition masslumping.hh:45
Definition masslumping.hh:202
std::unique_ptr< DiagonalAndNeighborStencilType > stencilDAN_
Definition masslumping.hh:355
const RangeDiscreteFunctionSpaceType & space() const
Definition masslumping.hh:259
JacobianOperator JacobianOperatorType
Definition masslumping.hh:209
int domainSpaceSequence_
Definition masslumping.hh:353
const RangeDiscreteFunctionSpaceType & rSpace_
Definition masslumping.hh:352
const GalerkinOperatorImplType & op() const
Definition masslumping.hh:126
int rangeSpaceSequence_
Definition masslumping.hh:353
ThreadIteratorType iterators_
Definition masslumping.hh:184
void prepare(JacobianOperatorType &jOp) const
Definition masslumping.hh:279
RangeFunctionType::DiscreteFunctionSpaceType RangeDiscreteFunctionSpaceType
Definition masslumping.hh:214
void jacobian(const GridFunction &u, JacobianOperatorType &jOp) const
Definition masslumping.hh:245
const GridPartType & gridPart() const
Definition masslumping.hh:110
const RangeDiscreteFunctionSpaceType & rangeSpace() const
Definition masslumping.hh:254
virtual void jacobian(const DomainFunctionType &u, JacobianOperatorType &jOp) const final override
obtain linearization
Definition masslumping.hh:238
DiagonalStencil< DomainDiscreteFunctionSpaceType, RangeDiscreteFunctionSpaceType > DiagonalStencilType
Definition masslumping.hh:217
DiagonalAndNeighborStencil< DomainDiscreteFunctionSpaceType, RangeDiscreteFunctionSpaceType > DiagonalAndNeighborStencilType
Definition masslumping.hh:216
DomainFunctionType::DiscreteFunctionSpaceType DomainDiscreteFunctionSpaceType
Definition masslumping.hh:213
BaseType::MassOperatorImplType MassOperatorImplType
Definition masslumping.hh:207
const DomainDiscreteFunctionSpaceType & dSpace_
Definition masslumping.hh:351
const DomainDiscreteFunctionSpaceType & domainSpace() const
Definition masslumping.hh:250
MassLumpingDifferentiableOperator(const DomainDiscreteFunctionSpaceType &dSpace, const RangeDiscreteFunctionSpaceType &rSpace, Args &&... args)
Definition masslumping.hh:222
BaseType::RangeFunctionType RangeFunctionType
Definition masslumping.hh:212
std::unique_ptr< DiagonalStencilType > stencilD_
Definition masslumping.hh:356
const LocalGalerkinOperatorImplType & localOperator() const
return local operator holding instance of integrands
Definition masslumping.hh:120
const MassOperatorImplType & mass() const
Definition masslumping.hh:121
void assemble(const GridFunction &u, JacobianOperatorType &jOp) const
Definition masslumping.hh:307
BaseType::LocalGalerkinOperatorImplType LocalGalerkinOperatorImplType
Definition masslumping.hh:206
BaseType::GridPartType GridPartType
Definition masslumping.hh:219
BaseType::DomainFunctionType DomainFunctionType
Definition masslumping.hh:211
bool hasSkeleton() const
Definition masslumping.hh:268
std::size_t gridSizeInterior_
Definition masslumping.hh:189
Definition masslumping.hh:368
MassLumpingAutomaticDifferenceGalerkinOperator(const GridPartType &gridPart, Args &&... args)
Definition masslumping.hh:376
BaseType::GridPartType GridPartType
Definition masslumping.hh:373
T endl(T... args)
T move(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8