BEM++
2.0
|
Base class for spaces of scalar-valued functions. More...
#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/space/scalar_space.hpp>
Public Types | |
typedef Base::CoordinateType | CoordinateType |
typedef Base::CollectionOfShapesetTransformations | CollectionOfShapesetTransformations |
typedef Base::CollectionOfBasisTransformations | CollectionOfBasisTransformations |
![]() | |
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. | |
ScalarSpace & | operator= (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... | |
![]() | |
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< GeometryFactory > | elementGeometryFactory () 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 Grid > | grid () 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 GridView & | gridView () 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 | |
![]() | |
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. | |
Base class for spaces of scalar-valued functions.
|
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. .
Reimplemented from Bempp::Space< BasisFunctionType >.
|
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 defined in the documentation of getGlobalDofInterpolationPoints().
Reimplemented from Bempp::Space< BasisFunctionType >.