This is the class with default implementations for discrete function. The methods not marked with having a default in the interface class must be provided by the implementation; all other methods have a default implementation here.
More...
#include <dune/fem/space/common/discretefunctionspace.hh>
Inherits Dune::Fem::DiscreteFunctionSpaceInterface< FunctionSpaceTraits >, and std::enable_shared_from_this< FunctionSpaceTraits::DiscreteFunctionSpaceType >.
Inherited by Dune::Fem::GenericCombinedDiscreteFunctionSpace< PowerDiscreteFunctionSpaceTraits< DiscreteFunctionSpace, N > >, Dune::Fem::GenericCombinedDiscreteFunctionSpace< TupleDiscreteFunctionSpaceTraits< CombineOp, DiscreteFunctionSpaces ... > >, Dune::Fem::GenericDiscontinuousGalerkinSpace< DiscontinuousGalerkinSpaceTraits< FunctionSpaceImp, GridPartImp, polOrder, StorageImp > >, Dune::Fem::GenericDiscontinuousGalerkinSpace< LegendreDiscontinuousGalerkinSpaceTraits< FunctionSpaceImp, GridPartImp, polOrder, StorageImp, hierarchicalOrdering > >, Dune::Fem::GenericDiscontinuousGalerkinSpace< LagrangeDiscontinuousGalerkinSpaceTraits< FunctionSpaceImp, GridPartImp, polOrder, StorageImp > >, Dune::Fem::GenericDiscontinuousGalerkinSpace< DiscontinuousGalerkinSpaceTraits< FunctionSpace, GridPart, polOrder, CachingStorage > >, Dune::Fem::GenericDiscontinuousGalerkinSpace< FiniteVolumeSpaceTraits< FunctionSpace, GridPart, 0, SimpleStorage > >, Dune::Fem::GenericDiscontinuousGalerkinSpace< LegendreDiscontinuousGalerkinSpaceTraits< FunctionSpace, GridPart, polOrder, Storage, hierarchicalOrdering > >, Dune::Fem::GenericDiscontinuousGalerkinSpace< LagrangeDiscontinuousGalerkinSpaceTraits< FunctionSpace, GridPart, polOrder, CachingStorage > >, Dune::Fem::GenericDiscontinuousGalerkinSpace< DiscontinuousGalerkinSpaceTraits< FunctionSpaceImp, GridPartImp, polOrder, BaseFunctionStorageImp > >, Dune::Fem::GenericDiscontinuousGalerkinSpace< FiniteVolumeSpaceTraits< FunctionSpaceImp, GridPartImp, codim, BaseFunctionStorageImp > >, Dune::Fem::GenericDiscontinuousGalerkinSpace< LegendreDiscontinuousGalerkinSpaceTraits< FunctionSpaceImp, GridPartImp, polOrder, BaseFunctionStorageImp, hierarchicalOrdering > >, Dune::Fem::GenericDiscontinuousGalerkinSpace< TupleDiscontinuousGalerkinSpaceTraits< DFS... > >, Dune::Fem::GenericDiscontinuousGalerkinSpace< DiscontinuousGalerkinSpaceTraits< FunctionSpaceType, GridPartType, polOrder, CachingStorage > >, Dune::Fem::GenericDiscontinuousGalerkinSpace< FiniteVolumeSpaceTraits< FunctionSpaceType, GridPartType, codim, SimpleStorage > >, Dune::Fem::GenericDiscreteFunctionSpace< PAdaptiveDGSpaceTraits< FunctionSpaceImp, GridPartImp, polOrder, StorageImp > >, Dune::Fem::GenericDiscreteFunctionSpace< PAdaptiveLagrangeSpaceTraits< FS, GP, maxPolOrder, S > >, Dune::Fem::GenericDiscreteFunctionSpace< PAdaptiveDGSpaceTraits< FunctionSpace, GridPart, polOrder, CachingStorage > >, Dune::Fem::GenericDiscreteFunctionSpace< PAdaptiveLagrangeSpaceTraits< FunctionSpace, GridPart, maxPolOrder, CachingStorage > >, Dune::Fem::hpDG::DiscontinuousGalerkinSpace< OrthogonalDiscontinuousGalerkinSpaceTraits< FunctionSpaceImp, GridPartImp, order, Storage > >, Dune::Fem::hpDG::DiscontinuousGalerkinSpace< AnisotropicDiscontinuousGalerkinSpaceTraits< FunctionSpace, GridPart, order, Storage > >, Dune::Fem::hpDG::DiscontinuousGalerkinSpace< DefaultDiscontinuousGalerkinSpaceTraits< BasisFunctionSets > >, Dune::Fem::hpDG::DiscontinuousGalerkinSpace< LegendreDiscontinuousGalerkinSpaceTraits< FunctionSpace, GridPart, order, true, Storage > >, Dune::Fem::hpDG::DiscontinuousGalerkinSpace< LegendreDiscontinuousGalerkinSpaceTraits< FunctionSpace, GridPart, order, false, Storage > >, Dune::Fem::hpDG::DiscontinuousGalerkinSpace< OrthogonalDiscontinuousGalerkinSpaceTraits< FunctionSpace, GridPart, order, Storage > >, and Dune::Fem::BubbleElementSpace< FunctionSpace, GridPart, Storage >.
|
| DiscreteFunctionSpaceDefault (GridPartType &gridPart, const InterfaceType commInterface=InteriorBorder_All_Interface, const CommunicationDirection commDirection=ForwardCommunication) |
| constructor
|
|
int | sequence () const |
| get index of the sequence in grid sequences
|
|
int | order (const EntityType &entity) const |
| default implementation of the method order
|
|
const GridType & | grid () const |
| get reference to grid this discrete function space belongs to
|
|
GridType & | grid () |
| get reference to grid this discrete function space belongs to
|
|
GridPartType & | gridPart () const |
|
const IndexSetType & | indexSet () const |
| Get a reference to the associated index set.
|
|
int | size () const |
| get number of DoFs for this space
|
|
int | maxNumDofs () const |
| return the maximal number of dofs on entities
|
|
IteratorType | begin () const |
| get iterator pointing to the first entity of the associated grid partition
|
|
IteratorType | end () const |
| get iterator pointing behind the last entity of the associated grid partition
|
|
template<class FunctorType > |
void | forEach (FunctorType &f) const |
| apply a functor to each entity in the associated grid partition
|
|
bool | multipleGeometryTypes () const |
| returns true if the grid has more than one geometry type
|
|
bool | multipleBasisFunctionSets () const |
| returns true if base function sets depend on the entity
|
|
InterfaceType | communicationInterface () const |
| return the communication interface appropriate for this space
|
|
CommunicationDirection | communicationDirection () const |
| return the communication interface appropriate for this space
|
|
const CommunicationManagerType & | communicator () const |
| return reference to communicator (see CommunicationManager)
|
|
template<class DiscreteFunction > |
void | communicate (DiscreteFunction &discreteFunction) const |
| communicate data for given discrete function using the space's default communication operation
|
|
template<class DiscreteFunction , class Operation > |
void | communicate (DiscreteFunction &discreteFunction, const Operation &op) const |
| communicate data for given discrete function
|
|
template<class DiscreteFunction , class Operation > |
BaseType::template CommDataHandle< DiscreteFunction, Operation >::Type | createDataHandle (DiscreteFunction &discreteFunction, const Operation &operation) const |
|
const AuxiliaryDofsType & | auxiliaryDofs () const |
| get auxiliary dofs
|
|
template<class DiscreteFunction > |
void | addFunction (DiscreteFunction &df) const |
| default implementation of addFunction does nothing at the moment
|
|
template<class DiscreteFunction > |
void | removeFunction (DiscreteFunction &df) const |
| default implementation of removeFunction does nothing at the moment
|
|
template<class Vector > |
void | adapt (const Vector &polynomialOrders, const int polOrderShift=0) const |
| default implementation of adapt does nothing, its only used in PAdaptiveLagrangeSpace
|
|
DFSpaceIdentifier | type () const |
| return type identifier of discrete function space
|
|
const BasisFunctionSetType | basisFunctionSet (const EntityType &entity) const |
| get basis function set for given entity
|
|
bool | continuous () const |
| returns true if the space contains only globally continuous functions
|
|
bool | continuous (const IntersectionType &intersection) const |
| returns true if discrete functions over this space have zero jump over the given intersection.
|
|
int | order () const |
| get global order of space
|
|
BlockMapperType & | blockMapper () const |
| get a reference to the block mapper
|
|
GridPartType & | gridPart () |
| get a reference to the associated grid partition
|
|
const AuxiliaryDofsType & | slaveDofs () const |
| deprecated method, use auxiliaryDofs
|
|
template<class FunctionSpaceTraits>
class Dune::Fem::DiscreteFunctionSpaceDefault< FunctionSpaceTraits >
This is the class with default implementations for discrete function. The methods not marked with having a default in the interface class must be provided by the implementation; all other methods have a default implementation here.
◆ AllGeometryTypes
template<class FunctionSpaceTraits >
◆ AuxiliaryDofsProviderType
template<class FunctionSpaceTraits >
◆ AuxiliaryDofsType
template<class FunctionSpaceTraits >
◆ BasisFunctionSetType
template<class FunctionSpaceTraits >
◆ BlockMapperType
template<class FunctionSpaceTraits >
◆ CommunicationManagerType
template<class FunctionSpaceTraits >
type of communication manager
◆ DiscreteFunctionSpaceType
template<class FunctionSpaceTraits >
◆ DofManagerType
template<class FunctionSpaceTraits >
◆ EntityType
template<class FunctionSpaceTraits >
◆ FunctionSpaceType
template<class FunctionSpaceTraits >
◆ GridPartType
template<class FunctionSpaceTraits >
◆ GridType
template<class FunctionSpaceTraits >
◆ IndexSetType
template<class FunctionSpaceTraits >
◆ IntersectionType
template<class FunctionSpaceTraits >
type of the intersections
◆ IteratorType
template<class FunctionSpaceTraits >
◆ LocalBlockIndices
template<class FunctionSpaceTraits >
◆ LocalDofVectorAllocatorType
template<class FunctionSpaceTraits >
◆ LocalDofVectorStackType
template<class FunctionSpaceTraits >
◆ LocalDofVectorType
template<class FunctionSpaceTraits >
◆ LocalFunctionType
template<class FunctionSpaceTraits >
◆ SlaveDofsType
template<class FunctionSpaceTraits >
◆ Traits
template<class FunctionSpaceTraits >
◆ DiscreteFunctionSpaceDefault()
template<class FunctionSpaceTraits >
◆ adapt()
template<class FunctionSpaceTraits >
template<class Vector >
◆ addFunction()
template<class FunctionSpaceTraits >
template<class DiscreteFunction >
default implementation of addFunction does nothing at the moment
◆ asImp() [1/2]
template<class FunctionSpaceTraits >
◆ asImp() [2/2]
template<class FunctionSpaceTraits >
◆ auxiliaryDofs()
template<class FunctionSpaceTraits >
◆ basisFunctionSet()
template<class FunctionSpaceTraits >
get basis function set for given entity
- Parameters
-
[in] | entity | entity (of codim 0) for which base function is requested |
- Returns
- BasisFunctionSet for the entity
◆ begin()
template<class FunctionSpaceTraits >
get iterator pointing to the first entity of the associated grid partition
- Returns
- iterator pointing to first entity
- Note
- The default implementation uses the codim 0 iterators of the associated grid partition.
◆ blockMapper()
template<class FunctionSpaceTraits >
get a reference to the block mapper
- Returns
- refernce to the block mapper
◆ communicate() [1/2]
template<class FunctionSpaceTraits >
template<class DiscreteFunction >
communicate data for given discrete function using the space's default communication operation
- Parameters
-
discreteFunction | discrete function to be communicated |
◆ communicate() [2/2]
template<class FunctionSpaceTraits >
template<class DiscreteFunction , class Operation >
communicate data for given discrete function
- Parameters
-
| discreteFunction | discrete function to be communicated |
[in] | op | communication operation to use (see DFCommunicationOperation) |
◆ communicationDirection()
template<class FunctionSpaceTraits >
return the communication interface appropriate for this space
- Returns
- communication interface
◆ communicationInterface()
template<class FunctionSpaceTraits >
return the communication interface appropriate for this space
- Returns
- communication interface
◆ communicator()
template<class FunctionSpaceTraits >
◆ continuous() [1/2]
template<class FunctionSpaceTraits >
returns true if the space contains only globally continuous functions
For example, a Lagrange space returns true while a discontiuous Galerkin space returns false.
- Returns
- true if the space contians only globally continous functions, false otherwise
◆ continuous() [2/2]
template<class FunctionSpaceTraits >
returns true if discrete functions over this space have zero jump over the given intersection.
For example, a Lagrange space returns true iff the intersection is conforming while a discontiuous Galerkin space always returns false.
- Parameters
-
intersection | Intersection for which we want to know the continuety |
- Returns
- true if the space contians functions which are continuous over the intersection, false otherwise
◆ createDataHandle()
template<class FunctionSpaceTraits >
template<class DiscreteFunction , class Operation >
- Note
- The default implementation is
defines type of data handle for communication
Definition: discretefunctionspace.hh:244
◆ end()
template<class FunctionSpaceTraits >
get iterator pointing behind the last entity of the associated grid partition
- Returns
- iterator pointing behind last entity
- Note
- The default implementation uses the codim 0 iterators of the associated grid partition.
◆ forEach()
template<class FunctionSpaceTraits >
template<class FunctorType >
apply a functor to each entity in the associated grid partition
The functor must provide an the following operator
template< class EntityType >
BaseType::EntityType EntityType
Definition: discretefunctionspace.hh:644
- Parameters
-
- Note
- The default implementation simply does the following:
f( *it );
const DiscreteFunctionSpaceType & asImp() const
Definition: discretefunctionspace.hh:576
BaseType::IteratorType IteratorType
Definition: discretefunctionspace.hh:643
IteratorType end() const
get iterator pointing behind the last entity of the associated grid partition
Definition: discretefunctionspace.hh:783
IteratorType begin() const
get iterator pointing to the first entity of the associated grid partition
Definition: discretefunctionspace.hh:773
◆ geomTypes()
template<class FunctionSpaceTraits >
returns true if the grid has more than one geometry type
- Returns
- true if the underlying grid has more than one geometry type (hybrid grid), false otherwise
◆ grid() [1/2]
template<class FunctionSpaceTraits >
get reference to grid this discrete function space belongs to
- Returns
- reference to grid
◆ grid() [2/2]
template<class FunctionSpaceTraits >
get reference to grid this discrete function space belongs to
- Returns
- constant reference to grid
◆ gridPart() [1/2]
template<class FunctionSpaceTraits >
get a reference to the associated grid partition
- Returns
- reference to the grid partition
◆ gridPart() [2/2]
template<class FunctionSpaceTraits >
◆ indexSet()
template<class FunctionSpaceTraits >
Get a reference to the associated index set.
- Returns
- const reference to index set
◆ maxNumDofs()
template<class FunctionSpaceTraits >
return the maximal number of dofs on entities
◆ multipleBasisFunctionSets()
template<class FunctionSpaceTraits >
returns true if base function sets depend on the entity
- Returns
- true if base function set depend on entities, false otherwise
- Note
- The default implementation returns false.
◆ multipleGeometryTypes()
template<class FunctionSpaceTraits >
returns true if the grid has more than one geometry type
- Returns
- true if the underlying grid has more than one geometry type (hybrid grid), false otherwise
◆ order() [1/2]
template<class FunctionSpaceTraits >
get global order of space
- Returns
- order of space, i.e., the maximal polynomial order of base functions
◆ order() [2/2]
template<class FunctionSpaceTraits >
default implementation of the method order
- Returns
- returns max polynomial order for each entity using the method order()
◆ removeFunction()
template<class FunctionSpaceTraits >
template<class DiscreteFunction >
default implementation of removeFunction does nothing at the moment
◆ sequence()
template<class FunctionSpaceTraits >
get index of the sequence in grid sequences
- Returns
- number of current sequence
◆ size()
template<class FunctionSpaceTraits >
get number of DoFs for this space
- Returns
- number of DoFs (degrees of freedom)
◆ slaveDofs()
template<class FunctionSpaceTraits >
deprecated method, use auxiliaryDofs
◆ type()
template<class FunctionSpaceTraits >
return type identifier of discrete function space
- Returns
- return type identifier of discrete function space
◆ allGeomTypes_
template<class FunctionSpaceTraits >
◆ auxiliaryDofs_
template<class FunctionSpaceTraits >
◆ commDirection_
template<class FunctionSpaceTraits >
◆ commInterface_
template<class FunctionSpaceTraits >
◆ communicator_
template<class FunctionSpaceTraits >
◆ dofManager_
template<class FunctionSpaceTraits >
◆ gridPart_
template<class FunctionSpaceTraits >
◆ ldvAllocator_
template<class FunctionSpaceTraits >
◆ ldvStack_
template<class FunctionSpaceTraits >
◆ localBlockSize
template<class FunctionSpaceTraits >
The documentation for this class was generated from the following file: