Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Examples  

SundanceVectorSpace.h

Go to the documentation of this file.
00001 #ifndef SUNDANCEVECTORSPACE_H
00002 #define SUNDANCEVECTORSPACE_H
00003 
00004 #include "TSFDefs.h"
00005 #include "TSFVectorType.h"
00006 #include "TSFVectorSpaceBase.h"
00007 #include "TSFVector.h"
00008 #include "AbstractFunctionSpace.h"
00009 #include "Defaults.h"
00010 #include <string>
00011 
00012 namespace Sundance
00013 {
00014   using namespace TSF;
00015 
00016   using std::string;
00017 
00018   /** \ingroup VectorSpaceSubtypes
00019    * Base class for vector spaces
00020    */
00021 
00022   class SundanceVectorSpace : public TSFVectorSpaceBase
00023     {
00024     public:
00025       /** */
00026       SundanceVectorSpace(const AbstractFunctionSpace& abstractSpace,
00027                           const TSFVectorType& vectorType
00028                           = Defaults::vectorType());
00029       /** */
00030       SundanceVectorSpace(const Mesh& mesh, const BasisFamily& basis,
00031                           const TSFVectorType& vectorType
00032                           = Defaults::vectorType());
00033       /** */
00034       SundanceVectorSpace(const Mesh& mesh, const BasisFamily& basis,
00035                           const CellSet& domain,
00036                           const TSFVectorType& vectorType
00037                           = Defaults::vectorType());
00038 
00039       /** */
00040       SundanceVectorSpace(const Mesh& mesh, const TSFArray<BasisFamily>& basis,
00041                           const TSFVectorType& vectorType
00042                           = Defaults::vectorType());
00043 
00044       /** */
00045       SundanceVectorSpace(const Mesh& mesh,
00046                           const TSFArray<BasisFamily>& basis,
00047                           const TSFArray<CellSet>& domains,
00048                           const TSFVectorType& vectorType
00049                           = Defaults::vectorType());
00050 
00051       /** the usual virtual dtor */
00052       virtual ~SundanceVectorSpace(){;}
00053 
00054       /** virtual copy ctor */
00055       virtual TSFVectorSpaceBase* deepCopy() const ;
00056 
00057       /** return dimension of space */
00058       virtual int dim() const ;
00059 
00060       /** create a vector that is a member of this space */
00061       virtual TSFVectorBase* createMember(const TSFVectorSpace& handle) const;
00062 
00063       /** test equality */
00064       virtual bool checkEquality(const TSFVectorSpaceBase* other) const ;
00065 
00066       /** write to stream */
00067       virtual void print(ostream& os) const ;
00068 
00069       /** */
00070       const TSFVectorSpace& space() const {return space_;}
00071 
00072       /** */
00073       const AbstractFunctionSpace& abstractSpace() const
00074         {return abstractSpace_;}
00075 
00076       /** */
00077       static const SundanceVectorSpace* getSpace(const TSFVectorSpace& space);
00078 
00079     private:
00080       /* */
00081       AbstractFunctionSpace abstractSpace_;
00082 
00083       /* */
00084       TSFVectorType vectorType_;
00085 
00086       /* */
00087       TSFVectorSpace space_;
00088     };
00089 }
00090 
00091 #endif

Contact:
Kevin Long (krlong@ca.sandia.gov)


Documentation generated by