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

ihelmholtzop.hpp

Go to the documentation of this file.
00001 //************************************************************************************//
00002 // Module       : ihelmholtzop.hpp
00003 // Date         : 7/17/02 (DLR)
00004 // Copyright    : 2002-2006 Copyright University Corporation for Atmospheric
00005 //                Research
00006 // Description  : Encapsulates the methods and data associated with
00007 //                the inverse to the local helmholtz operator
00008 // Derived From : LinOp.
00009 // Modifications:
00010 //************************************************************************************//
00011 #if !defined(IHELMHOLTZOP_HPP)
00012 #define IHELMHOLTZOP_HPP
00013 #include "linop.hpp"
00014 #include "helmholtzop.hpp"
00015 #include "defquad2d.hpp"
00016 #include "rectquad2d.hpp"
00017 #include "diagop.hpp"
00018 
00019 class iHelmholtzOp: public LinOp
00020 {
00021 public:
00022                            iHelmholtzOp();
00023                            iHelmholtzOp(LinOp *A);
00024                            iHelmholtzOp(Elem2D *e);
00025 //                         iHelmholtzOp(const iHelmholtzOp &);
00026                           ~iHelmholtzOp();
00027 
00028          GVector           operator*(GVector) ; // Multiply precond by right-vector
00029          void              OpVec_prod(GVector &q, GVector &ret);
00030          void              SetConst(GDOUBLE clc, GDOUBLE cmc);
00031          void              SetConst(GDOUBLE clc1, GDOUBLE clc2, GDOUBLE cmc);
00032          void              SetElem(Elem2D *e);
00033 
00034 
00035 private:
00036          GBOOL             DefmQuadH();
00037          GBOOL             RectQuadH();
00038          GBOOL             TriangleH();
00039          GBOOL             ComputeOp();
00040 
00041          GINT              N1;     // 1-size 
00042          GINT              N2;     // 2-size 
00043          GINT              NN;     // 1 X 2 - size 
00044          GDOUBLE           lc1;    // Laplacian-multiplicative constant
00045          GDOUBLE           lc2;    // Laplacian-multiplicative constant
00046          GDOUBLE           mc;     // Mass matrix-multiplicative constant
00047          Elem2D           *elem;
00048          GMatrix          *H;
00049          GMatrix          *iH;
00050 
00051 
00052 };
00053 
00054 #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