DUNE-FEM (unstable)
discretefunctionspace.hh
108 };
224 typedef typename GridPartType :: template Codim< Traits::codimension > :: EntityType EntityType;
265 typedef typename DifferentDiscreteFunctionSpace< DiscreteFunctionSpaceType, NewFunctionSpace> :: Type Type;
272 typedef typename ToNewDimRangeFunctionSpace< FunctionSpaceType, newDimRange > :: Type NewFunctionSpaceType;
279 static_assert( std::is_same<typename BaseType::DomainFieldType, typename GridType::ctype>::value,
691 return new ObjectType( std::piecewise_construct, std::tie( *key.first, *key.second ), std::make_tuple( -1 ) );
697 typedef SingletonList< std::pair< GridPartType *, BlockMapperType * >, std::pair< AuxiliaryDofsType, int >, AuxiliaryDofsFactory > AuxiliaryDofsProviderType;
703 typedef StackAllocator< typename BaseType::RangeFieldType, LocalDofVectorStackType* > LocalDofVectorAllocatorType;
704 typedef Dune::DynamicVector< typename BaseType::RangeFieldType, LocalDofVectorAllocatorType > LocalDofVectorType;
898 localBlockSize == static_cast< std::size_t >(DiscreteFunction::DiscreteFunctionSpaceType::localBlockSize),
899 "DiscreteFunctionSpaceDefault::communicate cannot be called with discrete functions defined over a different space" );
904 static_assert( std::is_base_of< IsBlockVector, DiscreteFunction> :: value, "DiscreteFunctionSpaceDefault::communicate needs at least a BlockVectorInterface and derived");
924 localBlockSize == static_cast< std::size_t >(DiscreteFunction::DiscreteFunctionSpaceType::localBlockSize),
925 "DiscreteFunctionSpaceDefault::createDataHandle cannot be called with discrete functions defined over a different space" );
935 auxiliaryDofs_.reset( &(AuxiliaryDofsProviderType::getObject( std::make_pair( &this->gridPart(), &this->blockMapper() ) )) );
977 mutable std::unique_ptr< std::pair< AuxiliaryDofsType, int >, typename AuxiliaryDofsProviderType::Deleter > auxiliaryDofs_;
999 , public std::enable_shared_from_this< DiscreteFunctionSpaceAdapter<FunctionSpaceImp,GridPartImp> >
1013 enum { polynomialOrder = 6 }; // default polynomial order basically for determination of quadrature orders
Provides check for implementation of interface methods when using static polymorphism,...
#define CHECK_AND_CALL_INTERFACE_IMPLEMENTATION(__interface_method_to_call__)
Definition: bartonnackmanifcheck.hh:61
consecutive, persistent index set for the leaf level based on the grid's hierarchy index set
Definition: adaptiveleafindexset.hh:1351
default implementation uses method geomTypes of given index set. Used in DiscreteFunctionSpaces.
Definition: allgeomtypes.hh:99
In parallel computations the dofs of a discrete function are made up by all primary dofs....
Definition: auxiliarydofs.hh:46
BasisFunctionSetSingletonFactory provides method createObject and deleteObject for the SingletonList.
Definition: discretefunctionspace.hh:1131
static ObjectImp * createObject(const KeyImp &key)
create new BaseFunctionSet
Definition: discretefunctionspace.hh:1134
static void deleteObject(ObjectImp *obj)
delete BaseFunctionSet
Definition: discretefunctionspace.hh:1141
A temporary function carrying values for one entity.
Definition: temporary.hh:42
mapper allocating one DoF per subentity of a given codimension
Definition: codimensionmapper.hh:357
default communication manager using just the grids communicate method
Definition: communicationmanager.hh:78
Create Obejct that behaves like a discrete function space without to provide functions with the itera...
Definition: discretefunctionspace.hh:1000
IteratorType begin() const
get iterator pointing to the first entity of the associated grid partition
Definition: discretefunctionspace.hh:1054
GridPartType::template Codim< 0 >::IteratorType IteratorType
type of the grid iterator
Definition: discretefunctionspace.hh:1021
bool continuous(const IntersectionType &intersection) const
returns true if the space contains only globally continuous functions
Definition: discretefunctionspace.hh:1098
DiscreteFunctionSpaceAdapter(const GridPartType &gridPart, unsigned int order=polynomialOrder)
constructor taking grid Part
Definition: discretefunctionspace.hh:1037
DiscreteFunctionSpaceAdapter(const ThisType &other)
copy constructor
Definition: discretefunctionspace.hh:1046
bool continuous() const
returns true if the space contains only globally continuous functions
Definition: discretefunctionspace.hh:1093
DefaultCommunicationManager< ThisType > CommunicationManagerType
type of communication manager (only the default communication is valid here)
Definition: discretefunctionspace.hh:1028
const GridPartType & gridPart() const
get a reference to the associated grid partition
Definition: discretefunctionspace.hh:1075
int order() const
get global order of space
Definition: discretefunctionspace.hh:1104
const GridType & grid() const
get reference to grid this discrete function space belongs to
Definition: discretefunctionspace.hh:1087
IteratorType end() const
get iterator pointing behind the last entity of the associated grid partition
Definition: discretefunctionspace.hh:1060
GridPartImp GridPartType
type of the grid partition
Definition: discretefunctionspace.hh:1005
DFSpaceIdentifier type() const
return type identifier of discrete function space
Definition: discretefunctionspace.hh:1116
void forEach(FunctorType &f) const
apply a functor to each entity in the associated grid partition
Definition: discretefunctionspace.hh:1067
int order(const EntityType &) const
get global order of space
Definition: discretefunctionspace.hh:1110
const IndexSetType & indexSet() const
Get a reference to the associated index set.
Definition: discretefunctionspace.hh:1081
GridPartType::IndexSetType IndexSetType
type of the index set
Definition: discretefunctionspace.hh:1018
GridPartType::GridType GridType
type of the grid
Definition: discretefunctionspace.hh:1016
This is the class with default implementations for discrete function. The methods not marked with hav...
Definition: discretefunctionspace.hh:649
bool multipleBasisFunctionSets() const
returns true if base function sets depend on the entity
Definition: discretefunctionspace.hh:849
BaseType::template CommDataHandle< DiscreteFunction, Operation >::Type createDataHandle(DiscreteFunction &discreteFunction, const Operation &operation) const
Definition: discretefunctionspace.hh:919
int order(const EntityType &entity) const
default implementation of the method order
Definition: discretefunctionspace.hh:748
const std::vector< GeometryType > & geomTypes(int codim) const
returns true if the grid has more than one geometry type
Definition: discretefunctionspace.hh:969
const CommunicationManagerType & communicator() const
return reference to communicator (see CommunicationManager)
Definition: discretefunctionspace.hh:867
void addFunction(DiscreteFunction &df) const
default implementation of addFunction does nothing at the moment
Definition: discretefunctionspace.hh:947
void removeFunction(DiscreteFunction &df) const
default implementation of removeFunction does nothing at the moment
Definition: discretefunctionspace.hh:953
void communicate(DiscreteFunction &discreteFunction) const
communicate data for given discrete function using the space's default communication operation
Definition: discretefunctionspace.hh:877
const GridType & grid() const
get reference to grid this discrete function space belongs to
Definition: discretefunctionspace.hh:754
InterfaceType communicationInterface() const
return the communication interface appropriate for this space
Definition: discretefunctionspace.hh:855
void forEach(FunctorType &f) const
apply a functor to each entity in the associated grid partition
Definition: discretefunctionspace.hh:832
int maxNumDofs() const
return the maximal number of dofs on entities
Definition: discretefunctionspace.hh:797
int primarySize() const
get number of primary DoFs for this space
Definition: discretefunctionspace.hh:784
GridType & grid()
get reference to grid this discrete function space belongs to
Definition: discretefunctionspace.hh:760
int sequence() const
get index of the sequence in grid sequences
Definition: discretefunctionspace.hh:739
const IndexSetType & indexSet() const
Get a reference to the associated index set.
Definition: discretefunctionspace.hh:772
void communicate(DiscreteFunction &discreteFunction, const Operation &op) const
communicate data for given discrete function
Definition: discretefunctionspace.hh:892
const AuxiliaryDofsType & auxiliaryDofs() const
get auxiliary dofs
Definition: discretefunctionspace.hh:932
int size() const
get number of DoFs for this space
Definition: discretefunctionspace.hh:778
void adapt(const Vector &polynomialOrders, const int polOrderShift=0) const
default implementation of adapt does nothing, its only used in PAdaptiveLagrangeSpace
Definition: discretefunctionspace.hh:960
GridPartType & gridPart() const
Definition: discretefunctionspace.hh:766
CommunicationManager< DiscreteFunctionSpaceType > CommunicationManagerType
type of communication manager
Definition: discretefunctionspace.hh:679
CommunicationDirection communicationDirection() const
return the communication interface appropriate for this space
Definition: discretefunctionspace.hh:861
IteratorType end() const
get iterator pointing behind the last entity of the associated grid partition
Definition: discretefunctionspace.hh:817
DiscreteFunctionSpaceDefault(GridPartType &gridPart, const InterfaceType commInterface=InteriorBorder_All_Interface, const CommunicationDirection commDirection=ForwardCommunication)
constructor
Definition: discretefunctionspace.hh:725
IteratorType begin() const
get iterator pointing to the first entity of the associated grid partition
Definition: discretefunctionspace.hh:807
bool multipleGeometryTypes() const
returns true if the grid has more than one geometry type
Definition: discretefunctionspace.hh:840
DofManager< GridType > DofManagerType
type of DoF manager
Definition: discretefunctionspace.hh:676
int auxiliarySize() const
get number of auxiliary DoFs for this space
Definition: discretefunctionspace.hh:790
This is the interface for discrete function spaces. All methods declared here have to be implemented ...
Definition: discretefunctionspace.hh:185
static constexpr std::size_t localBlockSize
size of local blocks
Definition: discretefunctionspace.hh:208
Traits::BlockMapperType BlockMapperType
type of block mapper of this space
Definition: discretefunctionspace.hh:203
const CommunicationManagerType & communicator() const
return reference to communicator (see CommunicationManager)
Definition: discretefunctionspace.hh:533
GridPartType::GridType GridType
type of underlying dune grid
Definition: discretefunctionspace.hh:214
AuxiliaryDofs< GridPartType, BlockMapperType > AuxiliaryDofsType
type of auxiliary dofs
Definition: discretefunctionspace.hh:228
bool continuous() const
returns true if the space contains only globally continuous functions
Definition: discretefunctionspace.hh:325
const IndexSetType & indexSet() const
Get a reference to the associated index set.
Definition: discretefunctionspace.hh:415
const AuxiliaryDofsType & slaveDofs() const
deprecated method, use auxiliaryDofs
Definition: discretefunctionspace.hh:590
GridPartType::IndexSetType IndexSetType
type of used dune index set
Definition: discretefunctionspace.hh:216
Traits::FunctionSpaceType FunctionSpaceType
type of function space
Definition: discretefunctionspace.hh:194
Traits::BasisFunctionSetType BasisFunctionSetType
type of basis function set of this space
Definition: discretefunctionspace.hh:201
GridPartType::IntersectionType IntersectionType
type of the intersections
Definition: discretefunctionspace.hh:226
int primarySize() const
get number of primary DoFs for this space
Definition: discretefunctionspace.hh:435
bool multipleBasisFunctionSets() const
returns true if base function sets depend on the entity
Definition: discretefunctionspace.hh:506
InterfaceType communicationInterface() const
return the communication interface appropriate for this space
Definition: discretefunctionspace.hh:515
CommunicationManager< DiscreteFunctionSpaceType > CommunicationManagerType
type of communication manager
Definition: discretefunctionspace.hh:258
int auxiliarySize() const
get number of auxiliary DoFs for this space
Definition: discretefunctionspace.hh:445
const GridType & grid() const
get reference to grid this discrete function space belongs to
Definition: discretefunctionspace.hh:385
FunctionSpaceTraits Traits
type of traits class
Definition: discretefunctionspace.hh:188
Traits::GridPartType GridPartType
type of underlying grid part
Definition: discretefunctionspace.hh:211
GridType & grid()
get reference to grid this discrete function space belongs to
Definition: discretefunctionspace.hh:395
const BasisFunctionSetType basisFunctionSet(const EntityType &entity) const
get basis function set for given entity
Definition: discretefunctionspace.hh:307
int order() const
get global order of space
Definition: discretefunctionspace.hh:346
GridPartType::template Codim< Traits::codimension >::EntityType EntityType
type of entity of codimension 0
Definition: discretefunctionspace.hh:224
DFSpaceIdentifier type() const
return type identifier of discrete function space
Definition: discretefunctionspace.hh:294
GridPartType & gridPart()
get a reference to the associated grid partition
Definition: discretefunctionspace.hh:405
bool continuous(const IntersectionType &intersection) const
returns true if discrete functions over this space have zero jump over the given intersection.
Definition: discretefunctionspace.hh:365
GridPartType::template Codim< Traits::codimension >::IteratorType IteratorType
type of iterator for grid traversal
Definition: discretefunctionspace.hh:222
int sequence() const
get index of the sequence in grid sequences
Definition: discretefunctionspace.hh:335
void forEach(FunctorType &f) const
apply a functor to each entity in the associated grid partition
Definition: discretefunctionspace.hh:484
void communicate(DiscreteFunction &discreteFunction) const
communicate data for given discrete function using the space's default communication operation
Definition: discretefunctionspace.hh:545
IteratorType end() const
get iterator pointing behind the last entity of the associated grid partition
Definition: discretefunctionspace.hh:467
bool multipleGeometryTypes() const
returns true if the grid has more than one geometry type
Definition: discretefunctionspace.hh:494
int size() const
get number of DoFs for this space
Definition: discretefunctionspace.hh:425
IteratorType begin() const
get iterator pointing to the first entity of the associated grid partition
Definition: discretefunctionspace.hh:456
AuxiliaryDofsType SlaveDofsType
deprecated type
Definition: discretefunctionspace.hh:232
CommunicationDirection communicationDirection() const
return the communication direction appropriate for this space
Definition: discretefunctionspace.hh:524
BlockMapperType & blockMapper() const
get a reference to the block mapper
Definition: discretefunctionspace.hh:375
CommDataHandle< DiscreteFunction, Operation >::Type createDataHandle(DiscreteFunction &discreteFunction, const Operation &operation) const
Creates DataHandle for given discrete function.
Definition: discretefunctionspace.hh:573
void communicate(DiscreteFunction &discreteFunction, const Operation &op) const
communicate data for given discrete function
Definition: discretefunctionspace.hh:558
Traits::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
type of DiscretefunctionSapce implementation (Barton-Nackman)
Definition: discretefunctionspace.hh:192
const AuxiliaryDofsType & auxiliaryDofs() const
get auxiliary dofs
Definition: discretefunctionspace.hh:582
Definition: dofmanager.hh:786
static auto getObject(const KeyType &key, Args &&... args) -> std::enable_if_t< std::is_same< decltype(FactoryType::createObject(key, std::forward< Args >(args)...)), ObjectType * >::value, ObjectType & >
Definition: singletonlist.hh:94
This file implements a dense vector with a dynamic size.
void exchange(DiscreteFunction &discreteFunction) const
exchange data for a discrete function using the copy operation
Definition: communicationmanager.hh:225
IndexType primarySize() const
return number of primaryDofs
Definition: auxiliarydofs.hh:134
DFSpaceIdentifier
enumerator for identification of spaces
Definition: discretefunctionspace.hh:95
@ CombinedSpace_id
id for Combined Space
Definition: discretefunctionspace.hh:96
@ LagrangeSpace_id
id for Lagrange Space
Definition: discretefunctionspace.hh:102
@ LegendreDGSpace_id
id for Legendre Discontinuous Galerkin Space
Definition: discretefunctionspace.hh:104
@ GenericSpace_id
id for Generic Space
Definition: discretefunctionspace.hh:101
@ LocalFiniteElementSpace_id
id for local finite element space
Definition: discretefunctionspace.hh:107
@ DFAdapter_id
id for DiscreteFunctionSpace Adapter
Definition: discretefunctionspace.hh:97
@ FourierSpace_id
id for Fourier space
Definition: discretefunctionspace.hh:100
@ DGSpace_id
id for Discontinuous Galerkin Space
Definition: discretefunctionspace.hh:98
@ LagrangeDGSpace_id
id for Lagrange Discontinuous Galerkin Space
Definition: discretefunctionspace.hh:106
@ FiniteVolumeSpace_id
id for Finite Volume Space
Definition: discretefunctionspace.hh:99
@ HierarchicLegendreDGSpace_id
id for Hierarchic Legendre Discontinuous Galerkin Space
Definition: discretefunctionspace.hh:105
@ RannacherTurekSpace_id
id for Rannacher-Turek space
Definition: discretefunctionspace.hh:103
CommunicationDirection
Define a type for communication direction parameter.
Definition: gridenums.hh:170
InterfaceType
Parameter to be used for the communication functions.
Definition: gridenums.hh:86
@ ForwardCommunication
communicate as given in InterfaceType
Definition: gridenums.hh:171
@ InteriorBorder_All_Interface
send interior and border, receive all entities
Definition: gridenums.hh:88
EnableIfInterOperable< T1, T2, bool >::type operator==(const ForwardIteratorFacade< T1, V1, R1, D > &lhs, const ForwardIteratorFacade< T2, V2, R2, D > &rhs)
Checks for equality.
Definition: iteratorfacades.hh:238
defines type of data handle for communication
Definition: discretefunctionspace.hh:245
Traits::template CommDataHandle< DiscreteFunction, Operation >::OperationType OperationType
type of operation to perform on scatter
Definition: discretefunctionspace.hh:254
Traits::template CommDataHandle< DiscreteFunction, Operation >::Type Type
type of communication data handle
Definition: discretefunctionspace.hh:249
typedef struct for defining the same discrete function space with a different dimRange
Definition: discretefunctionspace.hh:271
ToNewFunctionSpace< NewFunctionSpaceType >::Type Type
type of my discrete function space with new dim range
Definition: discretefunctionspace.hh:275
typedef struct for defining the same discrete function space with a different function space
Definition: discretefunctionspace.hh:263
DifferentDiscreteFunctionSpace< DiscreteFunctionSpaceType, NewFunctionSpace >::Type Type
type of my discrete function space with new function space
Definition: discretefunctionspace.hh:265
convert functions space to space with new dim range
Definition: functionspace.hh:250
|
Legal Statements / Impressum |
Hosted by TU Dresden |
generated with Hugo v0.111.3
(Nov 12, 23:30, 2024)