DUNE-FEM (unstable)

DiscreteFunctionSpace

Classes

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::DiscontinuousLocalFiniteElementSpace< LFEMap, FunctionSpace, Storage >
 Rannacher-Turek Space. More...
 
class  Dune::Fem::LocalFiniteElementSpace< LFEMap, FunctionSpace, Storage >
 Rannacher-Turek 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 , Dune::Fem::LocalFiniteElementSpace_id
}
 enumerator for identification of spaces More...
 

Functions

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 same type into a single Dune::Fem::DiscreteFunctionSpaceInterface ( U_h times V_h times .... ).

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

CombineOp describes the way in which the spaces have been combined, options are: TupleSpaceProduct: V = V_1 x V_2 x ... TupleSpaceSummation: V = V_1 + V_2 + ...

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

◆ DFSpaceIdentifier

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

LocalFiniteElementSpace_id 

id for local finite element space

Function Documentation

◆ interpolate()

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

perform native interpolation of a discrete function space

\function 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;
static void interpolate(const GridFunction &u, DiscreteFunction &v)
perform native interpolation of a discrete function space
Definition: interpolate.hh:54
Parameters
[in]ugrid function to interpolate
[out]vdiscrete function to represent the interpolation

References Dune::Partitions::all.

◆ operator==()

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().

Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (Mar 28, 23:30, 2024)