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

ParameterBasis.h

Go to the documentation of this file.
00001 #ifndef ParameterBASIS_H
00002 #define ParameterBASIS_H
00003 
00004 #include "SundanceDefs.h"
00005 #include "BasisFamilyBase.h"
00006 
00007 namespace Sundance
00008 {
00009   using namespace TSF;
00010   using std::string;
00011   using std::ostream;
00012 
00013   /** \ingroup LowLevelFE
00014    * Base class for basis functions.
00015    */
00016 
00017   class ParameterBasis : public BasisFamilyBase
00018     {
00019     public:
00020       /** Construct a basis family of a given order. */
00021       ParameterBasis();
00022       /** TUVD */
00023       virtual ~ParameterBasis() {;}
00024 
00025       /**
00026        * assign DOF numbers for a set of function IDs on a specified cell
00027        */
00028       virtual void setNodeNumbers(const Cell& cell,
00029                                   const TSFArray<int>& funcID,
00030                                   TemporaryMapper& tmpMap) const ;
00031 
00032       /** get the DOF numbers for a set of function IDs on a specified
00033        * cell
00034        */
00035       virtual void getNodeNumbers(const Cell& cell,
00036                                   const TSFArray<int>& funcID,
00037                                   TemporaryMapper& tmpMap,
00038                                   TSFArray<TSFArray<int> >& indices) const ;
00039 
00040       /**
00041        * find the DOF list for one of the facets of a specified cell
00042        */
00043       virtual void getFacetDOFs(const Cell& c, int facetDim, int facetIndex,
00044                                 const TSFArray<int>& maximalDOFs,
00045                                 TSFArray<int>& facetDOFs) const ;
00046 
00047       /** evaluate on a set of points given in reference coordinates */
00048       virtual void refEval(const CellTopologyCode& cellType,
00049                            const TSFArray<Point>& pts,
00050                            const MultiIndex& deriv,
00051                            TSFArray<DenseSerialVector>& result) const ;
00052 
00053     protected:
00054 
00055       /** get number of nodes for a point cell */
00056       virtual int nNodesOnPoint() const {return 1;}
00057 
00058       /** get number of nodes for a line cell */
00059       virtual int nNodesOnLine() const {return 1;}
00060 
00061       /** get number of nodes for a triangle cell */
00062       virtual int nNodesOnTriangle() const {return 1;}
00063 
00064       /** get number of nodes for a quad cell  */
00065       virtual int nNodesOnQuad() const {return 1;}
00066 
00067       /** get number of nodes for a tet cell */
00068       virtual int nNodesOnTet() const {return 1;}
00069 
00070       /** get number of nodes for a hex cell */
00071       virtual int nNodesOnBrick() const {return 1;}
00072     };
00073 }
00074 
00075 #endif

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


Documentation generated by