dune-fem  2.4.1-rc
Public Types | Public Member Functions | Static Public Attributes | Protected Types | Protected Member Functions | Protected Attributes | Static Protected Attributes | List of all members
Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order > Class Template Reference

#include </local/tomalk/somewhere/tmp/dune-fem/dune/fem/space/fourier/declaration.hh>

Inheritance diagram for Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >:
Inheritance graph

Public Types

typedef BaseType::Traits Traits
 
typedef BaseType::FunctionSpaceType FunctionSpaceType
 
typedef BaseType::GridPartType GridPartType
 
typedef BaseType::EntityType EntityType
 
typedef BaseType::IntersectionType IntersectionType
 
typedef Traits::FunctionSetType FunctionSetType
 
typedef Traits::ScalarBasisFunctionSetType ScalarBasisFunctionSetType
 
typedef BaseType::BasisFunctionSetType BasisFunctionSetType
 
typedef BaseType::BlockMapperType BlockMapperType
 
enum  
 size of local blocks More...
 
typedef Traits::DiscreteFunctionSpaceType DiscreteFunctionSpaceType
 
typedef BaseType::GridType GridType
 
typedef BaseType::IndexSetType IndexSetType
 
typedef BaseType::IteratorType IteratorType
 
typedef DofManager< GridTypeDofManagerType
 type of DoF manager More...
 
typedef CommunicationManager< DiscreteFunctionSpaceTypeCommunicationManagerType
 type of communication manager More...
 
enum  
 size of local blocks More...
 
enum  
 Dimensions of domain and range. More...
 
enum  
 
typedef VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::DomainFieldType DomainFieldType
 Intrinsic type used for values in the domain field (usually a double) More...
 
typedef VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::RangeFieldType RangeFieldType
 Intrinsic type used for values in the range field (usually a double) More...
 
typedef VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::DomainType DomainType
 Type of domain vector (using type of domain field) has a Dune::FieldVector type interface. More...
 
typedef VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::RangeType RangeType
 Type of range vector (using type of range field) has a Dune::FieldVector type interface. More...
 
typedef VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::LinearMappingType JacobianRangeType
 Intrinsic type used for the jacobian values has a Dune::FieldMatrix type interface. More...
 
typedef FieldVector< FieldMatrix< RangeFieldType, dimDomain, dimDomain >, dimRangeHessianRangeType
 Intrinsic type used for the hessian values has a Dune::FieldMatrix type interface. More...
 
typedef VectorSpaceTraits< DomainField, RangeField, dimD, dimR >::ScalarFunctionSpaceType ScalarFunctionSpaceType
 corresponding scalar function space More...
 

Public Member Functions

 FourierDiscreteFunctionSpace (GridPartType &gridPart, int order=std::numeric_limits< int >::max(), const InterfaceType commInterface=defaultInterface, const CommunicationDirection commDirection=defaultDirection)
 
DFSpaceIdentifier type () const
 return type identifier of discrete function space More...
 
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...
 
bool continuous (const IntersectionType &intersection) const
 returns true if the space contains only globally continuous functions More...
 
int order () const
 get global order of space More...
 
BlockMapperTypeblockMapper () const
 get a reference to the block mapper More...
 
int sequence () const
 get index of the sequence in grid sequences More...
 
int order (const EntityType &entity) const
 default implementation of the method order More...
 
LocalFunctionType localFunction (const EntityType &entity) const
 
const GridTypegrid () const
 get reference to grid this discrete function space belongs to More...
 
GridTypegrid ()
 get reference to grid this discrete function space belongs to More...
 
GridPartTypegridPart () const
 
GridPartTypegridPart ()
 get a reference to the associated grid partition More...
 
const IndexSetTypeindexSet () const
 Get a reference to the associated index set. More...
 
int size () const
 get number of 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...
 
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 interface appropriate for this space More...
 
const CommunicationManagerTypecommunicator () const
 return reference to communicator (see CommunicationManager) More...
 
void communicate (DiscreteFunction &discreteFunction) const
 communicate data for given discrete function using the space's default communication operation More...
 
void communicate (DiscreteFunction &discreteFunction, const Operation *op) const
 communicate data for given discrete function More...
 
BaseType::template CommDataHandle< DiscreteFunction, Operation >::Type createDataHandle (DiscreteFunction &discreteFunction, const Operation *operation) const
 
void addFunction (DiscreteFunction &df) const
 default implementation of addFunction does nothing at the moment More...
 
void removeFunction (DiscreteFunction &df) const
 default implementation of removeFunction does nothing at the moment More...
 
void adapt (const Vector &polynomialOrders, const int polOrderShift=0) const
 default implementation of adapt does nothing, its only used in PAdaptiveLagrangeSpace More...
 
const BasisFunctionSetType basisFunctionSet (const EntityType &entity) const
 get basis function set for given entity More...
 

Static Public Attributes

static const int polynomialOrder = Order+1
 

Protected Types

typedef ThreadSafeValue< UninitializedObjectStackLocalDofVectorStackType
 
typedef StackAllocator< typename BaseType::RangeFieldType, LocalDofVectorStackType * > LocalDofVectorAllocatorType
 
typedef Dune::DynamicVector< typename BaseType::RangeFieldType, LocalDofVectorAllocatorTypeLocalDofVectorType
 
typedef BasicTemporaryLocalFunction< ThisType, LocalDofVectorTypeLocalFunctionType
 
typedef AllGeomTypes< IndexSetType, GridTypeAllGeometryTypes
 

Protected Member Functions

const std::vector< GeometryType > & geomTypes (int codim) const
 returns true if the grid has more than one geometry type More...
 
const DiscreteFunctionSpaceTypeasImp () const
 
DiscreteFunctionSpaceTypeasImp ()
 

Protected Attributes

GridPartTypegridPart_
 
LocalDofVectorStackType ldvStack_
 
LocalDofVectorAllocatorType ldvAllocator_
 
const AllGeometryTypes allGeomTypes_
 
DofManagerTypedofManager_
 
const InterfaceType commInterface_
 
const CommunicationDirection commDirection_
 
std::unique_ptr< CommunicationManagerTypecommunicator_
 

Static Protected Attributes

static const InterfaceType defaultInterface = InteriorBorder_All_Interface
 
static const CommunicationDirection defaultDirection = ForwardCommunication
 

Member Typedef Documentation

template<class FunctionSpace , class GridPart , int Order>
typedef BaseType::BasisFunctionSetType Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::BasisFunctionSetType
template<class FunctionSpace , class GridPart , int Order>
typedef BaseType::BlockMapperType Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::BlockMapperType

type of communication manager

type of DoF manager

typedef VectorSpaceTraits< DomainField, RangeField, dimD, dimR > ::DomainFieldType Dune::Fem::FunctionSpaceInterface< VectorSpaceTraits< DomainField, RangeField, dimD, dimR > >::DomainFieldType
inherited

Intrinsic type used for values in the domain field (usually a double)

typedef VectorSpaceTraits< DomainField, RangeField, dimD, dimR > ::DomainType Dune::Fem::FunctionSpaceInterface< VectorSpaceTraits< DomainField, RangeField, dimD, dimR > >::DomainType
inherited

Type of domain vector (using type of domain field) has a Dune::FieldVector type interface.

template<class FunctionSpace , class GridPart , int Order>
typedef BaseType::EntityType Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::EntityType
template<class FunctionSpace , class GridPart , int Order>
typedef Traits::FunctionSetType Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::FunctionSetType
template<class FunctionSpace , class GridPart , int Order>
typedef BaseType::FunctionSpaceType Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::FunctionSpaceType
template<class FunctionSpace , class GridPart , int Order>
typedef BaseType::GridPartType Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::GridPartType
typedef FieldVector< FieldMatrix< RangeFieldType, dimDomain, dimDomain >, dimRange > Dune::Fem::FunctionSpaceInterface< VectorSpaceTraits< DomainField, RangeField, dimD, dimR > >::HessianRangeType
inherited

Intrinsic type used for the hessian values has a Dune::FieldMatrix type interface.

template<class FunctionSpace , class GridPart , int Order>
typedef BaseType::IntersectionType Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::IntersectionType
typedef VectorSpaceTraits< DomainField, RangeField, dimD, dimR > ::LinearMappingType Dune::Fem::FunctionSpaceInterface< VectorSpaceTraits< DomainField, RangeField, dimD, dimR > >::JacobianRangeType
inherited

Intrinsic type used for the jacobian values has a Dune::FieldMatrix type interface.

typedef VectorSpaceTraits< DomainField, RangeField, dimD, dimR > ::RangeFieldType Dune::Fem::FunctionSpaceInterface< VectorSpaceTraits< DomainField, RangeField, dimD, dimR > >::RangeFieldType
inherited

Intrinsic type used for values in the range field (usually a double)

typedef VectorSpaceTraits< DomainField, RangeField, dimD, dimR > ::RangeType Dune::Fem::FunctionSpaceInterface< VectorSpaceTraits< DomainField, RangeField, dimD, dimR > >::RangeType
inherited

Type of range vector (using type of range field) has a Dune::FieldVector type interface.

template<class FunctionSpace , class GridPart , int Order>
typedef Traits::ScalarBasisFunctionSetType Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::ScalarBasisFunctionSetType
typedef VectorSpaceTraits< DomainField, RangeField, dimD, dimR > :: ScalarFunctionSpaceType Dune::Fem::FunctionSpaceInterface< VectorSpaceTraits< DomainField, RangeField, dimD, dimR > >::ScalarFunctionSpaceType
inherited

corresponding scalar function space

template<class FunctionSpace , class GridPart , int Order>
typedef BaseType::Traits Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::Traits

Member Enumeration Documentation

anonymous enum
inherited

size of local blocks

anonymous enum
inherited

size of local blocks

anonymous enum
inherited

Dimensions of domain and range.

anonymous enum
inherited

Constructor & Destructor Documentation

template<class FunctionSpace , class GridPart , int Order>
Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::FourierDiscreteFunctionSpace ( GridPartType gridPart,
int  order = std::numeric_limits< int >::max(),
const InterfaceType  commInterface = defaultInterface,
const CommunicationDirection  commDirection = defaultDirection 
)
inlineexplicit

Member Function Documentation

void Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::adapt ( const Vector &  polynomialOrders,
const int  polOrderShift = 0 
) const
inlineinherited

default implementation of adapt does nothing, its only used in PAdaptiveLagrangeSpace

void Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::addFunction ( DiscreteFunction &  df) const
inlineinherited

default implementation of addFunction does nothing at the moment

const DiscreteFunctionSpaceType& Dune::Fem::DiscreteFunctionSpaceInterface< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::asImp ( ) const
inlineprotectedinherited
template<class FunctionSpace , class GridPart , int Order>
BasisFunctionSetType Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::basisFunctionSet ( const EntityType entity) const
inline

get basis function set for given entity

Parameters
[in]entityentity (of codim 0) for which base function is requested
Returns
BasisFunctionSet for the entity
const BasisFunctionSetType Dune::Fem::DiscreteFunctionSpaceInterface< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::basisFunctionSet ( const EntityType entity) const
inlineinherited

get basis function set for given entity

Parameters
[in]entityentity (of codim 0) for which base function is requested
Returns
BasisFunctionSet for the entity

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.
template<class FunctionSpace , class GridPart , int Order>
BlockMapperType& Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::blockMapper ( ) const
inline

get a reference to the block mapper

Returns
refernce to the block mapper
void Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::communicate ( DiscreteFunction &  discreteFunction) const
inlineinherited

communicate data for given discrete function using the space's default communication operation

Parameters
discreteFunctiondiscrete function to be communicated
void Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::communicate ( DiscreteFunction &  discreteFunction,
const Operation *  op 
) const
inlineinherited

communicate data for given discrete function

Parameters
discreteFunctiondiscrete function to be communicated
[in]opcommunication operation to use (see DFCommunicationOperation)
CommunicationDirection Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::communicationDirection ( ) const
inlineinherited

return the communication interface appropriate for this space

Returns
communication interface
InterfaceType Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::communicationInterface ( ) const
inlineinherited

return the communication interface appropriate for this space

Returns
communication interface
const CommunicationManagerType& Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::communicator ( ) const
inlineinherited

return reference to communicator (see CommunicationManager)

Returns
reference to communicator
template<class FunctionSpace , class GridPart , int Order>
bool Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::continuous ( ) const
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
template<class FunctionSpace , class GridPart , int Order>
bool Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::continuous ( const IntersectionType intersection) const
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
BaseType :: template CommDataHandle< DiscreteFunction, Operation >:: Type Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::createDataHandle ( DiscreteFunction &  discreteFunction,
const Operation *  operation 
) const
inlineinherited

Note
The default implementation is
return CommDataHandle< DiscreteFunction, Operation > :: Type( discreteFunction );

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.
void Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::forEach ( FunctorType &  f) const
inlineinherited

apply a functor to each entity in the associated grid partition

The functor must provide an the following operator

template< class EntityType >
void operator() ( const EntityType & );
Parameters
[in]ffunctor to apply
Note
The default implementation simply does the following:
const IteratorType end = asImp().end();
for( IteratorType it = asImp().begin(); it != end; ++it )
f( *it );
const std::vector<GeometryType>& Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::geomTypes ( int  codim) const
inlineprotectedinherited

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
const GridType& Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::grid ( ) const
inlineinherited

get reference to grid this discrete function space belongs to

Returns
constant reference to grid

get reference to grid this discrete function space belongs to

Returns
reference to grid

get a reference to the associated grid partition

Returns
reference to the grid partition

const IndexSetType& Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::indexSet ( ) const
inlineinherited

Get a reference to the associated index set.

Returns
const reference to index set
LocalFunctionType Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::localFunction ( const EntityType entity) const
inlineinherited

obtain a local function for an entity (to store intermediate values)

Parameters
[in]entityentity (of codim 0) for which a local function is desired
Returns
a local function backed by a small, fast array
bool Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::multipleBasisFunctionSets ( ) const
inlineinherited

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.
bool Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::multipleGeometryTypes ( ) const
inlineinherited

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
template<class FunctionSpace , class GridPart , int Order>
int Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::order ( ) const
inline

get global order of space

Returns
order of space, i.e., the maximal polynomial order of base functions
int Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::order ( const EntityType entity) const
inlineinherited

default implementation of the method order

Returns
returns max polynomial order for each entity using the method order()
void Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::removeFunction ( DiscreteFunction &  df) const
inlineinherited

default implementation of removeFunction does nothing at the moment

int Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::sequence ( ) const
inlineinherited

get index of the sequence in grid sequences

Returns
number of current sequence
int Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::size ( ) const
inlineinherited

get number of DoFs for this space

Returns
number of DoFs (degrees of freedom)
template<class FunctionSpace , class GridPart , int Order>
DFSpaceIdentifier Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::type ( ) const
inline

return type identifier of discrete function space

Returns
return type identifier of discrete function space

References Dune::Fem::FourierSpace_id.

Member Data Documentation

const AllGeometryTypes Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::allGeomTypes_
protectedinherited
const CommunicationDirection Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::commDirection_
protectedinherited
const InterfaceType Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::commInterface_
protectedinherited
std::unique_ptr< CommunicationManagerType > Dune::Fem::DiscreteFunctionSpaceDefault< FourierDiscreteFunctionSpaceTraits< FunctionSpace, GridPart, Order > >::communicator_
mutableprotectedinherited
template<class FunctionSpace , class GridPart , int Order>
const CommunicationDirection Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::defaultDirection = ForwardCommunication
staticprotected
template<class FunctionSpace , class GridPart , int Order>
const InterfaceType Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::defaultInterface = InteriorBorder_All_Interface
staticprotected
template<class FunctionSpace , class GridPart , int Order>
const int Dune::Fem::FourierDiscreteFunctionSpace< FunctionSpace, GridPart, Order >::polynomialOrder = Order+1
static

The documentation for this class was generated from the following files: