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

Base class for spaces of scalar-valued functions. More...

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

Inheritance diagram for Bempp::ScalarSpace< BasisFunctionType >:
Bempp::Space< 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 Base::CoordinateType CoordinateType
 
typedef
Base::CollectionOfShapesetTransformations 
CollectionOfShapesetTransformations
 
typedef
Base::CollectionOfBasisTransformations 
CollectionOfBasisTransformations
 
- Public Types inherited from Bempp::Space< BasisFunctionType >
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

 ScalarSpace (const shared_ptr< const Grid > &grid)
 
 ScalarSpace (const ScalarSpace &other)
 Copy constructor.
 
ScalarSpaceoperator= (const ScalarSpace &other)
 Assignment operator.
 
virtual const
CollectionOfShapesetTransformations
basisFunctionValue () const
 Transformation mapping shape functions to basis functions. More...
 
virtual void getGlobalDofInterpolationDirections (arma::Mat< CoordinateType > &directions) const
 Retrieve the interpolation directions of the global degrees of freedom. More...
 
- Public Member Functions inherited from Bempp::Space< BasisFunctionType >
 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 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...
 
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.
 

Private Types

typedef Space< BasisFunctionType > Base
 

Private Attributes

boost::scoped_ptr< Impl > m_impl
 

Additional Inherited Members

Detailed Description

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

Base class for spaces of scalar-valued functions.

Member Function Documentation

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

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 from Bempp::Space< BasisFunctionType >.

template<typename BasisFunctionType >
void Bempp::ScalarSpace< BasisFunctionType >::getGlobalDofInterpolationDirections ( arma::Mat< CoordinateType > &  directions) const
virtual

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 from Bempp::Space< BasisFunctionType >.


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