BEM++  2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Types | Public Member Functions | Related Functions | List of all members
Bempp::Space< BasisFunctionType > Class Template Referenceabstract

Function space. More...

#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/space/space.hpp>

Inheritance diagram for Bempp::Space< BasisFunctionType >:
Bempp::RaviartThomas0VectorSpace< BasisFunctionType > Bempp::ScalarSpace< BasisFunctionType > Bempp::PiecewiseConstantDiscontinuousScalarSpaceBarycentric< BasisFunctionType > Bempp::PiecewiseConstantDualGridDiscontinuousScalarSpace< BasisFunctionType > Bempp::PiecewiseConstantDualGridScalarSpace< BasisFunctionType > Bempp::PiecewiseConstantScalarSpace< BasisFunctionType > Bempp::PiecewiseConstantScalarSpaceBarycentric< BasisFunctionType > Bempp::PiecewiseLinearDiscontinuousScalarSpaceBarycentric< BasisFunctionType > Bempp::PiecewiseLinearScalarSpace< BasisFunctionType > Bempp::PiecewisePolynomialContinuousScalarSpace< BasisFunctionType > Bempp::PiecewisePolynomialDiscontinuousScalarSpace< BasisFunctionType > Bempp::UnitScalarSpace< BasisFunctionType >

Public Types

typedef Fiber::ScalarTraits
< BasisFunctionType >
::RealType 
CoordinateType
 Type used to represent coordinates.
 
typedef Fiber::ScalarTraits
< BasisFunctionType >
::ComplexType 
ComplexType
 Equivalent to std::complex<CoordinateType>.
 
typedef
Fiber::CollectionOfShapesetTransformations
< CoordinateType
CollectionOfShapesetTransformations
 Appropriate instantiation of Fiber::CollectionOfShapesetTransformations.
 
typedef
Fiber::CollectionOfBasisTransformations
< CoordinateType
CollectionOfBasisTransformations
 Appropriate instantiation of Fiber::CollectionOfBasisTransformations.
 

Public Member Functions

 Space (const shared_ptr< const Grid > &grid)
 Constructor. More...
 
 Space (const Space< BasisFunctionType > &other)
 Copy Constructor.
 
virtual ~Space ()
 Destructor.
 
Space< BasisFunctionType > & operator= (const Space< BasisFunctionType > &other)
 Assignment operator.
 
virtual void setElementVariant (const Entity< 0 > &element, ElementVariant variant)=0
 Set the variant of element element to variant. More...
 
virtual ElementVariant elementVariant (const Entity< 0 > &element) const =0
 Return current variant of element element. More...
 
shared_ptr< GeometryFactoryelementGeometryFactory () const
 Return the GeometryFactory associated with the mesh.
 
BEMPP_DEPRECATED void assignDofs ()
 Assign global degrees of freedom to local degrees of freedom. More...
 
BEMPP_DEPRECATED bool dofsAssigned () const
 True if global degrees of freedom have been already assigned to local degrees of freedom, false otherwise. More...
 
virtual size_t flatLocalDofCount () const =0
 Total number of local degrees of freedom on all elements.
 
virtual size_t globalDofCount () const =0
 Number of global degrees of freedom.
 
virtual void getGlobalDofs (const Entity< 0 > &element, std::vector< GlobalDofIndex > &dofs) const
 Map local degrees of freedom residing on an element to global degrees of freedom. More...
 
virtual void getGlobalDofs (const Entity< 0 > &element, std::vector< GlobalDofIndex > &dofs, std::vector< BasisFunctionType > &localDofWeights) const
 Map local degrees of freedom residing on an element to global degrees of freedom. More...
 
virtual bool gridIsIdentical (const Space< BasisFunctionType > &other) const
 Return true if both spaces act on the same grid.
 
virtual SpaceIdentifier spaceIdentifier () const =0
 Return the identifier of the space.
 
virtual bool spaceIsCompatible (const Space< BasisFunctionType > &other) const =0
 Return true if other is compatible to this space, i.e. the global dofs of the two spaces agree with each other.
 
virtual void global2localDofs (const std::vector< GlobalDofIndex > &globalDofs, std::vector< std::vector< LocalDof > > &localDofs) const
 Map global degrees of freedom to local degrees of freedom. More...
 
virtual void global2localDofs (const std::vector< GlobalDofIndex > &globalDofs, std::vector< std::vector< LocalDof > > &localDofs, std::vector< std::vector< BasisFunctionType > > &localDofWeights) const
 
virtual void flatLocal2localDofs (const std::vector< FlatLocalDofIndex > &flatLocalDofs, std::vector< LocalDof > &localDofs) const =0
 Map flat indices of local degrees of freedom to local degrees of freedom. More...
 
virtual void getGlobalDofInterpolationPoints (arma::Mat< CoordinateType > &points) const
 Retrieve the interpolation points of the global degrees of freedom. More...
 
virtual void getNormalsAtGlobalDofInterpolationPoints (arma::Mat< CoordinateType > &normals) const
 Retrieve the unit vectors normal to the grid at the interpolation points of the global degrees of freedom. More...
 
virtual void getGlobalDofInterpolationDirections (arma::Mat< CoordinateType > &directions) const
 Retrieve the interpolation directions of the global degrees of freedom. More...
 
virtual void getGlobalDofBoundingBoxes (std::vector< BoundingBox< CoordinateType > > &boundingBoxes) const
 Retrieve bounding boxes of global degrees of freedom. More...
 
virtual void getFlatLocalDofBoundingBoxes (std::vector< BoundingBox< CoordinateType > > &boundingBoxes) const
 Retrieve bounding boxes of local degrees of freedom ordered by their flat index. More...
 
virtual void getGlobalDofPositions (std::vector< Point3D< CoordinateType > > &positions) const =0
 Retrieve the reference positions of global degrees of freedom. More...
 
virtual void getFlatLocalDofPositions (std::vector< Point3D< CoordinateType > > &positions) const =0
 Retrieve the reference positions of local degrees of freedom ordered by their flat index. More...
 
virtual void getGlobalDofNormals (std::vector< Point3D< CoordinateType > > &normals) const
 Retrieve the unit vectors normal to the grid at the positions of global degrees of freedom. More...
 
virtual void getFlatLocalDofNormals (std::vector< Point3D< CoordinateType > > &normals) const
 Retrieve the unit vectors normal to the grid at the positions of global degrees of freedom. More...
 
virtual BEMPP_DEPRECATED void dumpClusterIds (const char *fileName, const std::vector< unsigned int > &clusterIdsOfGlobalDofs) const =0
 Write a VTK file showing the distribution of global or flat local degrees of freedom into clusters. More...
 
virtual void dumpClusterIdsEx (const char *fileName, const std::vector< unsigned int > &clusterIdsOfGlobalDofs, DofType dofType) const
 Write a VTK file showing the distribution of global or flat local degrees of freedom into clusters. More...
 
Attributes
virtual shared_ptr< const
Space< BasisFunctionType > > 
discontinuousSpace (const shared_ptr< const Space< BasisFunctionType > > &self) const =0
 Return a shared pointer to an appropriate counterpart to this space, with basis functions extending only over single elements. More...
 
virtual bool isDiscontinuous () const =0
 Return true if each basis function of this space extends over only a single element, false otherwise.
 
virtual bool isBarycentric () const =0
 Return true if space is based on a barycentric refinement.
 
virtual int domainDimension () const =0
 Dimension of the grid on which functions from this space are defined.
 
virtual int codomainDimension () const =0
 Dimension of the codomain of the functions. More...
 
shared_ptr< const Gridgrid () const
 Shared pointer to the grid on which the functions from this space are defined.
 
virtual BEMPP_DEPRECATED const
Fiber::Basis
< BasisFunctionType > & 
basis (const Entity< 0 > &element) const
 Reference to the shapeset attached to the specified element. More...
 
virtual const Fiber::Shapeset
< BasisFunctionType > & 
shapeset (const Entity< 0 > &element) const
 Reference to the shapeset attached to the specified element.
 
virtual BEMPP_DEPRECATED const
CollectionOfBasisTransformations
shapeFunctionValue () const
 Transformation mapping shape functions to basis functions. More...
 
virtual shared_ptr< const
Space< BasisFunctionType > > 
barycentricSpace (const shared_ptr< const Space< BasisFunctionType > > &self) const
 Return an equivalent space (in terms of global Dofs), but defined using local dofs on the barycentrically refined grid.
 
unsigned int level () const
 Return the grid level of the current space.
 
int gridDimension () const
 Return the underlying grid dimension.
 
int worldDimension () const
 Return the underlying world dimension.
 
const GridViewgridView () const
 Return the grid view of the current space.
 
virtual const
CollectionOfShapesetTransformations
basisFunctionValue () const
 Transformation mapping shape functions to basis functions. More...
 

Related Functions

(Note that these are not member functions.)

template<typename BasisFunctionType >
void getAllShapesets (const Space< BasisFunctionType > &space, std::vector< const Fiber::Shapeset< BasisFunctionType > * > &shapesets)
 Get pointers to Basis objects corresponding to all elements of the grid on which a function space is defined. More...
 
template<typename BasisFunctionType >
void BEMPP_DEPRECATED getAllBases (const Space< BasisFunctionType > &space, std::vector< const Fiber::Basis< BasisFunctionType > * > &bases)
 Get pointers to Basis objects corresponding to all elements of the grid on which a function space is defined. More...
 
template<typename BasisFunctionType >
int maximumShapesetOrder (const Space< BasisFunctionType > &space)
 Return the maximum polynomial order of the shapesets defined by space on the elements of the space's underlying grid.
 

Detailed Description

template<typename BasisFunctionType>
class Bempp::Space< BasisFunctionType >

Function space.

This class represents a space of functions defined on a grid. The space is spanned by a finite number of scalar- or vector-valued basis functions. The template parameter BasisFunctionType is the type of the values of (the components of) these basis functions, and can be set to float, double, std::complex<float> or std::complex<double>.

The basis functions of a space, also known as global degrees of freedom (DOFs), can have support extending over multiple elements of the grid. They are, however, composed of one or more local basis functions (local degrees of freedom), each of which resides on a single element. The mapping of local to global degrees of freedom is triggered by calling the function assignDofs(). Many other member functions of Space may only be invoked after assignDofs() has beeen called.

Constructor & Destructor Documentation

template<typename BasisFunctionType >
Bempp::Space< BasisFunctionType >::Space ( const shared_ptr< const Grid > &  grid)
explicit

Constructor.

Parameters
[in]gridGrid on which functions from this space should be defined.
[in]levelLevel of the grid on which the space should be defined.

An exception is thrown if grid is a null pointer.

Member Function Documentation

template<typename BasisFunctionType >
void Bempp::Space< BasisFunctionType >::assignDofs ( )

Assign global degrees of freedom to local degrees of freedom.

Deprecated:
It is not necessary any more to call this function, since DOF assignment is now done automatically in the constructor.
template<typename BasisFunctionType>
virtual BEMPP_DEPRECATED const Fiber::Basis<BasisFunctionType>& Bempp::Space< BasisFunctionType >::basis ( const Entity< 0 > &  element) const
inlinevirtual

Reference to the shapeset attached to the specified element.

Deprecated:
This function is deprecated and will be removed in a future release of BEM++. Use shapeset() instead.

References Bempp::Space< BasisFunctionType >::shapeset().

template<typename BasisFunctionType>
virtual const CollectionOfShapesetTransformations& Bempp::Space< BasisFunctionType >::basisFunctionValue ( ) const
inlinevirtual

Transformation mapping shape functions to basis functions.

This function returns a CollectionOfShapesetTransformations object consisting of a single transformation that maps values of shape functions defined on a reference element to those of basis functions defined on a particular element of the grid.

This transformation is the identity for spaces of scalar-valued functions, but may be more complicated for spaces of vector-valued functions, e.g. $H(\mathrm{curl})$.

Reimplemented in Bempp::RaviartThomas0VectorSpace< BasisFunctionType >, and Bempp::ScalarSpace< BasisFunctionType >.

Referenced by Bempp::Space< BasisFunctionType >::shapeFunctionValue().

template<typename BasisFunctionType>
virtual int Bempp::Space< BasisFunctionType >::codomainDimension ( ) const
pure virtual
template<typename BasisFunctionType>
virtual shared_ptr<const Space<BasisFunctionType> > Bempp::Space< BasisFunctionType >::discontinuousSpace ( const shared_ptr< const Space< BasisFunctionType > > &  self) const
pure virtual

Return a shared pointer to an appropriate counterpart to this space, with basis functions extending only over single elements.

Let $S = span_{n=1}^N f_n$ denote the function space represented by this object, with $f_n$ its basis functions.

If the functions $f_n$ are scalar-valued, discontinuousSpace() should return a shared pointer to an object representing a space $T = span_{m=1}^M g_m$ with basis functions $g_m$ such that:

  1. $T = S$.
  2. The support of each basis function $g_m$ is a single element.
  3. Each function $f_n$ has a unique representation in the basis of $\{g_m\}_{m=1}^M$ and each function $g_m$ contributes to exactly one function $f_n$.

If the values of functions $f_n$ are vectors with $d$ components, discontinuousSpace() should return a shared pointer to an object representing a space $T = span_{m=1}^M g_m$ of with scalar-valued basis functions $g_m$ such that

  1. For each $i = 1, 2, \cdots, d$ it holds that $T \supset span_{n=1}^N (f_n)_i$, where $(f_n)_i$ denotes the $i$th component of $f_n$.
  2. The support of each basis function $g_m$ is a single element.
Parameters
[in]selfThis must be a shared pointer to *this.

Implemented in Bempp::PiecewisePolynomialDiscontinuousScalarSpace< BasisFunctionType >, Bempp::PiecewisePolynomialContinuousScalarSpace< BasisFunctionType >, Bempp::RaviartThomas0VectorSpace< BasisFunctionType >, Bempp::PiecewiseLinearDiscontinuousScalarSpace< BasisFunctionType >, Bempp::PiecewiseLinearDiscontinuousScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewiseLinearContinuousScalarSpace< BasisFunctionType >, Bempp::PiecewiseLinearContinuousScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewiseConstantDiscontinuousScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewiseConstantScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewiseConstantScalarSpace< BasisFunctionType >, Bempp::PiecewiseConstantDualGridScalarSpace< BasisFunctionType >, Bempp::PiecewiseConstantDualGridDiscontinuousScalarSpace< BasisFunctionType >, and Bempp::UnitScalarSpace< BasisFunctionType >.

template<typename BasisFunctionType >
bool Bempp::Space< BasisFunctionType >::dofsAssigned ( ) const

True if global degrees of freedom have been already assigned to local degrees of freedom, false otherwise.

Deprecated:
Since DOF assignment is now done automatically in the constructor, this function always returns true.
template<typename BasisFunctionType>
virtual BEMPP_DEPRECATED void Bempp::Space< BasisFunctionType >::dumpClusterIds ( const char *  fileName,
const std::vector< unsigned int > &  clusterIdsOfGlobalDofs 
) const
pure virtual

Write a VTK file showing the distribution of global or flat local degrees of freedom into clusters.

Parameters
[in]fileNameName of the VTK file to be created (without extension).
[in]clusterIdsOfGlobalDofsVector whose ith element contains the identifier of the cluster to which ith global degree of freedom has been assigned.

This function generates a VTK file containing a single data series mapping the ``positions'' (see getGlobalDofPositions()) of global degrees of freedom to the identifiers of the clusters to which these degrees of freedom have been assigned. It is intended for debugging clustering algorithms.

Deprecated:
This function is deprecated. Use dumpClusterIdEx() instead, which supports dumping of cluster identifiers of flat local degrees of freedom in addition to the global ones.

Implemented in Bempp::RaviartThomas0VectorSpace< BasisFunctionType >, Bempp::PiecewisePolynomialDiscontinuousScalarSpace< BasisFunctionType >, Bempp::PiecewiseLinearContinuousScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewiseLinearDiscontinuousScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewisePolynomialContinuousScalarSpace< BasisFunctionType >, Bempp::PiecewiseConstantDiscontinuousScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewiseConstantScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewiseConstantScalarSpace< BasisFunctionType >, Bempp::PiecewiseConstantDualGridScalarSpace< BasisFunctionType >, Bempp::PiecewiseLinearContinuousScalarSpace< BasisFunctionType >, Bempp::PiecewiseLinearDiscontinuousScalarSpace< BasisFunctionType >, Bempp::PiecewiseConstantDualGridDiscontinuousScalarSpace< BasisFunctionType >, and Bempp::UnitScalarSpace< BasisFunctionType >.

template<typename BasisFunctionType >
void Bempp::Space< BasisFunctionType >::dumpClusterIdsEx ( const char *  fileName,
const std::vector< unsigned int > &  clusterIdsOfGlobalDofs,
DofType  dofType 
) const
virtual

Write a VTK file showing the distribution of global or flat local degrees of freedom into clusters.

Parameters
[in]fileNameName of the VTK file to be created (without extension).
[in]clusterIdsOfGlobalDofsVector whose ith element contains the identifier of the cluster to which ith degree of freedom has been assigned.
[in]dofTypeType of degrees of freedom (GLOBAL_DOFS or FLAT_LOCAL_DOFS).

This function generates a VTK file containing a single data series mapping the ``positions'' (see getGlobalDofPositions() and getFlatLocalDofPositions()) of the chosen type of degrees of freedom to the identifiers of the clusters to which these degrees of freedom have been assigned. It is intended for debugging clustering algorithms.

This function supersedes dumpClusterIds().

Reimplemented in Bempp::RaviartThomas0VectorSpace< BasisFunctionType >, Bempp::PiecewisePolynomialDiscontinuousScalarSpace< BasisFunctionType >, Bempp::PiecewiseLinearContinuousScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewiseLinearDiscontinuousScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewisePolynomialContinuousScalarSpace< BasisFunctionType >, Bempp::PiecewiseConstantDiscontinuousScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewiseConstantScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewiseConstantScalarSpace< BasisFunctionType >, Bempp::PiecewiseConstantDualGridScalarSpace< BasisFunctionType >, Bempp::PiecewiseLinearContinuousScalarSpace< BasisFunctionType >, Bempp::PiecewiseLinearDiscontinuousScalarSpace< BasisFunctionType >, Bempp::PiecewiseConstantDualGridDiscontinuousScalarSpace< BasisFunctionType >, and Bempp::UnitScalarSpace< BasisFunctionType >.

template<typename BasisFunctionType>
virtual ElementVariant Bempp::Space< BasisFunctionType >::elementVariant ( const Entity< 0 > &  element) const
pure virtual
template<typename BasisFunctionType>
virtual void Bempp::Space< BasisFunctionType >::flatLocal2localDofs ( const std::vector< FlatLocalDofIndex > &  flatLocalDofs,
std::vector< LocalDof > &  localDofs 
) const
pure virtual
template<typename BasisFunctionType>
virtual void Bempp::Space< BasisFunctionType >::getFlatLocalDofBoundingBoxes ( std::vector< BoundingBox< CoordinateType > > &  boundingBoxes) const
inlinevirtual
template<typename BasisFunctionType>
virtual void Bempp::Space< BasisFunctionType >::getFlatLocalDofNormals ( std::vector< Point3D< CoordinateType > > &  normals) const
inlinevirtual
template<typename BasisFunctionType>
virtual void Bempp::Space< BasisFunctionType >::getFlatLocalDofPositions ( std::vector< Point3D< CoordinateType > > &  positions) const
pure virtual
template<typename BasisFunctionType>
virtual void Bempp::Space< BasisFunctionType >::getGlobalDofBoundingBoxes ( std::vector< BoundingBox< CoordinateType > > &  boundingBoxes) const
inlinevirtual
template<typename BasisFunctionType>
virtual void Bempp::Space< BasisFunctionType >::getGlobalDofInterpolationDirections ( arma::Mat< CoordinateType > &  directions) const
inlinevirtual

Retrieve the interpolation directions of the global degrees of freedom.

This function fills the 2D array points whose (i, j)th element contains the ith component of the vector $d_j$ defined in the documentation of getGlobalDofInterpolationPoints().

Reimplemented in Bempp::ScalarSpace< BasisFunctionType >.

template<typename BasisFunctionType>
virtual void Bempp::Space< BasisFunctionType >::getGlobalDofInterpolationPoints ( arma::Mat< CoordinateType > &  points) const
inlinevirtual

Retrieve the interpolation points of the global degrees of freedom.

This function, along with getNormalsAtGlobalDofInterpolationPoints() and getGlobalDofInterpolationDirections(), can be used in the interpolation of functions in finite-dimensional function spaces represented with classes derived from Space. Let $V$ be a function space defined on grid $\Gamma$ with a basis $(f_i)_{i=1}^N$ of functions $f_i : \Gamma \to \mathbb{R}^n$ (or $\mathbb{C}^n$. We say that this basis is interpolatory if there exist points $x_j \in \Gamma$ and $n$-dimensional vectors $d_j$ ( $j = 1, 2, \dots, N$ such that

\[ f_i(x_j) \cdot d_j = \begin{cases} 1 &\text{for} i = j,\\ 0 &\text{otherwise}. \end{cases} \]

For any appropriate function $u$ defined on $Gamma$ the numbers $u(x_i) \cdot d_i$ can then be taken as the expansion coefficients in the basis $(f_i)_{i=1}^N$ of its interpolation. ("Appropriate" means that if, for example, the space $V$ is a space of functions tangential to the grid, then $u$ should also be tangential to the grid.)

This function fills the 2D array points whose (i, j)th element contains the ith coordinate of the interpolation point $x_j$.

Reimplemented in Bempp::PiecewiseConstantDiscontinuousScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewiseConstantScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewiseConstantScalarSpace< BasisFunctionType >, and Bempp::PiecewiseLinearScalarSpace< BasisFunctionType >.

template<typename BasisFunctionType>
virtual void Bempp::Space< BasisFunctionType >::getGlobalDofNormals ( std::vector< Point3D< CoordinateType > > &  normals) const
inlinevirtual
template<typename BasisFunctionType>
virtual void Bempp::Space< BasisFunctionType >::getGlobalDofPositions ( std::vector< Point3D< CoordinateType > > &  positions) const
pure virtual
template<typename BasisFunctionType >
void Bempp::Space< BasisFunctionType >::getGlobalDofs ( const Entity< 0 > &  element,
std::vector< GlobalDofIndex > &  dofs 
) const
virtual
template<typename BasisFunctionType>
void Bempp::Space< BasisFunctionType >::getGlobalDofs ( const Entity< 0 > &  element,
std::vector< GlobalDofIndex > &  dofs,
std::vector< BasisFunctionType > &  localDofWeights 
) const
virtual

Map local degrees of freedom residing on an element to global degrees of freedom.

Parameters
[in]elementAn element of the grid grid().
[out]dofsVector whose ith element is the index of the global degrees of freedom to which the ith local degree of freedom residing on element contributes. A negative number means that a given local degree of freedom does not contribute to any global one.
[out]localDofWeightsVector whose ith element is the weight with which the ith local degree of freedom residing on element contributes to "its" global degree of freedom.

Reimplemented in Bempp::RaviartThomas0VectorSpace< BasisFunctionType >.

template<typename BasisFunctionType>
virtual void Bempp::Space< BasisFunctionType >::getNormalsAtGlobalDofInterpolationPoints ( arma::Mat< CoordinateType > &  normals) const
inlinevirtual

Retrieve the unit vectors normal to the grid at the interpolation points of the global degrees of freedom.

This function fills the 2D array normals whose (i, j)th element contains the ith component of the unit vector normal to the grid at the interpolation point $x_j$ defined in the documentation of getGlobalDofInterpolationPoints().

Reimplemented in Bempp::PiecewiseConstantDiscontinuousScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewiseConstantScalarSpaceBarycentric< BasisFunctionType >, Bempp::PiecewiseConstantScalarSpace< BasisFunctionType >, and Bempp::PiecewiseLinearScalarSpace< BasisFunctionType >.

template<typename BasisFunctionType >
void Bempp::Space< BasisFunctionType >::global2localDofs ( const std::vector< GlobalDofIndex > &  globalDofs,
std::vector< std::vector< LocalDof > > &  localDofs 
) const
virtual
template<typename BasisFunctionType>
virtual void Bempp::Space< BasisFunctionType >::setElementVariant ( const Entity< 0 > &  element,
ElementVariant  variant 
)
pure virtual
template<typename BasisFunctionType>
virtual BEMPP_DEPRECATED const CollectionOfBasisTransformations& Bempp::Space< BasisFunctionType >::shapeFunctionValue ( ) const
inlinevirtual

Transformation mapping shape functions to basis functions.

Deprecated:
This function is deprecated and will be removed in a future release of BEM++. Use basisFunctionValue() instead.

References Bempp::Space< BasisFunctionType >::basisFunctionValue().

Friends And Related Function Documentation

template<typename BasisFunctionType >
void BEMPP_DEPRECATED getAllBases ( const Space< BasisFunctionType > &  space,
std::vector< const Fiber::Basis< BasisFunctionType > * > &  bases 
)
related

Get pointers to Basis objects corresponding to all elements of the grid on which a function space is defined.

Deprecated:
This function is deprecated. Use getAllShapesets() instead.
template<typename BasisFunctionType >
void getAllShapesets ( const Space< BasisFunctionType > &  space,
std::vector< const Fiber::Shapeset< BasisFunctionType > * > &  shapesets 
)
related

Get pointers to Basis objects corresponding to all elements of the grid on which a function space is defined.

Parameters
[in]spaceA Space object.
[out]basesVector whose ith element is a pointer to the Basis object representing the local degrees of freedom residing on the ith element of the grid on which space is defined.

An exception is raised if space.assignDofs() has not been called prior to calling this function.

References Bempp::Mapper::entityIndex(), Bempp::Space< BasisFunctionType >::grid(), and Bempp::Space< BasisFunctionType >::shapeset().


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