Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

gnbasis.hpp

Go to the documentation of this file.
00001 //************************************************************************************//
00002 // Module       : gnbasis.hpp
00003 // Date         : 7/9/01 (DLR)
00004 // Copyright    : 2001-2006 Copyright University Corporation for Atmospheric
00005 //                Research
00006 // Description  : Encapsulates the methods and data associated with
00007 //                a spectral element basis. This is a pure virtual class, 
00008 //                intended to form the interface to a general nodal basis object.
00009 // Derived From : none.
00010 // Modifications:
00011 //************************************************************************************//
00012 #if !defined(GNBASIS_HPP)
00013 #define GNBASIS_HPP
00014 #include "gtypes.h"
00015 #include "gtmatrix.hpp"
00016 #include "gtvector.hpp"
00017 
00018 
00019 class GNBasis
00020 {
00021 public:
00022 
00023                                     GNBasis(){};
00024                                     GNBasis(GINT ){};
00025                                     GNBasis(GINT  , GINT ){};
00026                                    ~GNBasis(){};
00027 
00028 //virtual         void              operator=(const GNBasis &)=0;
00029                    
00030   virtual         GDOUBLE           GetXimin ()=0;
00031   virtual         GDOUBLE           GetXimax ()=0; 
00032   virtual         GINT              GetOrder()=0;
00033   virtual         GVector          *GetXiNodes(GVector *)=0;
00034   virtual         GDOUBLE          *GetXiNodes(GDOUBLE   *, GINT  num)=0;
00035   virtual         QVector          *GetXiNodes()=0;
00036   virtual         GVector          *GetWeights(GVector *)=0;
00037   virtual         GDOUBLE          *GetWeights(GDOUBLE   *, GINT  num)=0;
00038   virtual         GMatrix          *GetStiffMatrix(GMatrix *)=0;
00039 //virtual         GMatrix          *GetBasisAtNodes(GMatrix *)=0;
00040   virtual         GMatrix          *GetDerivMatrix(GMatrix *)=0;
00041 //virtual         GDOUBLE          *GetDerivMatrix(GDOUBLE    *, GINT  num)=0;
00042   virtual         void              SetOrder(GINT  )=0;
00043   virtual         GDOUBLE           EvalBasis (GINT  i, GDOUBLE xi)=0;
00044   virtual         GVector          *EvalBasis (GINT  i, GVector *xi, GVector *vret)=0;
00045   virtual         GMatrix          *EvalBasis (GVector *eta, GMatrix *mret)=0;
00046   virtual         GMatrix          *EvalDBasis(GVector *eta, GMatrix *mret)=0;
00047   virtual         GMatrix          *GetLegMatrix(GMatrix *mret)=0;
00048 
00049   virtual         GBOOL             Solve ()=0;
00050 
00051 };
00052 
00053 #endif

Generated on Wed Dec 21 16:00:48 2005 for Geophysics & Astrophysics Spectral Element Adaptive Refinement (GASpAR) 2D Code by  doxygen 1.4.4