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

gradop.hpp

Go to the documentation of this file.
00001 //************************************************************************************//
00002 // Module       : gradop.hpp
00003 // Date         : 6/4/02 (DLR)
00004 // Copyright    : 2002-2006 Copyright University Corporation for Atmospheric
00005 //                Research
00006 // Description  : Encapsulates the methods and data associated with
00007 //                defining a (collocated) gradient operator object
00008 // Derived From : LinOp.
00009 // Modifications:
00010 //************************************************************************************//
00011 #if !defined(GRADOP_HPP)
00012 #define GRADOP_HPP 
00013 #if (defined(GRAD_LEVEL0_TIMING)||defined(GRAD_LEVEL1_TIMING)||defined(GRAD_LEVEL2_TIMING)||defined(GRAD_LEVEL3_TIMING))
00014 #define DO_GRAD_TIMING
00015 #endif
00016 
00017 #include "gtvector.hpp"
00018 #include "elem2d.hpp"
00019 #include "timer.h"
00020 
00021 
00022 class GradOp
00023 {
00024 public:
00025                            GradOp();
00026                            GradOp(Elem2D *e, GVector *v);
00027                           ~GradOp();
00028 
00029          GVector           Grad(const GINT  idir);   // Full gradient in direction idir              
00030          void              Grad(const GINT  idir, GVector &vret);   
00031          GVector           pGrad(const GINT  idir);  // Gradient in parent domain direction idir                
00032          void              pGrad(const GINT  idir,GVector &vret); 
00033          void              SetVar(GVector *v, GBOOL resize);
00034          void              SetElem(Elem2D *e);
00035 
00036 #if defined(DO_GRAD_TIMING)
00037         GDOUBLE              GetTime(){return time_result;}
00038 #endif
00039 private:
00040          GBOOL             DefmQuadOp(GVector *newx, const GINT  idir);
00041          GBOOL             RectQuadOp(GVector *newx, const GINT  idir);
00042          GBOOL             TriangleOp(GVector *newx, const GINT  idir);
00043 
00044 
00045          Elem2D            *elem; // geometric element
00046          GVector           *var;  // variable whose gradient we seek
00047          GVector           *vn ;  // return vector
00048          GVector           *vt ;  // temporary vector
00049 #if defined(DO_GRAD_TIMING)
00050          GDOUBLE             time_result;
00051 #endif
00052 
00053 
00054 
00055 };
00056 
00057 #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