This is the interface for discrete function spaces. All methods declared here have to be implemented by the implementation class.
More...
#include <dune/fem/space/common/discretefunctionspace.hh>
Inherits FunctionSpaceTraits ::FunctionSpaceType.
Inherited by Dune::Fem::DiscreteFunctionSpaceDefault< BubbleElementSpaceTraits< FunctionSpace, GridPart, CachingStorage > >, Dune::Fem::DiscreteFunctionSpaceDefault< DiscontinuousGalerkinSpaceTraits< FunctionSpaceImp, GridPartImp, polOrder, StorageImp > >, Dune::Fem::DiscreteFunctionSpaceDefault< PAdaptiveDGSpaceTraits< FunctionSpaceImp, GridPartImp, polOrder, StorageImp > >, Dune::Fem::DiscreteFunctionSpaceDefault< PAdaptiveLagrangeSpaceTraits< FS, GP, maxPolOrder, S > >, Dune::Fem::DiscreteFunctionSpaceDefault< LegendreDiscontinuousGalerkinSpaceTraits< FunctionSpaceImp, GridPartImp, polOrder, StorageImp, hierarchicalOrdering > >, Dune::Fem::DiscreteFunctionSpaceDefault< LagrangeDiscontinuousGalerkinSpaceTraits< FunctionSpaceImp, GridPartImp, polOrder, StorageImp > >, Dune::Fem::DiscreteFunctionSpaceDefault< DiscontinuousGalerkinSpaceTraits< FunctionSpace, GridPart, polOrder, CachingStorage > >, Dune::Fem::DiscreteFunctionSpaceDefault< DiscontinuousLocalFiniteElementSpaceTraits< LFEMap, FunctionSpace, Storage, FixedPolyOrder< LFEMap >::scalarBlockSize > >, Dune::Fem::DiscreteFunctionSpaceDefault< FiniteVolumeSpaceTraits< FunctionSpace, GridPart, 0, SimpleStorage > >, Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >, Dune::Fem::DiscreteFunctionSpaceDefault< Traits >, Dune::Fem::DiscreteFunctionSpaceDefault< LegendreDiscontinuousGalerkinSpaceTraits< FunctionSpace, GridPart, polOrder, Storage, hierarchicalOrdering > >, Dune::Fem::DiscreteFunctionSpaceDefault< LagrangeDiscontinuousGalerkinSpaceTraits< FunctionSpace, GridPart, polOrder, CachingStorage > >, Dune::Fem::DiscreteFunctionSpaceDefault< LagrangeDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, maxPolOrder, Storage > >, Dune::Fem::DiscreteFunctionSpaceDefault< LocalFiniteElementSpaceTraits< LFEMap, FunctionSpace, Storage > >, Dune::Fem::DiscreteFunctionSpaceDefault< DiscontinuousGalerkinSpaceTraits< FunctionSpaceImp, GridPartImp, polOrder, BaseFunctionStorageImp > >, Dune::Fem::DiscreteFunctionSpaceDefault< FiniteVolumeSpaceTraits< FunctionSpaceImp, GridPartImp, codim, BaseFunctionStorageImp > >, Dune::Fem::DiscreteFunctionSpaceDefault< LegendreDiscontinuousGalerkinSpaceTraits< FunctionSpaceImp, GridPartImp, polOrder, BaseFunctionStorageImp, hierarchicalOrdering > >, Dune::Fem::DiscreteFunctionSpaceDefault< OrthogonalDiscontinuousGalerkinSpaceTraits< FunctionSpaceImp, GridPartImp, order, Storage > >, Dune::Fem::DiscreteFunctionSpaceDefault< PAdaptiveDGSpaceTraits< FunctionSpace, GridPart, polOrder, CachingStorage > >, Dune::Fem::DiscreteFunctionSpaceDefault< PAdaptiveLagrangeSpaceTraits< FunctionSpace, GridPart, maxPolOrder, CachingStorage > >, Dune::Fem::DiscreteFunctionSpaceDefault< PowerDiscreteFunctionSpaceTraits< DiscreteFunctionSpace, N > >, Dune::Fem::DiscreteFunctionSpaceDefault< TupleDiscontinuousGalerkinSpaceTraits< DFS... > >, Dune::Fem::DiscreteFunctionSpaceDefault< TupleDiscreteFunctionSpaceTraits< CombineOp, DiscreteFunctionSpaces ... > >, Dune::Fem::DiscreteFunctionSpaceDefault< AnisotropicDiscontinuousGalerkinSpaceTraits< FunctionSpace, GridPart, order, Storage > >, Dune::Fem::DiscreteFunctionSpaceDefault< DefaultDiscontinuousGalerkinSpaceTraits< BasisFunctionSets > >, Dune::Fem::DiscreteFunctionSpaceDefault< LegendreDiscontinuousGalerkinSpaceTraits< FunctionSpace, GridPart, order, true, Storage > >, Dune::Fem::DiscreteFunctionSpaceDefault< LegendreDiscontinuousGalerkinSpaceTraits< FunctionSpace, GridPart, order, false, Storage > >, Dune::Fem::DiscreteFunctionSpaceDefault< OrthogonalDiscontinuousGalerkinSpaceTraits< FunctionSpace, GridPart, order, Storage > >, Dune::Fem::DiscreteFunctionSpaceDefault< DiscontinuousGalerkinSpaceTraits< FunctionSpaceType, GridPartType, polOrder, CachingStorage > >, Dune::Fem::DiscreteFunctionSpaceDefault< FiniteVolumeSpaceTraits< FunctionSpaceType, GridPartType, codim, SimpleStorage > >, and Dune::Fem::DiscreteFunctionSpaceDefault< FunctionSpaceTraits >.
|
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
|
|
int | sequence () const |
| get index of the sequence in grid sequences
|
|
int | order () const |
| get global order of space
|
|
bool | continuous (const IntersectionType &intersection) const |
| returns true if discrete functions over this space have zero jump over the given intersection.
|
|
BlockMapperType & | blockMapper () const |
| get a reference to the block mapper
|
|
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 () |
| get a reference to the associated grid partition
|
|
const IndexSetType & | indexSet () const |
| Get a reference to the associated index set.
|
|
int | size () const |
| get number of DoFs for this space
|
|
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 direction 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 > |
CommDataHandle< DiscreteFunction, Operation >::Type | createDataHandle (DiscreteFunction &discreteFunction, const Operation &operation) const |
| Creates DataHandle for given discrete function.
|
|
const AuxiliaryDofsType & | auxiliaryDofs () const |
| get auxiliary dofs
|
|
const AuxiliaryDofsType & | slaveDofs () const |
| deprecated method, use auxiliaryDofs
|
|
template<class FunctionSpaceTraits>
class Dune::Fem::DiscreteFunctionSpaceInterface< FunctionSpaceTraits >
This is the interface for discrete function spaces. All methods declared here have to be implemented by the implementation class.
The discrete function space always depends on a given grid. For all diffrent element types of the grid the function space provides a set of base functions for the different element types. Because of the knowledge of on the one hand the grid an on the other hand the base functions sets, the discrete function space provides the size of the function space and a mapping from entity and local dof number to global dof number of the level of the entity.
- Note
- A DiscreteFunctionSpace is defined on a certain grid part.
- An interface class:
◆ AuxiliaryDofsType
template<class FunctionSpaceTraits >
◆ BasisFunctionSetType
template<class FunctionSpaceTraits >
◆ BlockMapperType
template<class FunctionSpaceTraits >
type of block mapper of this space
◆ CommunicationManagerType
template<class FunctionSpaceTraits >
type of communication manager
◆ DiscreteFunctionSpaceType
template<class FunctionSpaceTraits >
type of DiscretefunctionSapce implementation (Barton-Nackman)
◆ EntityType
template<class FunctionSpaceTraits >
type of entity of codimension 0
◆ FunctionSpaceType
template<class FunctionSpaceTraits >
◆ GridPartType
template<class FunctionSpaceTraits >
◆ GridType
template<class FunctionSpaceTraits >
type of underlying dune grid
◆ IndexSetType
template<class FunctionSpaceTraits >
type of used dune index set
◆ IntersectionType
template<class FunctionSpaceTraits >
type of the intersections
◆ IteratorType
template<class FunctionSpaceTraits >
type of iterator for grid traversal
- Note
- Only grid traversal for codimension 0 is currently supported.
◆ LocalBlockIndices
template<class FunctionSpaceTraits >
◆ SlaveDofsType
template<class FunctionSpaceTraits >
◆ Traits
template<class FunctionSpaceTraits >
◆ DiscreteFunctionSpaceInterface()
template<class FunctionSpaceTraits >
◆ 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
◆ 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 direction appropriate for this space
- Returns
- communication direction
◆ 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 >
Creates DataHandle for given discrete function.
- Parameters
-
[in] | discreteFunction | discrete function to create the data handle for |
[in] | operation | operation to perform on scatter |
◆ end()
template<class FunctionSpaceTraits >
get iterator pointing behind the last entity of the associated grid partition
- Returns
- iterator pointing behind last entity
◆ 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 >
GridPartType::template Codim< Traits::codimension >::EntityType EntityType
type of entity of codimension 0
Definition: discretefunctionspace.hh:223
- Parameters
-
◆ 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()
template<class FunctionSpaceTraits >
get a reference to the associated grid partition
- Returns
- reference to the grid partition
◆ indexSet()
template<class FunctionSpaceTraits >
Get a reference to the associated index set.
- Returns
- const reference to index set
◆ 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
◆ 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()
template<class FunctionSpaceTraits >
get global order of space
- Returns
- order of space, i.e., the maximal polynomial order of base functions
◆ 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
◆ localBlockSize
template<class FunctionSpaceTraits >
The documentation for this class was generated from the following file: