Class xlifepp::SpSpace#

class SpSpace : public xlifepp::Space#

defines general data of a space defined by a set of spectral functions SpSpace class is not exposed to end users

Public Functions

SpSpace(const string_t&, const GeomDomain&, number_t, dimen_t, SpectralBasis*)#

constructor with reference on domain

SpSpace(const string_t&, const GeomDomain*, number_t, dimen_t, SpectralBasis*)#

constructor with pointer on domain

~SpSpace()#

destructor

inline virtual dimen_t dimFun() const#

dof dimension (shape function dim)

inline virtual number_t dimSpace() const#

true space dimension

inline virtual const Dof &dof(number_t n) const#

return n-th spdof as dof (n=1,…)

inline virtual number_t dofId(number_t n) const#

return the DoF id of n-th space DoF (n=1,…)

virtual std::vector<number_t> dofIds() const#

return the DoF ids on space

inline virtual const Element *element_p(GeomElement *gelt) const#

acces to element associated to a geomelement

inline virtual const Element *element_p(number_t k) const#

access to k-th element (pointer) for FESpace and FESubspace only

inline virtual const std::vector<number_t> &elementDofs(number_t k) const#

access to dofs ranks (local numbering) of k-th element for FESpace and FESubspace only

inline virtual std::vector<number_t> elementParentDofs(number_t k) const#

access to dofs ranks (parent numbering) of k-th element for FESpace and FESubspace only

virtual bool include(const Space*) const#

return true if space is included in current space

virtual bool isFE() const#

true if FE space or FeSubspace

virtual bool isSpectral() const#

true if spectral space

inline virtual number_t nbDofs() const#

number of dofs (a dof may be a vector dof)

inline virtual number_t nbOfElements() const#

number of elements for FESpace and FESubspace only

inline virtual void print(PrintStream &os) const#

print utility

virtual void print(std::ostream&) const#

print utility

inline virtual const std::set<RefElement*> &refElements() const#

access to set of pointer to RefElement (refElts) involved in FESpace

inline virtual const Space *rootSpace() const#

access to root space pointer

virtual void shiftDofs(number_t n)#

shift dofs numbering from n (special utility for SpSpace)

inline SpectralBasis *spectralBasis() const#

returns the spectral basis

template<typename T>
Vector<T> &spectralFun(const Point&, Vector<T>&) const#

compute the values of all functions at a point in case of spectral space

template<typename T>
T &spectralFun(number_t, const Point&, T&) const#

compute the value of the n-th function at a point in case of spectral space

inline virtual const SpSpace *spSpace() const#

downcast function

virtual StrucType strucType() const#

return structure type of basis function (scalar or vector)

virtual ValueType valueType() const#

return value type of basis function (real or complex)

Public Members

std::vector<SpDof> dofs#

list of global degrees of freedom