#ifndef FILE_HDIVFES #define FILE_HDIVFES /*********************************************************************/ /* File: hdivfes.hpp */ /* Author: Joachim Schoeberl */ /* Date: 12. Jan. 2002 */ /*********************************************************************/ /** Finite Element Space for H(div) */ class RaviartThomasFESpace : public FESpace { /// ARRAY ndlevel; public: /// RaviartThomasFESpace (const MeshAccess & ama, int adim, bool acomplex); /// virtual ~RaviartThomasFESpace (); /// virtual const char * GetType() { return "RaviartThomas"; } static FESpace * Create (const MeshAccess & ma, const Flags & flags); /// virtual void Update(); /// virtual int GetNDof () const; /// virtual int GetNDofLevel (int level) const; /// virtual void GetDofNrs (int elnr, ARRAY & dnums) const; /// virtual void GetSDofNrs (int selnr, ARRAY & dnums) const; /// virtual Table * CreateSmoothingBlocks (int type = 0) const; virtual void VTransformMR (int elnr, bool boundary, FlatMatrix & mat, TRANSFORM_TYPE tt) const; virtual void VTransformMC (int elnr, bool boundary, FlatMatrix & mat, TRANSFORM_TYPE tt) const { ; } virtual void VTransformVR (int elnr, bool boundary, FlatVector & vec, TRANSFORM_TYPE tt) const; virtual void VTransformVC (int elnr, bool boundary, FlatVector & vec, TRANSFORM_TYPE tt) const { ; } void GetTransformationFactors (int elnr, FlatVector<> & fac) const; virtual string GetClassName () const { return "RaviartThomasFESpace"; } }; #endif