|
dune-fem 2.12-git
|
Loading...
Searching...
No Matches
molgalerkin.hh
Go to the documentation of this file.
32 static_assert( std::is_same< typename DomainFunctionType::GridPartType, typename RangeFunctionType::GridPartType >::value, "DomainFunction and RangeFunction must be defined on the same grid part." );
45 typedef LocalMassMatrix< DiscreteFunctionSpaceType, InteriorQuadratureType > LocalMassMatrixType ;
73 virtual void operator() ( const DomainFunctionType &u, RangeFunctionType &w ) const final override
104 typedef TemporaryLocalFunction< typename RangeFunctionType::DiscreteFunctionSpaceType > TemporaryLocalFunctionType;
106 LocalMassMatrixType localMassMatrix( w.space(), localOperator().interiorQuadratureOrder( w.space().order() ) );
215 : public MOLGalerkinOperator< Integrands, typename JacobianOperator::DomainFunctionType, typename JacobianOperator::RangeFunctionType >,
218 typedef MOLGalerkinOperator< Integrands, typename JacobianOperator::DomainFunctionType, typename JacobianOperator::RangeFunctionType > BaseType;
230 typedef DiagonalAndNeighborStencil< DomainDiscreteFunctionSpaceType, RangeDiscreteFunctionSpaceType > DiagonalAndNeighborStencilType;
231 typedef DiagonalStencil< DomainDiscreteFunctionSpaceType, RangeDiscreteFunctionSpaceType > DiagonalStencilType;
252 virtual void jacobian ( const DomainFunctionType &u, JacobianOperatorType &jOp ) const final override
447 struct GetSetLocalMatrix< PetscLinearOperator< DomainFunction, RangeFunction > > : public GetSetLocalMatrixImplLocked
461 LocalMassMatrixType localMassMatrix( jOp.rangeSpace(), localOperator().interiorQuadratureOrder( jOp.rangeSpace().order() ) );
515 typedef AutomaticDifferenceOperator< DomainFunction, RangeFunction > AutomaticDifferenceOperatorType;
521 explicit MOLAutomaticDifferenceGalerkinOperator ( const GridPartType &gridPart, Args &&... args )
542 MOLModelDifferentiableGalerkinOperator ( ModelType &model, const DiscreteFunctionSpaceType &dfSpace )
564 using MethodOfLinesScheme = Impl::GalerkinSchemeImpl< Integrands, LinearOperator, InverseOperator, addDirichletBC,
void communicate(CC &cc)
int size() const
virtual void operator()()=0
STL namespace.
Impl::GalerkinSchemeImpl< Integrands, LinearOperator, InverseOperator, addDirichletBC, MOLDifferentiableGalerkinOperator > MethodOfLinesScheme
Definition molgalerkin.hh:565
static auto bindGuard(Object &object, Args &&... args) -> std::enable_if_t< isBindable< Object, Args... >::value, BindGuard< Object > >
Definition bindguard.hh:67
A temporary function carrying values for one entity.
Definition temporary.hh:209
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
void leftMultiplyInverse(LocalMatrix &localMatrix) const
compute M^-1 * localMatrix
Definition localmassmatrix.hh:394
void applyInverse(MassCaller &caller, const EntityType &entity, const BasisFunctionSet &basisFunctionSet, LocalFunction &lf) const
Definition localmassmatrix.hh:340
operator providing a Jacobian through automatic differentiation
Definition automaticdifferenceoperator.hh:86
abstract differentiable operator
Definition differentiableoperator.hh:29
DomainFunction DomainFunctionType
type of discrete function in the operator's domain
Definition operator.hh:36
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
A local matrix with a small array as storage.
Definition temporarylocalmatrix.hh:100
void bind(const DomainEntityType &domainEntity, const RangeEntityType &rangeEntity)
initialize the local matrix to entities
Definition temporarylocalmatrix.hh:156
Definition molgalerkin.hh:27
ThreadSafeValue< LocalGalerkinOperatorImplType > localOp_
Definition molgalerkin.hh:202
LocalMassMatrix< DiscreteFunctionSpaceType, InteriorQuadratureType > LocalMassMatrixType
Definition molgalerkin.hh:45
ThreadIteratorType iterators_
Definition molgalerkin.hh:200
void applyInverseMass(const Iterators &iterators, RangeFunctionType &w) const
Definition molgalerkin.hh:101
const GalerkinOperatorImplType & impl() const
Definition molgalerkin.hh:91
Impl::LocalGalerkinOperator< Integrands > LocalGalerkinOperatorImplType
Definition molgalerkin.hh:38
std::size_t gridSizeInterior_
Definition molgalerkin.hh:204
Impl::GalerkinOperator< GridPartType > GalerkinOperatorImplType
Definition molgalerkin.hh:37
const GridPartType & gridPart() const
Definition molgalerkin.hh:84
void setCommunicate(const bool communicate)
Definition molgalerkin.hh:57
RangeFunction RangeFunctionType
Definition molgalerkin.hh:29
void evaluate(const GridFunction &u, RangeFunctionType &w) const
Definition molgalerkin.hh:127
ThreadIterator< GridPartType > ThreadIteratorType
Definition molgalerkin.hh:35
std::size_t gridSizeInterior() const
Definition molgalerkin.hh:95
RangeFunctionType::GridPartType GridPartType
Definition molgalerkin.hh:34
const GalerkinOperatorImplType & op() const
Definition molgalerkin.hh:98
DomainFunction DomainFunctionType
Definition molgalerkin.hh:28
ThreadSafeValue< GalerkinOperatorImplType > opImpl_
Definition molgalerkin.hh:201
LocalGalerkinOperatorImplType::template QuadratureSelector< DiscreteFunctionSpaceType >::InteriorQuadratureType InteriorQuadratureType
Definition molgalerkin.hh:43
RangeFunctionType::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
Definition molgalerkin.hh:40
MOLGalerkinOperator(const GridPartType &gridPart, Args &&... args)
Definition molgalerkin.hh:48
void setQuadratureOrders(unsigned int interior, unsigned int surface)
Definition molgalerkin.hh:66
Integrands DirichletModelType
Definition molgalerkin.hh:87
const LocalGalerkinOperatorImplType & localOperator() const
Definition molgalerkin.hh:93
Definition molgalerkin.hh:217
int domainSpaceSequence_
Definition molgalerkin.hh:498
ThreadIteratorType iterators_
Definition molgalerkin.hh:200
MOLDifferentiableGalerkinOperator(const DomainDiscreteFunctionSpaceType &dSpace, const RangeDiscreteFunctionSpaceType &rSpace, Args &&... args)
Definition molgalerkin.hh:236
DiagonalStencil< DomainDiscreteFunctionSpaceType, RangeDiscreteFunctionSpaceType > DiagonalStencilType
Definition molgalerkin.hh:231
const RangeDiscreteFunctionSpaceType & rSpace_
Definition molgalerkin.hh:497
std::unique_ptr< DiagonalAndNeighborStencilType > stencilDAN_
Definition molgalerkin.hh:500
std::size_t gridSizeInterior_
Definition molgalerkin.hh:204
virtual void jacobian(const DomainFunctionType &u, JacobianOperatorType &jOp) const final override
obtain linearization
Definition molgalerkin.hh:252
const GridPartType & gridPart() const
Definition molgalerkin.hh:84
const DomainDiscreteFunctionSpaceType & dSpace_
Definition molgalerkin.hh:496
RangeFunctionType::DiscreteFunctionSpaceType RangeDiscreteFunctionSpaceType
Definition molgalerkin.hh:226
void prepare(JacobianOperatorType &jOp) const
Definition molgalerkin.hh:293
void assemble(const GridFunction &u, JacobianOperatorType &jOp) const
Definition molgalerkin.hh:321
std::unique_ptr< DiagonalStencilType > stencilD_
Definition molgalerkin.hh:501
const RangeDiscreteFunctionSpaceType & space() const
Definition molgalerkin.hh:273
BaseType::LocalGalerkinOperatorImplType LocalGalerkinOperatorImplType
Definition molgalerkin.hh:228
DiagonalAndNeighborStencil< DomainDiscreteFunctionSpaceType, RangeDiscreteFunctionSpaceType > DiagonalAndNeighborStencilType
Definition molgalerkin.hh:230
void applyInverseMass(const Iterators &iterators, GetSetLocalMatrixOp &getSet, const bool hasSkeleton) const
Definition molgalerkin.hh:455
const GalerkinOperatorImplType & op() const
Definition molgalerkin.hh:98
const DomainDiscreteFunctionSpaceType & domainSpace() const
Definition molgalerkin.hh:264
DomainFunctionType::DiscreteFunctionSpaceType DomainDiscreteFunctionSpaceType
Definition molgalerkin.hh:225
int rangeSpaceSequence_
Definition molgalerkin.hh:498
BaseType::GridPartType GridPartType
Definition molgalerkin.hh:233
const LocalGalerkinOperatorImplType & localOperator() const
Definition molgalerkin.hh:93
JacobianOperator JacobianOperatorType
Definition molgalerkin.hh:221
BaseType::RangeFunctionType RangeFunctionType
Definition molgalerkin.hh:224
bool hasSkeleton() const
returns true if one of the models has a skeleton term
Definition molgalerkin.hh:287
BaseType::DomainFunctionType DomainFunctionType
Definition molgalerkin.hh:223
void jacobian(const GridFunction &u, JacobianOperatorType &jOp) const
Definition molgalerkin.hh:259
const RangeDiscreteFunctionSpaceType & rangeSpace() const
Definition molgalerkin.hh:268
Definition molgalerkin.hh:391
GetSetLocalMatrixImpl(JacobianOperatorType &jOp)
Definition molgalerkin.hh:393
void setLocalMatrix(const Entity &domainEntity, const Entity &rangeEntity, const LocalMatrix &lop)
Definition molgalerkin.hh:403
void getLocalMatrix(const Entity &domainEntity, const Entity &rangeEntity, LocalMatrix &lop) const
Definition molgalerkin.hh:396
JacobianOperatorType & jOp_
Definition molgalerkin.hh:392
Definition molgalerkin.hh:411
std::shared_mutex mutex_t
Definition molgalerkin.hh:413
mutex_t mutex_
Definition molgalerkin.hh:414
GetSetLocalMatrixImpl BaseType
Definition molgalerkin.hh:412
GetSetLocalMatrixImplLocked(JacobianOperatorType &jOp)
Definition molgalerkin.hh:416
void getLocalMatrix(const Entity &domainEntity, const Entity &rangeEntity, LocalMatrix &lop) const
Definition molgalerkin.hh:419
void setLocalMatrix(const Entity &domainEntity, const Entity &rangeEntity, const LocalMatrix &lop)
Definition molgalerkin.hh:427
Definition molgalerkin.hh:437
GetSetLocalMatrixImpl BaseType
Definition molgalerkin.hh:438
GetSetLocalMatrix(JacobianOperatorType &jOp)
Definition molgalerkin.hh:439
Definition molgalerkin.hh:513
BaseType::GridPartType GridPartType
Definition molgalerkin.hh:518
MOLAutomaticDifferenceGalerkinOperator(const GridPartType &gridPart, Args &&... args)
Definition molgalerkin.hh:521
Definition molgalerkin.hh:534
MOLModelDifferentiableGalerkinOperator(ModelType &model, const DiscreteFunctionSpaceType &dfSpace)
Definition molgalerkin.hh:542
LinearOperator::DomainFunctionType RangeFunctionType
Definition molgalerkin.hh:539
void apply(const GridFunction &u, RangeFunctionType &w) const
Definition molgalerkin.hh:547
MOLDifferentiableGalerkinOperator< ModelIntegrands, LinearOperator > BaseType
Definition molgalerkin.hh:535
LinearOperator::RangeSpaceType DiscreteFunctionSpaceType
Definition molgalerkin.hh:540
void apply(const GridFunction &u, LinearOperator &jOp) const
Definition molgalerkin.hh:553
ModelIntegrands::ModelType ModelType
Definition molgalerkin.hh:537
T endl(T... args)
Legal Statements / Impressum | Hosted by TU Dresden & Uni Heidelberg | Generated by
1.9.8