dune-fem  2.4.1-rc
Modules | Classes | Enumerations | Functions
Discrete Function space
Collaboration diagram for Discrete Function space:

Modules

 Discontinuous Galerkin Space
 
 Finite Volume Function Space
 
 Lagrange Discrete Function Space
 
 Wrapper from scalar to vector valued spaces
 
 Wrapperspace for two different type of discrete function spaces
 
 Reduced Basis Space
 
 Discontinous Galerkin Space with polynom adaptation
 
 Lagrange Discrete Function Space with polynom adaptation
 
 Base functions and base function sets
 Interface class for basis function sets.
 
 Shape functions and shape function sets
 Interface class for shape function sets.
 
 DOF mapper
 

Classes

class  Dune::Fem::ExportsDiscreteFunctionSpaceType< T >
 
struct  Dune::Fem::isGenericDiscreteFunctionSpace
 
struct  Dune::Fem::DifferentDiscreteFunctionSpace< DiscreteFunctionSpaceImp, NewFunctionSpace >
 
struct  Dune::Fem::DifferentDiscreteFunctionSpace< DiscreteFunctionSpaceImp< FunctionSpaceImp, GridPartImp, polOrd, StorageImp >, NewFunctionSpace >
 
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. More...
 
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. More...
 
class  Dune::Fem::DiscreteFunctionSpaceAdapter< FunctionSpaceImp, GridPartImp >
 Create Obejct that behaves like a discrete function space without to provide functions with the iterator facilities. More...
 
class  DiscreteFunctionSpace
 discrete function space More...
 
class  Dune::Fem::Interpolation< DiscreteFunction, IteratorProvider >
 native interpolation of a discrete function space More...
 

Enumerations

enum  Dune::Fem::DFSpaceIdentifier {
  Dune::Fem::CombinedSpace_id, Dune::Fem::DFAdapter_id, Dune::Fem::DGSpace_id, Dune::Fem::FiniteVolumeSpace_id,
  Dune::Fem::FourierSpace_id, Dune::Fem::GenericSpace_id, Dune::Fem::LagrangeSpace_id, Dune::Fem::RannacherTurekSpace_id,
  Dune::Fem::LegendreDGSpace_id, Dune::Fem::HierarchicLegendreDGSpace_id, Dune::Fem::LagrangeDGSpace_id
}
 enumerator for identification of spaces More...
 

Functions

std::string Dune::Fem::spaceName (const DFSpaceIdentifier id)
 
template<class GridFunction , class DiscreteFunction >
static void Dune::Fem::interpolate (const GridFunction &u, DiscreteFunction &v)
 perform native interpolation of a discrete function space More...
 
template<class Traits >
bool operator== (const DiscreteFunctionSpaceInterface< Traits > &X, const DiscreteFunctionSpaceInterface< Traits > &Y)
 check two spaces for equality More...
 

Detailed Description

Provides a DiscreteFunctionSpace combined from arbitrary number of DiscreteFunctionSpaces of different types into a single Dune::Fem::DiscreteFunctionSpaceInterface ( U_h times V_h times .... ).

Note
It is assumed that the each space is build upon the same gridpart

This provides the interfaces for discrete function spaces. Discrete function spaces contain functions from a function space but the domain is defined by a grid or more precisly by a grid part.

Remarks
The interface for using a DiscreteFunctionSpace is defined by the class DiscreteFunctionSpaceInterface.

Enumeration Type Documentation

enumerator for identification of spaces

Enumerator
CombinedSpace_id 

id for Combined Space

DFAdapter_id 

id for DiscreteFunctionSpace Adapter

DGSpace_id 

id for Discontinuous Galerkin Space

FiniteVolumeSpace_id 

id for Finite Volume Space

FourierSpace_id 

id for Fourier space

GenericSpace_id 

id for Generic Space

LagrangeSpace_id 

id for Lagrange Space

RannacherTurekSpace_id 

id for Rannacher-Turek space

LegendreDGSpace_id 

id for Legendre Discontinuous Galerkin Space

HierarchicLegendreDGSpace_id 

id for Hierarchic Legendre Discontinuous Galerkin Space

LagrangeDGSpace_id 

id for Lagrange Discontinuous Galerkin Space

Function Documentation

template<class GridFunction , class DiscreteFunction >
static void Dune::Fem::interpolate ( const GridFunction &  u,
DiscreteFunction &  v 
)
inlinestatic

perform native interpolation of a discrete function space

interpolate

By definition of its degrees of freedom, each discrete function space has a native interpolation, which can be computed very quickly.

For example, the native interpolation of a Lagrange discrete function space is the evaluation in its Lagrange points. An orthonormal DG space would instead perform an $L^2$-Projection.

The actual implementation must locally be provided by the discrete function space through the method

template< class LocalFunction, class LocalDofVector >
void interpolate ( const LocalFunction &f, LocalDofVector &dofs ) const;
Parameters
[in]ugrid function to interpolate
[out]vdiscrete function to represent the interpolation

Referenced by Dune::Fem::interpolate().

template<class Traits >
bool operator== ( const DiscreteFunctionSpaceInterface< Traits > &  X,
const DiscreteFunctionSpaceInterface< Traits > &  Y 
)
related

check two spaces for equality

This is a default implemented equality operator for discrete function spaces. It assumes the mapper to be a singleton and then compares the addresses of the two mappers.

Note that this method can be specialized by implementing another version that uses the exact traits of the discrete function space.

References Dune::Fem::DiscreteFunctionSpaceInterface< FunctionSpaceTraits >::blockMapper().

std::string Dune::Fem::spaceName ( const DFSpaceIdentifier  id)
inline