DUNE-FEM (unstable)
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>
Classes | |
struct | CommDataHandle |
defines type of data handle for communication More... | |
struct | ToNewDimRange |
typedef struct for defining the same discrete function space with a different dimRange More... | |
struct | ToNewFunctionSpace |
typedef struct for defining the same discrete function space with a different function space More... | |
Public Types | |
typedef FunctionSpaceTraits | Traits |
type of traits class | |
typedef Traits::DiscreteFunctionSpaceType | DiscreteFunctionSpaceType |
type of DiscretefunctionSapce implementation (Barton-Nackman) | |
typedef Traits::FunctionSpaceType | FunctionSpaceType |
type of function space | |
typedef Traits::BasisFunctionSetType | BasisFunctionSetType |
type of basis function set of this space | |
typedef Traits::BlockMapperType | BlockMapperType |
type of block mapper of this space | |
typedef Traits::GridPartType | GridPartType |
type of underlying grid part | |
typedef GridPartType::GridType | GridType |
type of underlying dune grid | |
typedef GridPartType::IndexSetType | IndexSetType |
type of used dune index set | |
typedef GridPartType::template Codim< Traits::codimension >::IteratorType | IteratorType |
type of iterator for grid traversal More... | |
typedef GridPartType::template Codim< Traits::codimension >::EntityType | EntityType |
type of entity of codimension 0 | |
typedef GridPartType::IntersectionType | IntersectionType |
type of the intersections | |
typedef AuxiliaryDofs< GridPartType, BlockMapperType > | AuxiliaryDofsType |
type of auxiliary dofs | |
typedef AuxiliaryDofsType | SlaveDofsType |
deprecated type | |
typedef CommunicationManager< DiscreteFunctionSpaceType > | CommunicationManagerType |
type of communication manager | |
Public Member Functions | |
DFSpaceIdentifier | type () const |
return type identifier of discrete function space More... | |
const BasisFunctionSetType | basisFunctionSet (const EntityType &entity) const |
get basis function set for given entity More... | |
bool | continuous () const |
returns true if the space contains only globally continuous functions More... | |
int | sequence () const |
get index of the sequence in grid sequences More... | |
int | order () const |
get global order of space More... | |
bool | continuous (const IntersectionType &intersection) const |
returns true if discrete functions over this space have zero jump over the given intersection. More... | |
BlockMapperType & | blockMapper () const |
get a reference to the block mapper More... | |
const GridType & | grid () const |
get reference to grid this discrete function space belongs to More... | |
GridType & | grid () |
get reference to grid this discrete function space belongs to More... | |
GridPartType & | gridPart () |
get a reference to the associated grid partition More... | |
const IndexSetType & | indexSet () const |
Get a reference to the associated index set. More... | |
int | size () const |
get number of DoFs for this space More... | |
int | primarySize () const |
get number of primary DoFs for this space More... | |
int | auxiliarySize () const |
get number of auxiliary DoFs for this space More... | |
IteratorType | begin () const |
get iterator pointing to the first entity of the associated grid partition More... | |
IteratorType | end () const |
get iterator pointing behind the last entity of the associated grid partition More... | |
template<class FunctorType > | |
void | forEach (FunctorType &f) const |
apply a functor to each entity in the associated grid partition More... | |
bool | multipleGeometryTypes () const |
returns true if the grid has more than one geometry type More... | |
bool | multipleBasisFunctionSets () const |
returns true if base function sets depend on the entity More... | |
InterfaceType | communicationInterface () const |
return the communication interface appropriate for this space More... | |
CommunicationDirection | communicationDirection () const |
return the communication direction appropriate for this space More... | |
const CommunicationManagerType & | communicator () const |
return reference to communicator (see CommunicationManager) More... | |
template<class DiscreteFunction > | |
void | communicate (DiscreteFunction &discreteFunction) const |
communicate data for given discrete function using the space's default communication operation More... | |
template<class DiscreteFunction , class Operation > | |
void | communicate (DiscreteFunction &discreteFunction, const Operation &op) const |
communicate data for given discrete function More... | |
template<class DiscreteFunction , class Operation > | |
CommDataHandle< DiscreteFunction, Operation >::Type | createDataHandle (DiscreteFunction &discreteFunction, const Operation &operation) const |
Creates DataHandle for given discrete function. More... | |
const AuxiliaryDofsType & | auxiliaryDofs () const |
get auxiliary dofs | |
const AuxiliaryDofsType & | slaveDofs () const |
deprecated method, use auxiliaryDofs | |
Static Public Attributes | |
static constexpr std::size_t | localBlockSize = Hybrid::size( LocalBlockIndices() ) |
size of local blocks | |
Related Functions | |
(Note that these are not member functions.) | |
template<class Traits > | |
bool | operator== (const DiscreteFunctionSpaceInterface< Traits > &X, const DiscreteFunctionSpaceInterface< Traits > &Y) |
check two spaces for equality More... | |
Detailed Description
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.
Member Typedef Documentation
◆ IteratorType
typedef GridPartType::template Codim<Traits::codimension>::IteratorType Dune::Fem::DiscreteFunctionSpaceInterface< FunctionSpaceTraits >::IteratorType |
type of iterator for grid traversal
- Note
- Only grid traversal for codimension 0 is currently supported.
Member Function Documentation
◆ auxiliarySize()
|
inline |
get number of auxiliary DoFs for this space
- Returns
- number of auxiliary DoFs (degrees of freedom that are NOT owned by this process)
◆ basisFunctionSet()
|
inline |
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()
|
inline |
get iterator pointing to the first entity of the associated grid partition
- Returns
- iterator pointing to first entity
◆ blockMapper()
|
inline |
get a reference to the block mapper
- Returns
- refernce to the block mapper
Referenced by Dune::Fem::DiscreteFunctionSpaceDefault< FunctionSpaceTraits >::auxiliaryDofs(), Dune::Fem::DiscreteFunctionSpaceDefault< FunctionSpaceTraits >::maxNumDofs(), Dune::Fem::DiscreteFunctionSpaceInterface< FunctionSpaceTraits >::operator==(), and Dune::Fem::DiscreteFunctionSpaceDefault< FunctionSpaceTraits >::size().
◆ communicate() [1/2]
|
inline |
communicate data for given discrete function using the space's default communication operation
- Parameters
-
discreteFunction discrete function to be communicated
References CHECK_AND_CALL_INTERFACE_IMPLEMENTATION, and Dune::Fem::DiscreteFunctionSpaceInterface< FunctionSpaceTraits >::communicate().
Referenced by Dune::Fem::DiscreteFunctionSpaceInterface< FunctionSpaceTraits >::communicate().
◆ communicate() [2/2]
|
inline |
communicate data for given discrete function
- Parameters
-
discreteFunction discrete function to be communicated [in] op communication operation to use (see DFCommunicationOperation)
References CHECK_AND_CALL_INTERFACE_IMPLEMENTATION, and Dune::Fem::DiscreteFunctionSpaceInterface< FunctionSpaceTraits >::communicate().
◆ communicationDirection()
|
inline |
return the communication direction appropriate for this space
- Returns
- communication direction
◆ communicationInterface()
|
inline |
return the communication interface appropriate for this space
- Returns
- communication interface
◆ communicator()
|
inline |
return reference to communicator (see CommunicationManager)
- Returns
- reference to communicator
◆ continuous() [1/2]
|
inline |
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]
|
inline |
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()
|
inline |
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()
|
inline |
get iterator pointing behind the last entity of the associated grid partition
- Returns
- iterator pointing behind last entity
◆ forEach()
|
inline |
apply a functor to each entity in the associated grid partition
The functor must provide an the following operator
- Parameters
-
[in] f functor to apply
References CHECK_AND_CALL_INTERFACE_IMPLEMENTATION, and Dune::Fem::DiscreteFunctionSpaceInterface< FunctionSpaceTraits >::forEach().
Referenced by Dune::Fem::DiscreteFunctionSpaceInterface< FunctionSpaceTraits >::forEach().
◆ grid() [1/2]
|
inline |
get reference to grid this discrete function space belongs to
- Returns
- reference to grid
◆ grid() [2/2]
|
inline |
get reference to grid this discrete function space belongs to
- Returns
- constant reference to grid
◆ gridPart()
|
inline |
get a reference to the associated grid partition
- Returns
- reference to the grid partition
◆ indexSet()
|
inline |
Get a reference to the associated index set.
- Returns
- const reference to index set
◆ multipleBasisFunctionSets()
|
inline |
returns true if base function sets depend on the entity
- Returns
- true if base function set depend on entities, false otherwise
◆ multipleGeometryTypes()
|
inline |
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()
|
inline |
get global order of space
- Returns
- order of space, i.e., the maximal polynomial order of base functions
◆ primarySize()
|
inline |
get number of primary DoFs for this space
- Returns
- number of primary DoFs (degrees of freedom that are owned by this process )
◆ sequence()
|
inline |
get index of the sequence in grid sequences
- Returns
- number of current sequence
◆ size()
|
inline |
get number of DoFs for this space
- Returns
- number of DoFs (degrees of freedom)
◆ type()
|
inline |
return type identifier of discrete function space
- Returns
- return type identifier of discrete function space
The documentation for this class was generated from the following file:
- dune/fem/space/common/discretefunctionspace.hh